GNU Radio: использовать вывод звука в качестве источника ввода

В gnuradio-companion я использую блок источника звука в качестве входного сигнала для следующих блоков. Все работает почти нормально. Единственная небольшая проблема заключается в том, что я получаю сигнал от своего микрофона (это, конечно, нормальное поведение). Я бы предпочел, чтобы аудиосигнал воспроизводился напрямую, без необходимости проходить через мои динамики, воздух из моей комнаты и микрофон.

Все это порождает потери сигнала и добавляет шум.

Я знаю, что есть блок источника файла, но для меня это не настоящее решение.

Я также знаю, что могу просто подключить кабель с мини-разъемом от выхода к входу моей звуковой карты. это тоже не решение, потому что это может повредить звуковую карту и все равно добавить искажения.

В настоящее время я использую Ubuntu и alsa в качестве аудиодрайвера.

Я знаю, что есть такие программы, как jaaa и xoscope, которые могут это делать, поэтому я думаю, что то, о чем я прошу, не так уж и странно.


person Falk    schedule 25.08.2015    source источник


Ответы (1)


Вам потребуется построить «мониторное» устройство ALSA.

Я нашел эту страницу вики ArchLinux, которая рекомендует следующую процедуру, которая должна применимо и к 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):  Снимок экрана

ИЗМЕНИТЬ:

Об этом добавлена ​​wiki-страница GNU Radio.

person Marcus Müller    schedule 26.08.2015
comment
Красиво работает ралли нормально! Это именно то, что я искал. Большое спасибо. - person Falk; 26.08.2015