Потоковый ввод для распознавания речи - PullRequest
1 голос
/ 17 февраля 2020

Как извлечь функцию из потока звука?

Я пытался использовать htk, pytorch или другие библиотеки для filterbank. Но им нужна загрузка wav-файла.

Я хочу обработать напрямую микрофонный ввод с помощью pyaudio.

p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True)
while stream.is_active(): 
    input = stream.read(CHUNK)

1 Ответ

0 голосов
/ 20 февраля 2020

Вы можете использовать librosa, довольно стандартную библиотеку. Вам нужна функция потока:

https://librosa.github.io/librosa/generated/librosa.core.stream.html

p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True)
stream = librosa.stream(stream,
                         block_length=256,
                         frame_length=2048,
                         hop_length=2048)
for y_block in stream:
     m_block = librosa.feature.melspectrogram(y_block, sr=sr,
                                              n_fft=2048,
                                              hop_length=2048,
                                              center=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...