Ошибка «Аудиоданные должны быть аудиоданными» с распознаванием речи Google в python - PullRequest
2 голосов
/ 27 марта 2020

Я пытаюсь загрузить аудиофайл в python и обработать его с помощью распознавания речи Google

Проблема в том, что в отличие от C ++, python не показывает типы данных, классы или данные Вы получаете доступ к памяти для преобразования между одним типом данных и другим путем создания нового объекта и перепаковки данных

Я не понимаю, как можно преобразовать один тип данных в другой в python

Код ниже:

import speech_recognition as spr 
import librosa

audio, sr = librosa.load('sample_data/metal.mp3')

# create a speech recognition object 
r = spr.Recognizer() 

r.recognize_google(audio)

Ошибка:

audio_data must be audio data

Как преобразовать аудиообъект для использования в распознавании речи Google

1 Ответ

0 голосов
/ 27 марта 2020

Librosa возвращает массив numpy, вам нужно преобразовать его обратно в wav. Примерно так:

 raw_audio = np.int16(audio/np.max(np.abs(audio)) * 32767).tobytes()

Возможно, вам лучше загрузить mp3 с помощью обертки ffmpeg без вещей librosa, librosa делает странные вещи со звуком (нормализует, et c). Лучше работать с необработанными данными.

...