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

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

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

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

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

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

最佳答案

您将需要构建一个“监视器”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 上):
audio - GNU Radio : Use sound output as input source-LMLPHP

编辑 :

添加了关于此的 GNU Radio wiki page

关于audio - GNU Radio : Use sound output as input source,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32213443/

10-12 23:46