audiorecord - record an audio file

audiorecord [-af] [-v vol] [-c channels] [-s rate]
     [-e encoding] [-t time] [-i info] [-d dev]
     [-T au|aif[f]|wav] [file[.au|.aif[f]|.wav]]

The audiorecord utility copies audio data from the audio device to a named audio file, or to the standard output if no filename is present. If no output file is specified and standard output is a tty, the program exits with an error message.

By default, monaural audio data is recorded at 8 kHz and encoded in u-law format. If the audio device supports additional configurations, the -c, -s, and -e options may be used to specify the data format. The output file is prefixed by an audio file header that identifies the format of the data encoded in the file.

Recording begins immediately and continues until a SIGINT signal (for example, Control-c) is received. If the -t option is specified, audiorecord stops when the specified quantity of data has been recorded.

If the audio device is unavailable, that is, if another process currently has read access, audiorecord prints an error message and exits immediately.

The following options are supported:


Help: Prints a command line usage message.


Append: Appends the data on the end of the named audio file. The audio device must support the audio data format of the existing file.

-c channels

Channels: Specifies the number of audio channels (1 or 2). The value may be specified as an integer or as the string mono or stereo. The default value is mono.

-d dev

Device: The dev argument specifies an alternate audio device from which input should be taken. If the -d option is not specified, the AUDIODEV environment variable is consulted (see below). Otherwise, /dev/audio is used as the default audio device.

-e encoding

Encoding: Specifies the audio data encoding. This value may be one of ulaw, alaw, or linear. The default encoding is ulaw.


Force: When the -a flag is specified, the sample rate of the audio device must match the sample rate at which the original file was recorded. If the -f flag is also specified, sample rate differences are ignored, with a warning message printed on the standard error.

-i info

Information: The `information' field of the output file header is set to the string specified by the info argument. This option cannot be specified in conjunction with the -a argument.

-s rate

Sample Rate: Specifies the sample rate, in samples per second. If a number is followed by the letter k, it is multiplied by 1000 (for example, 44.1k = 44100). The default sample rate is 8 kHz.

-t time

Time: The time argument specifies the maximum length of time to record. Time can be specified as a floating-point value, indicating the number of seconds, or in the form: hh:mm:ss.dd, where the hour and minute specifications are optional.

-T au | aif[f] | wav

Specifies the audio file type to create. If the -a option is used, the file type must match the file to which it is being appended. Regardless of the file suffix, the type is set as specified in this option. If this option is not specified, the file suffix determines the type.

-v vol

Volume: The recording gain is set to the specified value before recording begins, and is reset to its previous level when audiorecord exits. The vol argument is an integer value between 0 and 100, inclusive. If this argument is not specified, the input volume remains at the level most recently set by any process.


File Specification: The named audio file is rewritten, or appended. If no filename is present, and standard output is not a tty, or if the special filename "" is specified, output is directed to the standard output.

If the -T option is not specified, the file suffix determines the type of file. If the suffix is not recognized, the default is .au. If the -T option is specified, that file type is used regardless of the file suffix.

See largefile(5) for the description of the behavior of audiorecord when encountering files greater than or equal to 2 Gbyte (2^31 bytes).

The full path name of the audio device to record from, if no -d argument is supplied. If the AUDIODEV variable is not set, /dev/audio is used.

audioconvert(1), audioplay(1), largefile(5), audio(7I)
February 8, 2020