SoX

From XPUB & Lens-Based wiki

sox (Sound Exchange) is a handy command line tool for generating, manipulating, and applying simple filters to audio.

Displaying information about an audio file

sox -V clap.wav -n

displays in my case...

sox: SoX v14.0.1

Input File     : 'clap.wav'
Sample Size    : 16-bit (2 bytes)
Sample Encoding: signed (2's complement)
Channels       : 1
Sample Rate    : 44100
Duration       : 00:00.50 = 22050 samples = 37.5 CDDA sectors
Endian Type    : little
Reverse Nibbles: no
Reverse Bits   : no

Generating tones or noise

sox -c1 -r8000 -n -t wav - synth 0.25 sine 220 vol 0.7 > beep.wav
sox -c1 -r8000 -n -t wav - synth 0.25 sine 220-440 vol 0.7 > sweep_up.wav
sox -c1 -r8000 -n -t wav - synth 0.25 sine 440-220 vol 0.7 > sweep_down.wav
sox -c1 -r8000 -n -t wav - synth 0.25 noise vol 0.7 > ch.wav
sox -c1 -r8000 -n -t wav - synth 2.0 sine 220-1000 vol 0.7 > sweep_up_long.wav
sox -c1 -r8000 -n -t wav - synth 2.0 sine 1000-220 vol 0.7 > sweep_down_long.wav

sox -c1 -r8000 -n -t wav - synth 0.5 square 330 vol 0.7 > bleep.wav

Working with "raw audio"

Working with raw files allows audio to get appended together; here sox is used to take a bunch of wavs, make them raw, send them all to stdout, the repackage them as a wav file.

(for file in *; do sox "$file" -t .raw -r 44100 -sw -c 2 -; done) | \
  sox -t .raw -r 44100 -sw -c 2 - -t .wav newfile.wav

source: [1]

Resources