4

gnuradio-companion中,我使用音频源块作为下一个块的输入信号。所有工作几乎都很好。唯一的小问题是我从麦克风接收信号(这是正常的行为)。我宁愿直接播放音频信号,而无需通过我的扬声器、房间的空气和麦克风。

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

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

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

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

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

4

1 回答 1

4

您将需要构建一个“监控”ALSA 设备。

我发现这个 ArchLinux wiki 页面推荐了以下程序,它也应该适用于 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 页面

于 2015-08-26T15:42:44.473 回答