没有从 alsa 环回设备录制音频
no audio recorded from alsa loopback device
我一直在按照此处的说明尝试让 alsa 环回设备工作(以测试读取音频的应用程序):
https://sysplay.in/blog/linux/2019/06/playing-with-alsa-loopback-devices/
设备启用使用:
modeprobe snd-aloop
从中可以看出:
>aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
我应该能够使用以下方式播放和录制音频:
aplay -D hw:1,0 foo.wav
&
arecord -D hw:1,0 bar.wav
然而,录制的音频完全没有声音。
这在我使用 sox 时更加明显:
AUDIODEV=hw:1,0 play -V foo.wav
AUDIODEV=hw:1,0 rec -V -c 1 -r 8000 bar.wav
因为它提供了一个方便的 ascii-art 音量指示器:
In:100% 00:10:00.00 [00:00:00.00] Out:4.80M [ =|= ] Clip:0
环回设备实际创建 对 设备。
一个设备是读端,一个单独的设备是写端。
你真正需要的是:
aplay -D hw:1,0 foo.wav
&
arecord -D hw:1,1 bar.wav
或使用 sox:
AUDIODEV=hw:1,0 play -V foo.wav
AUDIODEV=hw:1,1 rec -V -c 1 -r 8000 bar.wav
我在复制一个 .asoundrc 配置时无意中发现了这个,它的工作原理如下。但是不需要声音配置:
pcm.loopin {
type plug
slave.pcm "hw:1,0,0"
}
pcm.loopout {
type plug
slave.pcm "hw:1,1,0"
}
另见
我一直在按照此处的说明尝试让 alsa 环回设备工作(以测试读取音频的应用程序):
https://sysplay.in/blog/linux/2019/06/playing-with-alsa-loopback-devices/
设备启用使用:
modeprobe snd-aloop
从中可以看出:
>aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC269VB Analog [ALC269VB Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
我应该能够使用以下方式播放和录制音频:
aplay -D hw:1,0 foo.wav
&
arecord -D hw:1,0 bar.wav
然而,录制的音频完全没有声音。 这在我使用 sox 时更加明显:
AUDIODEV=hw:1,0 play -V foo.wav
AUDIODEV=hw:1,0 rec -V -c 1 -r 8000 bar.wav
因为它提供了一个方便的 ascii-art 音量指示器:
In:100% 00:10:00.00 [00:00:00.00] Out:4.80M [ =|= ] Clip:0
环回设备实际创建 对 设备。 一个设备是读端,一个单独的设备是写端。 你真正需要的是:
aplay -D hw:1,0 foo.wav
&
arecord -D hw:1,1 bar.wav
或使用 sox:
AUDIODEV=hw:1,0 play -V foo.wav
AUDIODEV=hw:1,1 rec -V -c 1 -r 8000 bar.wav
我在复制一个 .asoundrc 配置时无意中发现了这个,它的工作原理如下。但是不需要声音配置:
pcm.loopin {
type plug
slave.pcm "hw:1,0,0"
}
pcm.loopout {
type plug
slave.pcm "hw:1,1,0"
}
另见