2015-08-25 2 views
3

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

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

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

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

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

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

ответ

2

Вам понадобится создать «монитор» 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

EDIT:

Добавлен GNU Radio wiki page об этом.

+0

Прекрасно работает ралли! Это именно то, что я искал. Большое спасибо. – Falk