Аудио поток в Python

Нужно реализовать захват всего воспроизводящегося на компьютере звука (не с микрофона) в реальном времени, например звук с браузера, с игры, с discord и т.д., для дальнейшей передачи его в нейросеть для анализа. Каким способом это можно реализовать на python. Это должно работать на Windows.


Ответы (1 шт):

Автор решения: eri
import pyaudio
CHUNK_SIZE = 1024
CHANNELS = 2
FORMAT = pyaudio.paInt16
RATE = 48000

p = pyaudio.PyAudio()

MONITORDEVICE = 'mixing'

for i in range(p.get_device_count()):
    dev = p.get_device_info_by_index(i)
    print(dev)
    if MONITORDEVICE in dev['name']:
        break

DEVICE = dev['index']

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                input_device_index=DEVICE,
                frames_per_buffer = CHUNK_SIZE)
while True:
    data = stream.read(CHUNK_SIZE)
→ Ссылка