Pyaudio识别器错误找不到路径

问题描述 投票:0回答:2

我已经编写了一个基本程序,该程序基本上使用pyttsx,语音识别和tkinter库。我有如下功能。

def dunno():
    with sr.Microphone() as source:
        audio = r.listen(source)
    try:
        print('1')
        textEntry = r.recognize(audio)
        print('2')
        print(textEntry)
        engine.say("You said: "+ textEntry)
        engine.runAndWait()
    except LookupError:
        engine.say("Sorry I couldn't understand what you said")
        engine.runAndWait()

此外,我还定义了我的识别器和麦克风,如下所示:

r = sr.Recognizer()

然后,我通过使用如下所示的命令提示符,使用pyinstaller创建了一个exe文件:

pyinstaller --onedir --onefile --name=somesing "C:\Users\ABCD\Desktop\SomeFolder\mycodefile.py"

它正在创建.exe文件,没有任何问题。另外,我还为另一个版本创建了另一个.exe文件,该文件没有语音识别功能,但是运行良好。这给出了错误输出:

1
The system cannot find the path specified
1
The system cannot find the path specified
1
The system cannot find the path specified

这里,我已经三次调用函数dunno()并发生了此错误。 python脚本非常有效,但是butexe文件不起作用。

编辑:我也尝试了wav文件。我认为问题不在于麦克风。它应该与内部的识别器有关。

python path system pyinstaller pyaudio
2个回答
1
投票

我认为问题在于,由于[[PyInstaller不知道它是必需的,所以无法找到speech_recognition的捆绑式FLAC转换实用程序。

因此,您需要在构建过程中明确要求

PyInstaller

将其包括在内。尝试创建一个名为hook-speech_recognition.py的文件,其内容如下:from PyInstaller.hooks.hookutils import collect_data_files datas = collect_data_files('speech_recognition')
构建时,将文件放置目录的路径作为--additional-hooks-dir参数的值,如下所示:

--additional-hooks-dir=<path_to_directory_of_hook_file>


0
投票
Yoel是正确的(但是代码中的speech_recognition应该用双引号引起来。]

我在this commit中添加了有关如何使用PyInstaller设置库的详细说明。

我还向PyInstaller提交了pull request,以默认包含Speech_recognition集成。合并后,将不再需要添加这些挂钩。

© www.soinside.com 2019 - 2024. All rights reserved.