#python #windows #raspberry-pi
#python #Windows #raspberry-pi
Вопрос:
Ситуация
Я пытаюсь заставить распознавание речи работать на Python.
- ОС: Windows 10
- Система: RaspBerry PI 4 4GB
- Версия Python: 3.9.0 32 бит
Исходный код
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
r.pause_threshold = 0.5
voice = r.listen(source)
command = r.recognize_google(voice, language="nl-NL")
command = command.lower()
r.adjust_for_ambient_noise(source, duration=0.5)
Вывод
C:UsersuserDocumentsuseruser-masteruserv2userStatic>py test.py
Traceback (most recent call last):
File "C:UsersuserDocumentsuseruser-masteruserv2userStatictest.py", line 7, in <module>
command = r.recognize_google(voice, language="nl-NL")
File "C:UsersuserAppDataLocalProgramsPythonPython39-32libsite-packagesspeech_recognition__init__.py", line 826, in recognize_google
flac_data = audio_data.get_flac_data(
File "C:UsersuserAppDataLocalProgramsPythonPython39-32libsite-packagesspeech_recognition__init__.py", line 445, in get_flac_data
flac_converter = get_flac_converter()
File "C:UsersuserAppDataLocalProgramsPythonPython39-32libsite-packagesspeech_recognition__init__.py", line 1196, in get_flac_converter
raise OSError("FLAC conversion utility not available - consider installing the FLAC command line application by running `apt-get install flac` or your operating system's equivalent")
OSError: FLAC conversion utility not available - consider installing the FLAC command line application by running `apt-get install flac` or your operating system's equivalent
Итак, я загрузил Flac с https://xiph.org/flac/download .
Я установил последнюю версию для Windows. Затем я разархивировал файл и запустил 64-разрядные EXE-файлы и 32-разрядные exe-файлы.
Когда я набираю «Flac» в командной строке, он говорит:
'flac' is not recognized as an internal or external command,
operable program or batch file.
Нужно ли добавлять Flac в переменные системного окружения? Если да, то как? Если нет; что происходит?
Ответ №1:
После некоторых исследований я обнаружил, что вы можете поместить EXE-файл в свой C:WindowsSystem32 папка для того, чтобы использовать командные средства flac в командной строке.
Ответ №2:
Я столкнулся с той же проблемой. Наконец я решил использовать следующие шаги:
- Перейдите на страницу загрузки flac
- Выберите ОС (Windows, в вашем случае)
- Загрузите
win.zip
версию (последнюю), возможно, в конце страницы. Я скачал этот (1.3.4-win.zip ) - Перейдите в каталог загрузки и извлеките его (вы можете просто использовать
Extract Here
) - Перейдите к
win64
илиwin32
в соответствии с вашей системной архитектурой - Скопируйте
flac.exe
и вставьте его вC:WindowsSystem32
этот каталог.
Попробуйте запустить свой код. Если он выполняется успешно, нет необходимости выполнять последний шаг. Если нет, выполните также 7-й шаг.
- Удалить
.exe
. т.е. Переименовать его вflac
Мне тоже пришлось выполнить последний шаг. Вот и все
Ответ №3:
Попробуйте этот код
import speech_recognition as sr
from time import ctime
import os
import playsound
from gtts import gTTS
def speak(audioString):
tts = gTTS(text=audioString, lang='en')
tts.save("audio.mp3")
playsound.playsound("audio.mp3", True)
os.remove("audio.mp3")
def recordAudio():
# Record Audio
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say somthing...")
audio = r.listen(source, phrase_time_limit=2)
data = ""
try:
data = r.recognize_google(audio)
print("You said: " data)
except sr.UnknownValueError:
print("Google Speech Recognition could not understand audio")
except sr.RequestError as e:
print("Could not request results from Google Speech Recognition service; {0}".format(e))
return data
def jarvis(data):
if "how are you" in data:
speak("I am fine")
if "what time" in data:
speak(ctime())
speak("Hi Osama, what can I do for you?")
while True:
data = recordAudio()
jarvis(data)
Комментарии:
1. хорошо, проблема с вашим devise не в коде
2. Я использую Linux, я не знаю о Windows, так что извините!
3. «Попробуйте этот код» не является ответом ни на один вопрос.