Я работаю над проектом, в котором мне необходимо выполнить три предварительных условия.
- Использовать микрофон для записи в реальном времени.
- Слушайте микрофон на динамике компьютера вывод в реальном времени.
- Внесите изменения в этот поток, выполнив полосовой фильтр во время выполнения потоковой передачи.
Я все еще не смог найти ни одного примера для управления звуком во время выполнения в обратном вызове я считаю, что этот процесс заблокирован для возможных манипуляций. Я не эксперт по python. Может ли кто-нибудь дать мне направление?
На данный момент у меня уже есть микрофон, который я могу слышать при запуске скрипта.
# -*- coding: utf-8 -*-
import pyaudio
FORMATO = pyaudio.paInt16 # Pode ser pyaudio.paFloat32 também
CHUNK = 1024
WIDTH = 2
CANAL = 1
RATE = 44100
FRAMESWAV = []
p = pyaudio.PyAudio()
def loopback(in_data, frame_count, time_info, status):
return (in_data, pyaudio.paContinue)
# Abrindo Canal para ouvir o microfone.
stream = p.open(format=p.get_format_from_width(WIDTH), channels=CANAL, rate=RATE,
input=True,
output=True,
frames_per_buffer=CHUNK,
stream_callback=loopback)
stream.start_stream()
while True:
i = input("Pressione Enter SAIR")
if not i:
stream.stop_stream()
stream.close()
p.terminate()
print("Voce pressionou para SAIR.")
break
else:
continue