Linux Commands Examples

A great documentation place for Linux commands

alsaloop

command-line PCM loopback

Synopsis

alsaloop [-option] [cmd]


add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

1

alsaloop -C hw:0,0 -P hw:1,0 -t 50000


1
source
            
CFGFILE="/tmp/alsaloop.test.cfg"
test1() {
echo "TEST1"
$DBG ./alsaloop -C hw:1,0 -P plughw:0,0 \
# next line - second job
-C hw:1,0,1 -P hw:0,1,0 --tlatency 50000 --thread 2
EOF
$DBG ./alsaloop -d --config $CFGFILE $ARGS

description

alsaloop allows create a PCM loopback between a PCM capture device and a PCM playback device.

alsaloop supports multiple soundcards, adaptive clock synchronization, adaptive rate resampling using the samplerate library (if available in the system). Also, mixer controls can be redirected from one card to another (for example Master and PCM).

options

-h | --help

Prints the help information.

-g <file> | --config=<file>

Use given configuration file. The syntax of this file is simple: one line contains the command line options for one job. The ’#’ means comment and rest of line is ignored. Example:

# First line - comment, second line - first job
-C hw:1,0 -P hw:0,0 -t 50000 -T 1
# Third line - comment, fourth line - second job
-C hw:1,1 -P hw:0,1 -t 40000 -T 2

-d | --daemonize

Daemonize the main process and use syslog for messages.

-P <device> | --pdevice=<device>

Use given playback device.

-C <device> | --cdevice=<device>

Use given capture device.

-X <device> | --pctl=<device>

Use given CTL device for playback.

-Y <device> | --cctl=<device>

Use given CTL device for capture.

-l <latency> | --latency=<frames>

Requested latency in frames.

-t <usec> | --tlatency=<usec>

Requested latency in usec (1/1000000sec).

-f <format> | --format=<format>

Format specification (usually S16_LE S32_LE). Use -h to list all formats. Default format is S16_LE.

-c <channels> | --channels=<channels>

Channel count specification. Default value is 2.

-c <rate> | --rate=<rate>

Rate specification. Default value is 48000 (Hz).

-n | --resample

Allow rate resampling using alsa-lib.

-A <converter> | --samplerate=<converter>

Use libsamplerate and choose a converter:

0 or sincbest - best quality
1 or sincmedium - medium quality
2 or sincfastest - lowest quality
3 or zerohold - hold zero samples
4 or linear - worst quality - linear resampling
5 or auto - choose best method

-B <size> | --buffer=<size>

Buffer size in frames.

-E <size> | --period=<size>

Period size in frames.

-s <secs> | --seconds=<secs>

Duration of loop in seconds.

-b | --nblock

Non-block mode (very early process wakeup). Eats more CPU.

-S <mode> | --sync=<mode>

Sync mode specification for capture to playback stream:
0 or none - do not touch the stream
1 or simple - add or remove samples to keep
both streams synchronized
2 or captshift - use driver for the capture device
(if supported) to compensate
the rate shift
3 or playshift - use driver for the playback device
(if supported) to compensate
the rate shift
4 or samplerate - use samplerate library to do rate resampling
5 or auto - automatically selects the best method
in this order: captshift, playshift,
samplerate, simple

-T <num> | --thread=<num>

Thread number (-1 means create a unique thread). All jobs with same thread numbers are run within one thread.

-m <mixid> | --mixer=<midid>

Redirect mixer control from the playback card to the capture card. Format of mixid is SRCID(PLAYBACK)[@DSTID(PLAYBACK)]:

"name=’Master Playback Switch’@name=’Another Switch’"
"name=’PCM Playback Volume’"

Known attributes:

name - control ID name
index - control ID index
device - control ID device
subdevice - control ID subdevice
iface - control ID interface
numid - control ID numid

-O <ossmixid> | --ossmixer=<midid>

Redirect mixer control from the OSS Mixer emulation layer (capture card) to the ALSA layer (capture card). Format of ossmixid is ALSAID[,INDEX]@OSSID:

"Master@VOLUME"
"PCM,1@ALTPCM"

Known OSS attributes:

VOLUME, BASS, TREBLE, SYNTH, PCM, SPEAKER, LINE, MIC, CD, IMIX, ALTPCM,
RECLEV, IGAIN, OGAIN, LINE1, LINE2, LINE3, DIGITAL1, DIGITAL2, DIGITAL3,
PHONEIN, PHONEOUT, VIDEO, RADIO, MONITOR

-v | --verbose

Verbose mode. Use multiple times to increase verbosity.

-U | --xrun

Verbose xrun profiling.

-W <timeout> | --wake=<timeout>

Set process wake timeout.


bugs

None known.


author

alsaloop is by Jaroslav Kysela <perex[:at:]perex[:dot:]cz>. This document is by Jaroslav Kysela <perex[:at:]perex[:dot:]cz>.

How can this site be more helpful to YOU ?


give  feedback