Я работаю над проектом, в котором я хотел бы записать внутреннее воспроизведение (вывод звука любым приложением), записать / обработать его и воспроизвести на динамиках.Я полагаю, что идеальный способ сделать это - направить выходной аудиосигнал на виртуальное устройство ввода (микрофон), чтобы он был виден через звуковое устройство или pyaudio (который я хотел бы использовать для обработки и вывода звука).Я просмотрел несколько постов, используя смесь разъемов, импульсного звука, модуля петли Alsa и т. Д., Чтобы добиться этого (например, этот и этот ), но яЯ не могу увидеть виртуальный микрофон, указанный в pyaudio или sounddevice, и не могу записать с него.Сможет ли кто-нибудь помочь мне пройти этот последний шаг?Я использую Ubuntu 16.04.
Редактировать: Вот некоторые подробности -
Следуя инструкциям в здесь , я загрузил модуль alsa snd_loop и вижукарты, выполнив:
arecord -l
Однако редактирование файла /etc/pulse/default.pa
для включения load-module module-alsa-sink device=hw:2,1
(моя петлевая карта # 2) приводит к следующему в pavucontrol:
pavucontrolустройства вывода
устройства ввода pavucontrol
, показывающие на стороне входа, что только петлевой монитор активно захватывает звук.Например, просматривая список устройств из sounddevice, я вижу
python2 -m sounddevice
0 HDA Intel PCH: ALC3234 Alt Analog (hw:0,2), ALSA (2 in, 0 out)
1 HDA Intel PCH: HDMI 0 (hw:0,3), ALSA (0 in, 8 out)
2 HDA Intel PCH: HDMI 1 (hw:0,7), ALSA (0 in, 8 out)
3 HDA Intel PCH: HDMI 2 (hw:0,8), ALSA (0 in, 8 out)
4 Loopback: PCM (hw:2,0), ALSA (2 in, 32 out)
5 Loopback: PCM (hw:2,1), ALSA (32 in, 32 out)
6 hdmi, ALSA (0 in, 8 out)
7 pulse, ALSA (32 in, 32 out)
* 8 default, ALSA (32 in, 32 out)
, где петлевые устройства не позволяют мне выполнять запись с них в качестве входа.Как сделать так, чтобы это отображалось как входной микрофон?