RuntimeError:找不到二进制“ sox”

时间:2019-04-29 07:54:39

标签: python windows speech-recognition sox

我正在按以下方式使用Google语音库:

from google_speech import Speech

# say "Hello World"
text = "Hello World"
lang = "en"
speech = Speech(text, lang)
speech.play()

遇到此错误:

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

我在Windows上工作,并且我做了所有说明:

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

1 个答案:

答案 0 :(得分:1)

您可以在Sofor的sourceforge下载页面上找到SoX的二进制文件和安装程序:     Get it from here

将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变量中,请键入以下命令(如有必要,请用SoX目录替换C:\ Program Files(x86)\ sox-14-4-1):

set PATH=%PATH%;C:\Program Files (x86)\sox-14-4-1

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

setx PATH %PATH%;C:\Program Files (x86)\sox-14-4-1

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

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