Imported Upstream version 1.0.28
[platform/upstream/alsa-utils.git] / alsaloop / alsaloop.1
1 .TH ALSALOOP 1 "5 Aug 2010"
2 .SH NAME
3 alsaloop \- command\-line PCM loopback
4 .SH SYNOPSIS
5 \fBalsaloop\fP [\fI\-option\fP] [\fIcmd\fP]
6 .SH DESCRIPTION
7
8 \fBalsaloop\fP allows create a PCM loopback between a PCM capture device
9 and a PCM playback device.
10
11 \fBalsaloop\fP supports multiple soundcards, adaptive clock synchronization,
12 adaptive rate resampling using the samplerate library (if available in
13 the system). Also, mixer controls can be redirected from one card to
14 another (for example Master and PCM).
15
16 .SH OPTIONS
17
18 .TP
19 \fI\-h\fP | \fI\-\-help\fP
20
21 Prints the help information.
22
23 .TP
24 \fI\-g <file>\fP | \fI\-\-config=<file>\fP
25
26 Use given configuration file. The syntax of this file is simple: one line
27 contains the command line options for one job. The '#' means comment and
28 rest of line is ignored. Example:
29
30   # First line \- comment, second line \- first job
31   \-C hw:1,0 \-P hw:0,0 \-t 50000 \-T 1
32   # Third line \- comment, fourth line \- second job
33   \-C hw:1,1 \-P hw:0,1 \-t 40000 \-T 2
34
35 .TP
36 \fI\-d\fP | \fI\-\-daemonize\fP
37
38 Daemonize the main process and use syslog for messages.
39
40 .TP
41 \fI\-P <device>\fP | \fI\-\-pdevice=<device>\fP
42
43 Use given playback device.
44
45 .TP
46 \fI\-C <device>\fP | \fI\-\-cdevice=<device>\fP
47
48 Use given capture device.
49
50 .TP
51 \fI\-X <device>\fP | \fI\-\-pctl=<device>\fP
52
53 Use given CTL device for playback.
54
55 .TP
56 \fI\-Y <device>\fP | \fI\-\-cctl=<device>\fP
57
58 Use given CTL device for capture.
59
60 .TP
61 \fI\-l <latency>\fP | \fI\-\-latency=<frames>\fP
62
63 Requested latency in frames.
64
65 .TP
66 \fI\-t <usec>\fP | \fI\-\-tlatency=<usec>\fP
67
68 Requested latency in usec (1/1000000sec).
69
70 .TP
71 \fI\-f <format>\fP | \fI\-\-format=<format>\fP
72
73 Format specification (usually S16_LE S32_LE). Use \-h to list all formats.
74 Default format is S16_LE.
75
76 .TP
77 \fI\-c <channels>\fP | \fI\-\-channels=<channels>\fP
78
79 Channel count specification. Default value is 2.
80
81 .TP
82 \fI\-c <rate>\fP | \fI\-\-rate=<rate>\fP
83
84 Rate specification. Default value is 48000 (Hz).
85
86 .TP
87 \fI\-n\fP | \fI\-\-resample\fP
88
89 Allow rate resampling using alsa\-lib.
90
91 .TP
92 \fI\-A <converter>\fP | \fI\-\-samplerate=<converter>\fP
93
94 Use libsamplerate and choose a converter:
95
96   0 or sincbest     \- best quality
97   1 or sincmedium   \- medium quality
98   2 or sincfastest  \- lowest quality
99   3 or zerohold     \- hold zero samples
100   4 or linear       \- worst quality - linear resampling
101   5 or auto         \- choose best method
102
103 .TP
104 \fI\-B <size>\fP | \fI\-\-buffer=<size>\fP
105
106 Buffer size in frames.
107
108 .TP
109 \fI\-E <size>\fP | \fI\-\-period=<size>\fP
110
111 Period size in frames.
112
113 .TP
114 \fI\-s <secs>\fP | \fI\-\-seconds=<secs>\fP
115
116 Duration of loop in seconds.
117
118 .TP
119 \fI\-b\fP | \fI\-\-nblock\fP
120
121 Non\-block mode (very early process wakeup). Eats more CPU.
122
123 .TP
124 \fI\-S <mode>\fP | \fI\-\-sync=<mode>\fP
125
126 Sync mode specification for capture to playback stream:
127   0 or none       \- do not touch the stream
128   1 or simple     \- add or remove samples to keep
129                     both streams synchronized
130   2 or captshift  \- use driver for the capture device
131                     (if supported) to compensate
132                     the rate shift
133   3 or playshift  \- use driver for the playback device
134                     (if supported) to compensate
135                     the rate shift
136   4 or samplerate \- use samplerate library to do rate resampling
137   5 or auto       \- automatically selects the best method
138                     in this order: captshift, playshift,
139                     samplerate, simple
140
141 .TP
142 \fI\-T <num>\fP | \fI\-\-thread=<num>\fP
143
144 Thread number (\-1 means create a unique thread). All jobs with same
145 thread numbers are run within one thread.
146
147 .TP
148 \fI\-m <mixid>\fP | \fI\-\-mixer=<midid>\fP
149
150 Redirect mixer control from the playback card to the capture card. Format of
151 \fImixid\fP is SRCID(PLAYBACK)[@DSTID(PLAYBACK)]:
152
153   "name='Master Playback Switch'@name='Another Switch'"
154   "name='PCM Playback Volume'"
155
156 Known attributes:
157
158   name      \- control ID name
159   index     \- control ID index
160   device    \- control ID device
161   subdevice \- control ID subdevice
162   iface     \- control ID interface
163   numid     \- control ID numid
164
165 .TP
166 \fI\-O <ossmixid>\fP | \fI\-\-ossmixer=<midid>\fP
167
168 Redirect mixer control from the OSS Mixer emulation layer (capture card)
169 to the ALSA layer (capture card). Format of \fIossmixid\fP is
170 ALSAID[,INDEX]@OSSID:
171
172   "Master@VOLUME"
173   "PCM,1@ALTPCM"
174
175 Known OSS attributes:
176
177   VOLUME, BASS, TREBLE, SYNTH, PCM, SPEAKER, LINE, MIC, CD, IMIX, ALTPCM,
178   RECLEV, IGAIN, OGAIN, LINE1, LINE2, LINE3, DIGITAL1, DIGITAL2, DIGITAL3,
179   PHONEIN, PHONEOUT, VIDEO, RADIO, MONITOR
180
181 .TP
182 \fI\-v\fP | \fI\-\-verbose\fP
183
184 Verbose mode. Use multiple times to increase verbosity.
185
186
187 .TP
188 \fI\-U\fP | \fI\-\-xrun\fP
189
190 Verbose xrun profiling.
191
192 .TP
193 \fI\-W <timeout>\fP | \fI\-\-wake=<timeout>\fP
194
195 Set process wake timeout.
196
197 .SH EXAMPLES
198
199 .TP
200 \fBalsaloop \-C hw:0,0 \-P hw:1,0 \-t 50000\fR
201
202 .SH BUGS
203 None known.
204 .SH AUTHOR
205 \fBalsaloop\fP is by Jaroslav Kysela <perex@perex.cz>.
206 This document is by Jaroslav Kysela <perex@perex.cz>.