STANNIX Community


Manual: alsaloop

ALSALOOP(1)					   General Commands Manual					 ALSALOOP(1)

NAME
       alsaloop - command-line PCM loopback

SYNOPSIS
       alsaloop [-option] [cmd]

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  | --config=

	      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  | --pdevice=

	      Use given playback device.

       -C  | --cdevice=

	      Use given capture device.

       -X  | --pctl=

	      Use given CTL device for playback.

       -Y  | --cctl=

	      Use given CTL device for capture.

       -x  | --prateshift=

	      Specify ctl ascii name for playshift sync mode (see the Examples section).

       -l  | --latency=

	      Requested latency in frames.

       -t  | --tlatency=

	      Requested latency in usec (1/1000000sec).

       -f  | --format=

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

       -c  | --channels=

	      Channel count specification. Default value is 2.

       -r  | --rate=

	      Rate specification. Default value is 48000 (Hz).

       -n | --resample

	      Allow rate resampling using alsa-lib.

       -A  | --samplerate=

	      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  | --buffer=

	      Buffer size in frames.

       -E  | --period=

	      Period size in frames.

       -s  | --seconds=

	      Duration of loop in seconds.

       -b | --nblock

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

       -S  | --sync=

	      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  | --thread=

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

       -m  | --mixer=

	      Redirect mixer control  from  the	 playback  card	 to  the  capture  card.  Format  of  mixid  is	 SRCID(PLAY‐
	      BACK)[@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  | --ossmixer=

	      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  | --wake=

	      Set process wake timeout.

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

       alsaloop -C hw:soundcard,0 -P hw:Loopback,0 -t 50000 -S playshift \
       -x iface=PCM,name='PCM Rate Shift 100000',device=1

BUGS
       None known.

AUTHOR
       alsaloop is by Jaroslav Kysela .	 This document is by Jaroslav Kysela .

							 5 Aug 2010						 ALSALOOP(1)