AUDIORECORD(1) | General Commands Manual | AUDIORECORD(1)

# NAME

`audiorecord` —
record audio files

# SYNOPSIS

`audiorecord` | [`-afhqV`] [`-B` buffersize] [`-b` balance] [`-c` channels] [`-d` device] [`-e` encoding] [`-F` format] [`-i` info] [`-m` monvol] [`-P` precision] [`-p` port] [`-s` rate] [`-t` time] [`-v` volume] file

# DESCRIPTION

The `audiorecord` program copies the audio device to the named audiofile or, if the file name is -, to the standard output.

The output file will contain either a Sun/NeXT audio header, a RIFF/WAVE audio header or no header at all. Sun output files using a linear PCM encoding are written with big-endian signed samples, possibly after converting these from little-endian or unsigned samples. RIFF/WAVE files are written in little-endian, signed samples, also converting if necessary. The default output is Sun/NeXT format, but if the output file file ends with a .wav file extension it will be written as RIFF/WAVE.

# OPTIONS

The following options are available:

`-a`
  Append to the specified file, rather than overwriting.
`-B` buffersize
  Set the audio device read buffer size to buffersize. The default value is the record.buffer_size of the audio device.
`-b` balance
  Set the balance to balance. This value must be between 0 and 63.
`-c` channels
  Set number of channels to channels.
`-d` device
  Set the audio device to be device. The default is /dev/sound.
`-e` encoding
  Set encoding to either “alaw”, “ulaw”, or “linear”, or any other value reported by `audioctl encodings`. The default encoding is “ulaw”. If the output format is “sun”, the file will contain slinear_be samples, if it is “wav”, then slinear_le, independent of the argument to `-e`. Setting the argument to `-e` still may be important since it is used in an ioctl(2) call to the kernel to choose the kind of data provided.
`-F` format
  Set the output header format to format. Currently supported formats are “sun”, “wav”, and “none” for Sun/NeXT audio, WAV, and no header, respectively.
`-f`
  Force. Normally when appending to audiofiles using the `-a` option, the sample rates must match. The `-f` option will allow a discrepancy to be ignored.
`-h`
  Print a help message.
`-i` info
  If supported by the `-F` format, add the string info to the output header.
`-m` monvol
  Set the monitor volume.
`-P` precision
  Set the precision. This value is the number of bits per sample, and is normally either “8” or “16”, though the values “4”, “24”, and “32” are also valid.
`-p` port
  Set the input port to port. The valid values of port are “cd”, “internal-cd”, “mic”, and “line”.
`-q`
  Be quiet.
`-s` rate
  Set the sampling rate. This value is per-second. Typical values are 8000, 44100, and 48000, which are the telephone, CD Audio, and DAT Audio default sampling rates.
`-t` time
  Sets the maximum amount of time to record. Format is [hh:]mm:ss[.dddddd].
`-V`
  Be verbose.
`-v` volume
  Set the volume (gain) to volume. This value must be between 0 and 255.

# ENVIRONMENT

AUDIOCTLDEVICE
  the audio control device to be used.
AUDIODEVICE
  the audio device to be used.

# EXAMPLES

Record CD quality audio to a WAVE file:
`audiorecord -c 2 -e slinear_le -P 16 -s 44100 recording.wav`

# SEE ALSO

audioctl(1), audioplay(1), aria(4), audio(4), auich(4), autri(4), auvia(4), clcs(4), clct(4), cmpci(4), eap(4), emuxki(4), esm(4), eso(4), ess(4), fms(4), gus(4), guspnp(4), neo(4), sb(4), sparc/audioamd(4), sv(4), wss(4), yds(4), ym(4)

# HISTORY

The `audiorecord` program was first seen in SunOS 5. It was first made available in NetBSD 1.4. RIFF/WAVE support, and support for converting signed/unsigned and big/little-endian samples was first made available in NetBSD 1.6.

# AUTHORS

The `audiorecord` program was written by Matthew R. Green <mrg@eterna23.net>.

# BUGS

WAV big-endian samples are converted to little-endian, rather than a RIFX header being written.

March 25, 2021 | NetBSD 10.1