alsaloop - 参考手册、选项、命令示例


姓名

alsaloop - 命令行 PCM 环回

概要

alsaloop [-option] [cmd]

描述

alsaloop 允许在 PCM 捕获设备和 PCM 播放设备之间创建 PCM 环回。

alsaloop 支持多个声卡、自适应时钟同步、使用采样率库(如果系统中可用)的自适应速率重采样。此外,混音器控制可以从一张卡重定向到另一张卡(例如 Master 和 PCM)。

选项

-h | --help

打印帮助信息。

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

使用给定的配置文件。该文件的语法很简单:一行包含一项作业的命令行选项。 “#”表示注释,其余行将被忽略。例子:

# 第一行 - 注释,第二行 - 第一项工作 -C hw:1,0 -P hw:0,0 -t 50000 -T 1 # 第三行 - 注释,第四行 - 第二项工作 -C hw:1,1 - PHW:0,1 -t 40000 -T 2

-d | --daemonize

守护主进程并使用系统日志来记录消息。

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

使用给定的播放设备。

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

使用给定的捕获设备。

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

使用给定的 CTL 设备进行播放。

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

使用给定的 CTL 设备进行捕获。

-x <ctl_ascii_name> | --prateshift=<ctl_ascii_name>

指定 playshift 同步模式的 ctl ascii 名称(请参阅示例部分)。

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

请求的帧延迟。

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

请求的延迟(以 usec 为单位)(1/1000000 秒)。

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

格式规范(通常是S16_LE S32_LE)。使用 -h 列出所有格式。默认格式为 S16_LE。

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

通道数规格。默认值为 2。

-r <rate> | --rate=<rate>

费率规范。默认值为 48000 (Hz)。

-n | --resample

允许使用 alsa-lib 进行速率重采样。

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

使用 libsamplerate 并选择转换器:

0 或 sincbest - 最佳质量 1 或 sincmedium - 中等质量 2 或 sincfastest - 最低质量 3 或 Zerohold - 保持零样本 4 或线性 - 最差质量 - 线性重采样 5 或自动 - 选择最佳方法

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

缓冲区大小(以帧为单位)。

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

以帧为单位的周期大小。

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

循环持续时间(以秒为单位)。

-b | --nblock

非阻塞模式(非常早的进程唤醒)。吃更多的CPU。

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

捕获到播放流的同步模式规范: 0 或无 - 不接触流 1 或简单 - 添加或删除样本以保持两个流同步 2 或 captshift - 使用捕获设备的驱动程序(如果支持)来补偿速率偏移3 或 playshift - 使用播放设备的驱动程序(如果支持)来补偿速率偏移 4 或 Samplerate - 使用采样率库进行速率重采样 5 或 auto - 按此顺序自动选择最佳方法:captshift、playshift、samplerate、simple

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

线程号(-1 表示创建唯一线程)。所有具有相同线程号的作业都在一个线程中运行。

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

将混音器控制从播放卡重定向到采集卡。 mixid的格式为SRCID(PLAYBACK)[@DSTID(PLAYBACK)]:

"name='主播放开关'@name='另一个开关'" "name='PCM 播放音量'"

已知属性:

name - 控制 ID name index - 控制 ID 索引 device - 控制 ID 设备 subdevice - 控制 ID 子设备 iface - 控制 ID 接口 numid - 控制 ID numid

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

将混合器控制从 OSS Mixer 仿真层(捕获卡)重定向到 ALSA 层(捕获卡)。 ossmixid的格式为ALSAID[,INDEX]@OSSID:

“主控@VOLUME” “PCM,1@ALTPCM”

已知的OSS属性:

音量、低音、高音、合成器、PCM、扬声器、线路、麦克风、CD、IMIX、ALTPCM、RECLEV、IGAIN、OGAIN、LINE1、LINE2、LINE3、DIGITAL1、DIGITAL2、DIGITAL3、PHONEIN、PHONEOUT、视频、收音机、监视器

-v | --verbose

详细模式。多次使用可以增加冗长程度。

-U | --xrun

详细的 xrun 分析。

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

设置进程唤醒超时。

例子

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

错误

无人知晓。

作者

alsaloop 由 Jaroslav Kysela 创作。本文档由 Jaroslav Kysela 撰写。