GNU Radio:使用声音输出作为输入源

时间:2015-08-25 20:27:56

标签: audio alsa gnuradio gnuradio-companion

gnuradio-companion 中,我使用音频源块作为下一个块的输入信号。一切都很好。唯一的小问题是我从麦克风那里得到了信号(这是正常行为)。我希望直接播放音频信号,而无需通过我的扬声器,房间和麦克风的空气。

所有这些都会产生信号损失并增加噪音。

我知道有文件源块,但这对我来说不是一个真正的解决方案。

我也知道我可以将输出中的迷你插孔电缆插入声卡的输入端。这不是一个解决方案,因为它可能会损坏声卡,并且仍然会增加失真。

目前我使用Ubuntu和alsa作为音频驱动程序。

我知道有像jaaa和xoscope这样的程序可以做到这一点所以我认为我要求的并不是那么奇怪。

1 个答案:

答案 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上): Screenshot

修改

为此添加了GNU Radio wiki page