管道输出应用于centos中的记录
Piping output from aplay to arecord in centos
我正在尝试为 websocket 客户端自动执行一些测试。该客户端根据命令连接到服务器,服务器基本上是语音到文本引擎。客户端支持麦克风的音频流,这样人们就可以实时录制自己并将其传输到引擎。我在没有物理声卡的 centos VM 中 运行 安装客户端,所以我决定使用
模拟一个
modprobe snd-dummy
我的计划是通过管道传输
的输出
aplay audioFile.raw
到
的输入
arecord test.raw -r 8000 -t raw
这样我就可以使用模拟麦克风功能了。我在网上看到 ALSA 的文件插件可以将一个命令的结果传输到下一个命令,所以我对根目录中的 .asoundrc 文件进行了以下修改:
pcm.!default {
type hw
card 0
}
pcm.Ted {
type file
slave mySlave
file "| arecord test.raw -r 8000 -t raw"
}
pcm_slave.mySlave {
pcm "hw:0,0"
}
ctl.!default {
type hw
card 0
}
当我尝试以下命令时:
aplay audioFile.raw -D Ted
似乎 运行 很好,但是 test.raw 的输出似乎只包含沉默...有谁知道我做错了什么,我是 ALSA 的新手所以如果有人可以指出我正确的方向,将不胜感激。谢谢!
问题已解决,我没有使用 snd-dummy,而是使用了 snd-aloop 并且音频管道正确地引用了这个问题:
Is it possible to arecord output from dummy card?
我正在尝试为 websocket 客户端自动执行一些测试。该客户端根据命令连接到服务器,服务器基本上是语音到文本引擎。客户端支持麦克风的音频流,这样人们就可以实时录制自己并将其传输到引擎。我在没有物理声卡的 centos VM 中 运行 安装客户端,所以我决定使用
模拟一个modprobe snd-dummy
我的计划是通过管道传输
的输出aplay audioFile.raw
到
的输入arecord test.raw -r 8000 -t raw
这样我就可以使用模拟麦克风功能了。我在网上看到 ALSA 的文件插件可以将一个命令的结果传输到下一个命令,所以我对根目录中的 .asoundrc 文件进行了以下修改:
pcm.!default {
type hw
card 0
}
pcm.Ted {
type file
slave mySlave
file "| arecord test.raw -r 8000 -t raw"
}
pcm_slave.mySlave {
pcm "hw:0,0"
}
ctl.!default {
type hw
card 0
}
当我尝试以下命令时:
aplay audioFile.raw -D Ted
似乎 运行 很好,但是 test.raw 的输出似乎只包含沉默...有谁知道我做错了什么,我是 ALSA 的新手所以如果有人可以指出我正确的方向,将不胜感激。谢谢!
问题已解决,我没有使用 snd-dummy,而是使用了 snd-aloop 并且音频管道正确地引用了这个问题:
Is it possible to arecord output from dummy card?