Difference between revisions of "audio notes"

From Noah.org
Jump to: navigation, search
m
m (Create a spectrogram of an audio file)
Line 2: Line 2:
  
 
The '''rate 6k''' option will narrow the frequency range view to the band most sensitive for human hearing. This cuts off frequencies above 3 kHz (half the sample rate of 6k). If you want the full frequency range then leave off the '''rate 6k''' option.
 
The '''rate 6k''' option will narrow the frequency range view to the band most sensitive for human hearing. This cuts off frequencies above 3 kHz (half the sample rate of 6k). If you want the full frequency range then leave off the '''rate 6k''' option.
 +
 +
The '''-n''' is the NULL file option. This simply tells Sox that we don't want to actually create a new sound file. We are just analyzing the input file.
 +
 
<pre>
 
<pre>
 
sox audio_recording.wav -n rate 6k spectrogram -t "Spectrogram of audio_recording.wav" -o spectrogram_20150531.png
 
sox audio_recording.wav -n rate 6k spectrogram -t "Spectrogram of audio_recording.wav" -o spectrogram_20150531.png

Revision as of 04:16, 31 May 2015

Create a spectrogram of an audio file

The rate 6k option will narrow the frequency range view to the band most sensitive for human hearing. This cuts off frequencies above 3 kHz (half the sample rate of 6k). If you want the full frequency range then leave off the rate 6k option.

The -n is the NULL file option. This simply tells Sox that we don't want to actually create a new sound file. We are just analyzing the input file.

sox audio_recording.wav -n rate 6k spectrogram -t "Spectrogram of audio_recording.wav" -o spectrogram_20150531.png
# For a white background use '-l' option:
sox audio_recording.wav -n rate 6k spectrogram -l -t "Spectrogram of audio_recording.wav" -o spectrogram_20150531.png

Record audio from the microphone

arecord -vv -fdat recording.wav 

Using Sox (this works on OS X). This splits on silent gaps:

rec -r 44100 -b 16 -s -p silence 1 0.50 0.1% 1 10:00 0.1% \
    | sox -p audio_recording.wav silence 1 0.50 0.1% 1 2.0 0.1% :  newfile : restart

Playback audio OX X using Sox

Note that where an output filename is require you may substitute -d or -t coreaudio (for Mac OS X). These seem to be equivalent. The -d option seems to be the more general purpose style since it will automatically pick the correct sound output on a Mac and Linux.

Both examples below play audio and both will automatically detect the audio stream type. The play command is the easier to remember version. You may have special reasons for wanting to use the sox command alternative.

play audio_recording.wav
cat audio_recording.wav | sox - -t coreaudio

Play noise

These are all equivalent using /dev/urandom.

# From a file or device file.
sox -t raw -r 44100 -b 16 -e unsigned-integer /dev/urandom -d
sox -t raw -r 44100 -b 16 -e unsigned-integer /dev/urandom -t coreaudio
# Using a pipe...
cat /dev/urandom | sox -t raw -r 44100 -b 16 -e unsigned-integer - -d
cat /dev/urandom | sox -t raw -r 44100 -b 16 -e unsigned-integer - -t coreaudio

This uses Sox's built-in noise generator:

play -n synth whitenoise