在 gnuradio-companion 中,我使用音频源块作为下一个块的输入信号。一切都很好。唯一的小问题是我从麦克风那里得到了信号(这是正常行为)。我希望直接播放音频信号,而无需通过我的扬声器,房间和麦克风的空气。
所有这些都会产生信号损失并增加噪音。
我知道有文件源块,但这对我来说不是一个真正的解决方案。
我也知道我可以将输出中的迷你插孔电缆插入声卡的输入端。这不是一个解决方案,因为它可能会损坏声卡,并且仍然会增加失真。
目前我使用Ubuntu和alsa作为音频驱动程序。
我知道有像jaaa和xoscope这样的程序可以做到这一点所以我认为我要求的并不是那么奇怪。
答案 0 :(得分:3)
您需要构建一个"监视器" ALSA设备。
我发现this ArchLinux wiki page建议采用以下程序,这也适用于Ubuntu,因为它也使用PulseAudio:
pactl list|grep monitor
选择正确的监听字符串,例如alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
。然后创建(如果它不存在)并在您的主目录中编辑.asoundrc
:
gedit ~/.asoundrc
添加
pcm.pulse_monitor {
type pulse
device <device name from above>
}
ctl.pulse_monitor {
type pulse
device <device name from above>
}
到该文件。
现在,使用pulse_monitor
作为音频源中的设备字符串。适合我(在Fedora 22上):
修改强>:
为此添加了GNU Radio wiki page。