运行时错误:找不到二进制“sox”

ker*_*mat 1 python windows speech-recognition sox

我正在使用谷歌语音库,如下所示:

from google_speech import Speech

# say "Hello World"
text = "Hello World"
lang = "en"
speech = Speech(text, lang)
speech.play()
Run Code Online (Sandbox Code Playgroud)

收到此错误:

RuntimeError                          

    Traceback (most recent call last)
<ipython-input-2-4daa3294f636> in <module>()
----> 1 from google_speech import Speech
      2 
      3 # say "Hello World"
      4 text = "Hello World"
      5 lang = "en"

D:\soft\Ins\anac\lib\site-packages\google_speech\__init__.py in <module>()
    321 
    322 # check deps
--> 323 bin_dep.check_bin_dependency(("sox",))
    324 
    325 

D:\soft\Ins\anac\lib\site-packages\google_speech\bin_dep.py in check_bin_dependency(bins)
      5   for bin in bins:
      6     if shutil.which(bin) is None:
----> 7       raise RuntimeError("Binary '%s' could not be found" % (bin))

RuntimeError: Binary 'sox' could not be found
Run Code Online (Sandbox Code Playgroud)

我正在 Windows 上工作,并且我执行了所有说明:

如果您还没有安装,请为 Python 3 安装 pip 安装 Google Speech:pip3 install google_speech 安装 SoX,并支持 MP3。在 Ubuntu 和其他 Debian 衍生产品上:sudo apt-get install sox libsox-fmt-mp3. Windows 用户可以在 SoX 网站上下载二进制文件,安装后还需要将 libmad DLL 复制到安装 SoX 的目录中,并将该目录添加到 PATH 环境变量中。

Ham*_*ami 5

您可以在其 sourceforge 下载页面上找到 SoX 的二进制文件和安装程序: 从此处获取

将 SoX 添加到您的路径中

首先,找到SoX的安装目录。默认情况下,这可能是 C:\Program Files (x86)\sox-14-4-1 或 C:\Program Files\sox-14-4-1

需要将此目录添加到您的 PATH 环境变量中。通过按 Windows 键并键入 cmd.exe(在 Vista 或更高版本中),或者从“开始”菜单中选择“运行”并键入 cmd(在早期版本中),打开命令提示符。

在命令提示符中输入路径,它应该返回您的 PATH 变量(PATH= 后跟目录列表)。要将 SoX 临时添加到 PATH 变量,请键入以下命令(如有必要,请将 C:\Program Files (x86)\sox-14-4-1 替换为您的 SoX 目录):

set PATH=%PATH%;C:\Program Files (x86)\sox-14-4-1
Run Code Online (Sandbox Code Playgroud)

再次输入 path,它应该返回与之前相同的目录列表,但在最后添加了字符串 ;C:\Program Files (x86)\sox-14-4-1。如果它返回任何其他内容(例如,如果它只返回 SoX 目录),请不要继续下一步(关闭命令提示符窗口并重新开始)。如果它返回相同的列表加上 SoX,您可以使用 setx 命令而不是 set 来永久添加 SoX:

setx PATH %PATH%;C:\Program Files (x86)\sox-14-4-1
Run Code Online (Sandbox Code Playgroud)

在 Windows XP 上,您需要安装 Windows XP SP2 支持工具才能执行此操作。检查是否成功

要检查这是否有效,请打开一个新的命令提示符并输入 sox。如果成功,它将返回有关使用 SoX 的信息,否则应返回“sox 无法识别”。