Исполняемый файл PyInstaller выдает «OSError: [WinError 50] Запрос не поддерживается» при использовании распознавания реPython

Программы на Python
Anonymous
Исполняемый файл PyInstaller выдает «OSError: [WinError 50] Запрос не поддерживается» при использовании распознавания ре

Сообщение Anonymous »

Я создаю голосовой помощник Python с использованием библиотеки voice_recognition.

Все работает отлично, когда я запускаю код из PyCharm или терминала,

но когда я конвертирую его в .exe с помощью Auto Py to Exe / PyInstaller,

я получаю эту ошибку, как только распознаватель пытается обработать звук:

Код: Выделить всё

pygame 2.6.1 (SDL 2.28.4, Python 3.12.1)
Welcome to Vision!
Say any of the models name to activate.
Say 'exit' to quit.
Waiting for wake word... Listening... Exception in thread Thread-1 (chatbot):
Traceback (most recent call last):
File "threading.py", line 1073, in _bootstrap_inner   File "threading.py", line 1010, in run
File "vision_v3.py", line 126, in chatbot
File "jarvis_functions\essential_functions\voice_input.py", line 47, in record_text
File "speech_recognition\recognizers\google.py", line 253, in recognize_legacy
File "speech_recognition\recognizers\google.py", line 56, in build
File "speech_recognition\recognizers\google.py", line 88, in build_data
File "speech_recognition\audio.py", line 256, in get_flac_data
File "subprocess.py", line 992, in __init__
File "subprocess.py", line 1407, in _get_handles
File "subprocess.py", line 1416, in _make_inheritable
OSError: [WinError 50] The request is not supported
Я пытался включить все мои папки и файл .env с помощью Auto Py в Exe:

Код: Выделить всё

--add-data "D:\pycharm\opencv\Vision\jarvis_functions;jarvis_functions" --add-data "D:\pycharm\opencv\Vision\sound_files\beep;sound_files/beep" --add-data "D:\pycharm\opencv\Vision\sound_files\cam;sound_files/cam"
Преобразование аудио в WAV вручную с помощью:

Код: Выделить всё

wav_data = audio.get_wav_data()
Проверено, что все работает напрямую в Python, но .exe не работает.
Это упрощенный фрагмент кода:

Код: Выделить всё

import speech_recognition as sr
r = sr.Recognizer()
def record_text():
try:
with sr.Microphone() as source:
r.adjust_for_ambient_noise(source, duration=0.2)
audio = r.listen(source)
text = r.recognize_google(audio, language="bg-BG")
return text.lower()
except sr.RequestError as e:
print(f"API error: {e}")
except sr.UnknownValueError:
print("Could not understand audio.")
Почему версия PyInstaller .exe дает сбой с [WinError 50] внутри get_flac_data()
когда речь_распознавание работает отлично в обычном Python?
Нужно ли мне вручную связать файл flac.exe или есть лучший способ заставить
распознавание речи использовать WAV вместо FLAC так это работает в скомпилированных исполняемых файлах?

Вернуться в «Python»