Запись / обработка и воспроизведение звука приложения с использованием sounddevice или pyaudio - PullRequest
0 голосов
/ 17 ноября 2018

Я работаю над проектом, в котором я хотел бы записать внутреннее воспроизведение (вывод звука любым приложением), записать / обработать его и воспроизвести на динамиках.Я полагаю, что идеальный способ сделать это - направить выходной аудиосигнал на виртуальное устройство ввода (микрофон), чтобы он был виден через звуковое устройство или 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)

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

...