How can I record sound from the windows command line?

rec is no longer provided in the SoX Windows package. Instead you can use this command line:

sox -t waveaudio -d new-file.wav

You can use SoX package.

rec recorded_track.wav 00:05

Records for 5 minutes.

More documentation on SoX manpage.


To record sound using command line on Windows you can use fmedia:

fmedia --record --out=Recording.wav

You can stop recording at any time by pressing Ctrl+C.

While recording, fmedia shows how loud the signal is, for example:

g:\fmedia>fmedia --record --out=myrec.flac
fmedia v0.10
0:19  [========..] -7.89dB / -1.31dB

Supported formats are WAV, FLAC, OGG and MP3. Output to WAV is the fastest. However, FLAC compression is quite fast too, so you probably won't notice any difference in CPU usage.


If you want to capture sound from a specific device (not just the default one):

Step 1. Use --list-dev switch to show all available devices.

Step 2. Pick a device you want to use and call fmedia with --dev-capture argument.

For example, start recording from a specific device - Microphone:

C:\>fmedia --list-dev
fmedia v0.10
Playback:
device #1: Realtek Digital Output (Realtek High Definition Audio)
device #2: Speakers (Realtek High Definition Audio)

Capture:
device #1: Stereo Mix (Realtek High Definition Audio)
device #2: Microphone (Realtek High Definition Audio)
device #3: Line In (Realtek High Definition Audio)

C:\>fmedia --record --out=Recording.wav --dev-capture=2