| .TH APLAY 1 "1 January 2010" |
| .SH NAME |
| arecord, aplay \- command-line sound recorder and player for ALSA |
| soundcard driver |
| .SH SYNOPSIS |
| \fBarecord\fP [\fIflags\fP] [filename] |
| .br |
| \fBaplay\fP [\fIflags\fP] [filename [filename]] ... |
| |
| .SH DESCRIPTION |
| \fBarecord\fP is a command-line soundfile recorder for the ALSA soundcard |
| driver. It supports several file formats and multiple soundcards with |
| multiple devices. If recording with interleaved mode samples the file is |
| automatically split before the 2GB filesize. |
| |
| \fBaplay\fP is much the same, only it plays instead of recording. For |
| supported soundfile formats, the sampling rate, bit depth, and so |
| forth can be automatically determined from the soundfile header. |
| |
| If filename is not specified, the standard output or input is used. The \fBaplay\fP utility accepts multiple filenames. |
| |
| .SH OPTIONS |
| .TP |
| \fI\-h, \-\-help\fP |
| Help: show syntax. |
| .TP |
| \fI\-\-version\fP |
| Print current version. |
| .TP |
| \fI\-l, \-\-list\-devices\fP |
| List all soundcards and digital audio devices |
| .TP |
| \fI\-L, \-\-list\-pcms\fP |
| List all PCMs defined |
| .TP |
| \fI\-D, \-\-device=NAME\fP |
| Select PCM by name |
| .TP |
| \fI\-q \-\-quiet\fP |
| Quiet mode. Suppress messages (not sound :)) |
| .TP |
| \fI\-t, \-\-file\-type TYPE\fP |
| File type (voc, wav, raw or au). |
| If this parameter is omitted the WAVE format is used. |
| .TP |
| \fI\-c, \-\-channels=#\fP |
| The number of channels. |
| The default is one channel. |
| Valid values are 1 through 32. |
| .TP |
| \fI\-f \-\-format=FORMAT\fP |
| Sample format |
| .br |
| Recognized sample formats are: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE |
| S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE |
| FLOAT64_LE FLOAT64_BE IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW |
| A_LAW IMA_ADPCM MPEG GSM SPECIAL S24_3LE S24_3BE U24_3LE U24_3BE S20_3LE |
| S20_3BE U20_3LE U20_3BE S18_3LE S18_3BE U18_3LE |
| .br |
| Some of these may not be available on selected hardware |
| .br |
| The available format shortcuts are: |
| .nf |
| \-f cd (16 bit little endian, 44100, stereo) [\-f S16_LE \-c2 \-r44100] |
| \-f cdr (16 bit big endian, 44100, stereo) [\-f S16_BE \-c2 \-f44100] |
| \-f dat (16 bit little endian, 48000, stereo) [\-f S16_LE \-c2 \-r48000] |
| .fi |
| If no format is given U8 is used. |
| .TP |
| \fI\-r, \-\-rate=#<Hz>\fP |
| Sampling rate in Hertz. The default rate is 8000 Hertz. |
| If the value specified is less than 300, it is taken as the rate in kilohertz. |
| Valid values are 2000 through 192000 Hertz. |
| .TP |
| \fI\-d, \-\-duration=#\fP |
| Interrupt after # seconds. |
| A value of zero means infinity. |
| The default is zero, so if this option is omitted then the arecord process will run until it is killed. |
| .TP |
| \fI\-s, \-\-sleep\-min=#\fP |
| Min ticks to sleep. The default is not to sleep. |
| .TP |
| \fI\-M, \-\-mmap\fP |
| Use memory-mapped (mmap) I/O mode for the audio stream. |
| If this option is not set, the read/write I/O mode will be used. |
| .TP |
| \fI\-N, \-\-nonblock\fP |
| Open the audio device in non-blocking mode. If the device is busy the program will exit immediately. |
| If this option is not set the program will block until the audio device is available again. |
| .TP |
| \fI\-F, \-\-period\-time=#\fP |
| Distance between interrupts is # microseconds. |
| If no period time and no period size is given then a quarter of the buffer time is set. |
| .TP |
| \fI\-B, \-\-buffer\-time=#\fP |
| Buffer duration is # microseconds |
| If no buffer time and no buffer size is given then the maximal allowed buffer time but not more than 500ms is set. |
| .TP |
| \fI\-\-period\-size=#\fP |
| Distance between interrupts is # frames |
| If no period size and no period time is given then a quarter of the buffer size is set. |
| .TP |
| \fI\-\-buffer\-size=#\fP |
| Buffer duration is # frames |
| If no buffer time and no buffer size is given then the maximal allowed buffer time but not more than 500ms is set. |
| .TP |
| \fI\-A, \-\-avail\-min=#\fP |
| Min available space for wakeup is # microseconds |
| .TP |
| \fI\-R, \-\-start\-delay=#\fP |
| Delay for automatic PCM start is # microseconds |
| (relative to buffer size if <= 0) |
| .TP |
| \fI\-T, \-\-stop\-delay=#\fP |
| Delay for automatic PCM stop is # microseconds from xrun |
| .TP |
| \fI\-v, \-\-verbose\fP |
| Show PCM structure and setup. |
| This option is accumulative. The VU meter is displayed when this |
| is given twice or three times. |
| .TP |
| \fI\-V, \-\-vumeter=TYPE\fP |
| Specifies the VU-meter type, either \fIstereo\fP or \fImono\fP. |
| The stereo VU-meter is available only for 2-channel stereo samples |
| with interleaved format. |
| .TP |
| \fI\-I, \-\-separate\-channels\fP |
| One file for each channel. This option disables max\-file\-time |
| and use\-strftime, and ignores SIGUSR1. The stereo VU meter is |
| not available with separate channels. |
| .TP |
| \fI\-P\fP |
| Playback. This is the default if the program is invoked |
| by typing aplay. |
| .TP |
| \fI\-C\fP |
| Record. This is the default if the program is invoked |
| by typing arecord. |
| .TP |
| \fI\-i, \-\-interactive\fP |
| Allow interactive operation via stdin. |
| Currently only pause/resume via space or enter key is implemented. |
| .TP |
| \fI\-\-disable\-resample\fP |
| Disable automatic rate resample. |
| .TP |
| \fI\-\-disable\-channels\fP |
| Disable automatic channel conversions. |
| .TP |
| \fI\-\-disable\-format\fP |
| Disable automatic format conversions. |
| .TP |
| \fI\-\-disable\-softvol\fP |
| Disable software volume control (softvol). |
| .TP |
| \fI\-\-test\-position\fP |
| Test ring buffer position. |
| .TP |
| \fI\-\-test\-coef=<coef>\fP |
| Test coefficient for ring buffer position; default is 8. |
| Expression for validation is: coef * (buffer_size / 2). |
| Minimum value is 1. |
| .TP |
| \fI\-\-test\-nowait\fP |
| Do not wait for the ring buffer--eats the whole CPU. |
| .TP |
| \fI\-\-max\-file\-time\fP |
| While recording, when the output file has been accumulating |
| sound for this long, |
| close it and open a new output file. Default is the maximum |
| size supported by the file format: 2 GiB for WAV files. |
| This option has no effect if \-\-separate\-channels is |
| specified. |
| .TP |
| \fI\-\-process\-id\-file <file name>\fP |
| aplay writes its process ID here, so other programs can |
| send signals to it. |
| .TP |
| \fI\-\-use\-strftime\fP |
| When recording, interpret %-codes in the file name parameter using |
| the strftime facility whenever the output file is opened. The |
| important strftime codes are: %Y is the year, %m month, %d day of |
| the month, %H hour, %M minute and %S second. In addition, %v is |
| the file number, starting at 1. When this option is specified, |
| intermediate directories for the output file are created automatically. |
| This option has no effect if \-\-separate\-channels is specified. |
| |
| .SH SIGNALS |
| When recording, SIGINT, SIGTERM and SIGABRT will close the output |
| file and exit. SIGUSR1 will close the output file, open a new one, |
| and continue recording. However, SIGUSR1 does not work with |
| \-\-separate\-channels. |
| |
| .SH EXAMPLES |
| |
| .TP |
| \fBaplay \-c 1 \-t raw \-r 22050 \-f mu_law foobar\fR |
| will play the raw file "foobar" as a |
| 22050-Hz, mono, 8-bit, Mu-Law .au file. |
| |
| .TP |
| \fBarecord \-d 10 \-f cd \-t wav \-D copy foobar.wav\fP |
| will record foobar.wav as a 10-second, CD-quality wave file, using the |
| PCM "copy" (which might be defined in the user's .asoundrc file as: |
| .nf |
| pcm.copy { |
| type plug |
| slave { |
| pcm hw |
| } |
| route_policy copy |
| } |
| .fi |
| |
| .TP |
| \fBarecord \-t wav \-max-file_time 30 mon.wav\fP |
| Record from the default audio source in monaural, 8,000 samples |
| per second, 8 bits per sample. Start a new file every |
| 30 seconds. File names are mon-nn.wav, where nn increases |
| from 01. The file after mon-99.wav is mon-100.wav. |
| |
| .TP |
| \fBarecord \-f cd \-t wav \-max-file-time 3600 --use-strftime %Y/%m/%d/listen-%H-%M-%v.wav\fP |
| Record in stereo from the default audio source. Create a new file |
| every hour. The files are placed in directories based on their start dates |
| and have names which include their start times and file numbers. |
| |
| .SH SEE ALSO |
| \fB |
| alsamixer(1), |
| amixer(1) |
| \fP |
| |
| .SH BUGS |
| Note that .aiff files are not currently supported. |
| |
| .SH AUTHOR |
| \fBarecord\fP and \fBaplay\fP are by Jaroslav Kysela <perex@perex.cz> |
| This document is by Paul Winkler <zarmzarm@erols.com>. |
| Updated for Alsa 0.9 by James Tappin <james@xena.uklinux.net> |
| |