После того, как вы перечислили устройства (распечатав их, как показано в коде из вопроса), вы можете выбрать, какой индекс устройств вы хотите использовать.
, то есть он может распечатать
('Input Device id ', 2, ' - ', u'USB Sound Device: Audio (hw:1,0)')
('Input Device id ', 3, ' - ', u'sysdefault')
('Input Device id ', 11, ' - ', u'spdif')
('Input Device id ', 12, ' - ', u'default')
А затем, чтобы начать запись с этого указанного c устройства, вам нужно открыть поток PyAudio:
# Open stream with the index of the chosen device you selected from your initial code
stream = p.open(format=p.get_format_from_width(width=2),
channels=1,
output=True,
rate=OUTPUT_SAMPLE_RATE,
input_device_index=INDEX_OF_CHOSEN_INPUT_DEVICE, # This is where you specify which input device to use
stream_callback=callback)
# Start processing and do whatever else...
stream.start_stream()
Для получения дополнительной информации о параметрах потока, посмотрите на конфигурацию, указанную в официальной документации PyAudio .
Если вам нужна помощь с большей частью скрипта, я рекомендую взглянуть на простой пример неблокирующей аудио с PyAudio, доступен на их документация.