Я написал два кода Python для преобразования речи в текст
один код Python для сохранения файла audio.wav и другой код для преобразования текста этого сохраненного файла audio.wav
но после преобразования я получаю другой текст, отличный от сохраненной речи
код для сохранения аудио:
import pyaudio
import wave
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "himfile.wav"
audio = pyaudio.PyAudio()
# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
print("recording...")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("finished recording")
# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()
код для преобразования в текст:
import speech_recognition as sr
r = sr.Recognizer()
def convertSpeech(file=None):
if file:
harvard = sr.AudioFile(file)
with harvard as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)
print('converting...')
print(file)
print(r.recognize_sphinx(audio))
else:
with sr.Microphone() as source:
print('say something...')
audio = r.listen(source)
print(r.recognize_sphinx(audio))
if __name__ == '__main__':
convertSpeech("himfile.wav")