alsaloop - 命令行 PCM 环回
alsaloop [-option] [cmd]
alsaloop 允许在 PCM 捕获设备和 PCM 播放设备之间创建 PCM 环回。
alsaloop 支持多个声卡、自适应时钟同步、使用采样率库(如果系统中可用)的自适应速率重采样。此外,混音器控制可以从一张卡重定向到另一张卡(例如 Master 和 PCM)。
打印帮助信息。
使用给定的配置文件。该文件的语法很简单:一行包含一项作业的命令行选项。 “#”表示注释,其余行将被忽略。例子:
# 第一行 - 注释,第二行 - 第一项工作 -C hw:1,0 -P hw:0,0 -t 50000 -T 1 # 第三行 - 注释,第四行 - 第二项工作 -C hw:1,1 - PHW:0,1 -t 40000 -T 2
守护主进程并使用系统日志来记录消息。
使用给定的播放设备。
使用给定的捕获设备。
使用给定的 CTL 设备进行播放。
使用给定的 CTL 设备进行捕获。
指定 playshift 同步模式的 ctl ascii 名称(请参阅示例部分)。
请求的帧延迟。
请求的延迟(以 usec 为单位)(1/1000000 秒)。
格式规范(通常是S16_LE S32_LE)。使用 -h 列出所有格式。默认格式为 S16_LE。
通道数规格。默认值为 2。
费率规范。默认值为 48000 (Hz)。
允许使用 alsa-lib 进行速率重采样。
使用 libsamplerate 并选择转换器:
0 或 sincbest - 最佳质量 1 或 sincmedium - 中等质量 2 或 sincfastest - 最低质量 3 或 Zerohold - 保持零样本 4 或线性 - 最差质量 - 线性重采样 5 或自动 - 选择最佳方法
缓冲区大小(以帧为单位)。
以帧为单位的周期大小。
循环持续时间(以秒为单位)。
非阻塞模式(非常早的进程唤醒)。吃更多的CPU。
捕获到播放流的同步模式规范: 0 或无 - 不接触流 1 或简单 - 添加或删除样本以保持两个流同步 2 或 captshift - 使用捕获设备的驱动程序(如果支持)来补偿速率偏移3 或 playshift - 使用播放设备的驱动程序(如果支持)来补偿速率偏移 4 或 Samplerate - 使用采样率库进行速率重采样 5 或 auto - 按此顺序自动选择最佳方法:captshift、playshift、samplerate、simple
线程号(-1 表示创建唯一线程)。所有具有相同线程号的作业都在一个线程中运行。
将混音器控制从播放卡重定向到采集卡。 mixid的格式为SRCID(PLAYBACK)[@DSTID(PLAYBACK)]:
"name='主播放开关'@name='另一个开关'" "name='PCM 播放音量'"
已知属性:
name - 控制 ID name index - 控制 ID 索引 device - 控制 ID 设备 subdevice - 控制 ID 子设备 iface - 控制 ID 接口 numid - 控制 ID numid
将混合器控制从 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、视频、收音机、监视器
详细模式。多次使用可以增加冗长程度。
详细的 xrun 分析。
设置进程唤醒超时。
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