Я пытаюсь заставить мой скрипт распознавания речи работать, но он не может понять меня.
import pyaudio
import speech_recognition as sr
def initSpeech():
r = sr.Recognizer()
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source, duration=2)
print("Set minimum energy threshold to {}".format(r.energy_threshold))
print("Say something")
audio = r.listen(source, phrase_time_limit=10)
command = ""
try:
command = r.recognize_google(audio)
except:
print("Coundn't understand you!")
print(command)
initSpeech()
Это мой код для распознавания моего голоса, но он всегда печатает "Coundn't understand you!"
, когда я записываю свой голос, используя python, с помощью следующего сценария и помещаю волновой файл в качестве входных данных для распознавания речи, он прекрасно работает:
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.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("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
Этот скрипт для записи моего голоса и последующего использования этого файла "output.wav" в качестве входных данных для распознавания речи.
РЕДАКТИРОВАТЬ:
С,
with open("microphone-results.wav", "wb") as f:
f.write(audio.get_wav_data())
Я записал свой голос, который будет проанализирован. И это звучало очень плохо, тихо и медленно, как в плохих фильмах с устройством изменения голоса.
Может быть, это подсказка для решения. Я уже проверил настройки chuck_size и sample_rate, они идентичны настройкам в моем скрипте записи выше.
Моя система: Windows 10
Существует также проблема с github github Issue 358
Python: 3,6
Спасибо за помощь!