mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-11-08 17:08:24 +01:00
d67a965aec
The recent addition of pause/resume control via keyboard brought a problem when aplay/arecord is invoked in background. For avoiding regressions, it's safer to use non-interactive mode as default and enable the new feature via an option. Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
241 lines
7.8 KiB
Groff
241 lines
7.8 KiB
Groff
.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>
|
|
|