Как изменить файл wave.open на обычный объект файла без сохранения файла - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь использовать питон speech_recognition, чтобы получить текст из набора кадров в файле wave, полученном от клиента.

Я пытался использовать speech_recognition на wave объект, но это не работает, и он работает только с файлами (или путем к файлу)

Я попытался:

import speech_recognition as sr
import wave

r = sr.Recognizer()

# code to get frames

waveFile = wave.open(file, 'wb')
waveFile.setnchannels(1)
waveFile.setsampwidth(2)
waveFile.setframerate(44100)
waveFile.writeframes(frames) # from client

f = sr.AudioFile(waveFile)
with f as source:
    audio_file = r.record(source)
text = r.recognize_google(audio_data=audio_file, language="en")
print(text)

Тогда я получаю сообщение об ошибке:

AssertionError: Данный аудиофайл должен быть строкой с именем файла или объектоподобным файлом

Поэтому мне интересно, есть ли способ преобразовать волновой объект в обычный файлоподобныйобъект.

...