Аудио подсистема в Linux работает вокруг концепции источников и приемников.Источник - это место, где звук может попадать в аудиоподсистему (микрофон, звук воспроизведения приложения и т. Д.), А приемник - это место, где он может выходить (динамики).Вам необходимо найти источник звука, который будет выполнять функцию петлевого монитора приемника динамика.См. Ответ b-ak на следующий пост:
https://askubuntu.com/questions/229352/how-to-record-output-to-speakers
В нем объясняются команды, которые вы можете использовать из командной строки, чтобы помочь в идентификации соответствующего идентификатора этого аудиоисточника.Затем вам нужно будет следовать ответу Ролана Смита на следующий пост, чтобы загрузить его в pyaudio:
запись голоса с использованием pyaudio
Здесь объясняется, что вы можетесоздайте экземпляр объекта pyaudio и получите список идентификаторов устройств в интерактивном приглашении python, например:
import pyaudio
p = pyaudio.PyAudio()
[p.get_device_info_by_index(i) for i in range(p.get_device_count())]
Найдите соответствующее устройство и затем передайте параметр input_device_index
в p.open
с соответствующим идентификатором устройства, когдаоткрытие потока.