我正在尝试在python 3.4中运行以下代码:

from pygsr import Pygsr
speech = Pygsr()
# duration in seconds
speech.record(3)
# select the language
phrase, complete_response = speech.speech_to_text('en_UK')

print(phrase)`


但是我得到了错误

File "/usr/local/lib/python3.4/dist-packages/pygsr/__init__.py", line 33, in record for i in range(0, self.rate / self.chunk * time):TypeError: 'float' object cannot be interpreted as an integer

有什么想法吗?除了从pygsr PyPi网站将“ es_ES”更改为“ en_UK”之外,我没有修改代码。

最佳答案

这是因为pysgr是用Python 2.7(see source code)编写的,其中整数除以底数即可得到整数。在使用的Python 3.4中,将整数相除会返回一个浮点数(请参见PEP 238 - Changing the Division Operator),这会导致错误,因为range()需要整数参数。

关于python - pygsr TypeError:无法将“float”对象解释为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37124033/

10-12 18:38