Blame alsaloop/alsaloop.1

Packit 229ac0
.TH ALSALOOP 1 "5 Aug 2010"
Packit 229ac0
.SH NAME
Packit 229ac0
alsaloop \- command\-line PCM loopback
Packit 229ac0
.SH SYNOPSIS
Packit 229ac0
\fBalsaloop\fP [\fI\-option\fP] [\fIcmd\fP]
Packit 229ac0
.SH DESCRIPTION
Packit 229ac0
Packit 229ac0
\fBalsaloop\fP allows create a PCM loopback between a PCM capture device
Packit 229ac0
and a PCM playback device.
Packit 229ac0
Packit 229ac0
\fBalsaloop\fP supports multiple soundcards, adaptive clock synchronization,
Packit 229ac0
adaptive rate resampling using the samplerate library (if available in
Packit 229ac0
the system). Also, mixer controls can be redirected from one card to
Packit 229ac0
another (for example Master and PCM).
Packit 229ac0
Packit 229ac0
.SH OPTIONS
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-h\fP | \fI\-\-help\fP
Packit 229ac0
Packit 229ac0
Prints the help information.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-g <file>\fP | \fI\-\-config=<file>\fP
Packit 229ac0
Packit 229ac0
Use given configuration file. The syntax of this file is simple: one line
Packit 229ac0
contains the command line options for one job. The '#' means comment and
Packit 229ac0
rest of line is ignored. Example:
Packit 229ac0
Packit 229ac0
  # First line \- comment, second line \- first job
Packit 229ac0
  \-C hw:1,0 \-P hw:0,0 \-t 50000 \-T 1
Packit 229ac0
  # Third line \- comment, fourth line \- second job
Packit 229ac0
  \-C hw:1,1 \-P hw:0,1 \-t 40000 \-T 2
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-d\fP | \fI\-\-daemonize\fP
Packit 229ac0
Packit 229ac0
Daemonize the main process and use syslog for messages.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-P <device>\fP | \fI\-\-pdevice=<device>\fP
Packit 229ac0
Packit 229ac0
Use given playback device.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-C <device>\fP | \fI\-\-cdevice=<device>\fP
Packit 229ac0
Packit 229ac0
Use given capture device.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-X <device>\fP | \fI\-\-pctl=<device>\fP
Packit 229ac0
Packit 229ac0
Use given CTL device for playback.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-Y <device>\fP | \fI\-\-cctl=<device>\fP
Packit 229ac0
Packit 229ac0
Use given CTL device for capture.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-l <latency>\fP | \fI\-\-latency=<frames>\fP
Packit 229ac0
Packit 229ac0
Requested latency in frames.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-t <usec>\fP | \fI\-\-tlatency=<usec>\fP
Packit 229ac0
Packit 229ac0
Requested latency in usec (1/1000000sec).
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-f <format>\fP | \fI\-\-format=<format>\fP
Packit 229ac0
Packit 229ac0
Format specification (usually S16_LE S32_LE). Use \-h to list all formats.
Packit 229ac0
Default format is S16_LE.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-c <channels>\fP | \fI\-\-channels=<channels>\fP
Packit 229ac0
Packit 229ac0
Channel count specification. Default value is 2.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-c <rate>\fP | \fI\-\-rate=<rate>\fP
Packit 229ac0
Packit 229ac0
Rate specification. Default value is 48000 (Hz).
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-n\fP | \fI\-\-resample\fP
Packit 229ac0
Packit 229ac0
Allow rate resampling using alsa\-lib.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-A <converter>\fP | \fI\-\-samplerate=<converter>\fP
Packit 229ac0
Packit 229ac0
Use libsamplerate and choose a converter:
Packit 229ac0
Packit 229ac0
  0 or sincbest     \- best quality
Packit 229ac0
  1 or sincmedium   \- medium quality
Packit 229ac0
  2 or sincfastest  \- lowest quality
Packit 229ac0
  3 or zerohold     \- hold zero samples
Packit 229ac0
  4 or linear       \- worst quality - linear resampling
Packit 229ac0
  5 or auto         \- choose best method
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-B <size>\fP | \fI\-\-buffer=<size>\fP
Packit 229ac0
Packit 229ac0
Buffer size in frames.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-E <size>\fP | \fI\-\-period=<size>\fP
Packit 229ac0
Packit 229ac0
Period size in frames.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-s <secs>\fP | \fI\-\-seconds=<secs>\fP
Packit 229ac0
Packit 229ac0
Duration of loop in seconds.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-b\fP | \fI\-\-nblock\fP
Packit 229ac0
Packit 229ac0
Non\-block mode (very early process wakeup). Eats more CPU.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-S <mode>\fP | \fI\-\-sync=<mode>\fP
Packit 229ac0
Packit 229ac0
Sync mode specification for capture to playback stream:
Packit 229ac0
  0 or none       \- do not touch the stream
Packit 229ac0
  1 or simple     \- add or remove samples to keep
Packit 229ac0
                    both streams synchronized
Packit 229ac0
  2 or captshift  \- use driver for the capture device
Packit 229ac0
                    (if supported) to compensate
Packit 229ac0
                    the rate shift
Packit 229ac0
  3 or playshift  \- use driver for the playback device
Packit 229ac0
                    (if supported) to compensate
Packit 229ac0
                    the rate shift
Packit 229ac0
  4 or samplerate \- use samplerate library to do rate resampling
Packit 229ac0
  5 or auto       \- automatically selects the best method
Packit 229ac0
                    in this order: captshift, playshift,
Packit 229ac0
                    samplerate, simple
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-T <num>\fP | \fI\-\-thread=<num>\fP
Packit 229ac0
Packit 229ac0
Thread number (\-1 means create a unique thread). All jobs with same
Packit 229ac0
thread numbers are run within one thread.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-m <mixid>\fP | \fI\-\-mixer=<midid>\fP
Packit 229ac0
Packit 229ac0
Redirect mixer control from the playback card to the capture card. Format of
Packit 229ac0
\fImixid\fP is SRCID(PLAYBACK)[@DSTID(PLAYBACK)]:
Packit 229ac0
Packit 229ac0
  "name='Master Playback Switch'@name='Another Switch'"
Packit 229ac0
  "name='PCM Playback Volume'"
Packit 229ac0
Packit 229ac0
Known attributes:
Packit 229ac0
Packit 229ac0
  name      \- control ID name
Packit 229ac0
  index     \- control ID index
Packit 229ac0
  device    \- control ID device
Packit 229ac0
  subdevice \- control ID subdevice
Packit 229ac0
  iface     \- control ID interface
Packit 229ac0
  numid     \- control ID numid
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-O <ossmixid>\fP | \fI\-\-ossmixer=<midid>\fP
Packit 229ac0
Packit 229ac0
Redirect mixer control from the OSS Mixer emulation layer (capture card)
Packit 229ac0
to the ALSA layer (capture card). Format of \fIossmixid\fP is
Packit 229ac0
ALSAID[,INDEX]@OSSID:
Packit 229ac0
Packit 229ac0
  "Master@VOLUME"
Packit 229ac0
  "PCM,1@ALTPCM"
Packit 229ac0
Packit 229ac0
Known OSS attributes:
Packit 229ac0
Packit 229ac0
  VOLUME, BASS, TREBLE, SYNTH, PCM, SPEAKER, LINE, MIC, CD, IMIX, ALTPCM,
Packit 229ac0
  RECLEV, IGAIN, OGAIN, LINE1, LINE2, LINE3, DIGITAL1, DIGITAL2, DIGITAL3,
Packit 229ac0
  PHONEIN, PHONEOUT, VIDEO, RADIO, MONITOR
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-v\fP | \fI\-\-verbose\fP
Packit 229ac0
Packit 229ac0
Verbose mode. Use multiple times to increase verbosity.
Packit 229ac0
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-U\fP | \fI\-\-xrun\fP
Packit 229ac0
Packit 229ac0
Verbose xrun profiling.
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fI\-W <timeout>\fP | \fI\-\-wake=<timeout>\fP
Packit 229ac0
Packit 229ac0
Set process wake timeout.
Packit 229ac0
Packit 229ac0
.SH EXAMPLES
Packit 229ac0
Packit 229ac0
.TP
Packit 229ac0
\fBalsaloop \-C hw:0,0 \-P hw:1,0 \-t 50000\fR
Packit 229ac0
Packit 229ac0
.SH BUGS
Packit 229ac0
None known.
Packit 229ac0
.SH AUTHOR
Packit 229ac0
\fBalsaloop\fP is by Jaroslav Kysela <perex@perex.cz>.
Packit 229ac0
This document is by Jaroslav Kysela <perex@perex.cz>.