【发布时间】:2020-10-26 12:03:26
【问题描述】:
我正在使用 gtts(google text to speech) 包将几个中文文本转换为语音。但是,我得到了很多 RecursionError: maximum recursion depth exceeded。
代码很简单:
from gtts import gTTS
tts = gTTS(text=sentence, lang='zh')
tts.save(r"E:\Project\audioData\zh%d.wav"%(1))
完整的错误信息显示为照片 Error Messeage
Traceback (most recent call last):
File "E:\Independent Study\Project\test.py", line 3, in <module>
tts = gTTS(text=sentence, lang='zh')
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 97, in __init__
text_parts = self._tokenize(text, self.MAX_CHARS)
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 169, in _tokenize
min_parts += self._minimize(p, " ", max_size)
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 178, in _minimize
return [thestring[:idx]] + self._minimize(thestring[idx:], delim, max_size)
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 178, in _minimize
return [thestring[:idx]] + self._minimize(thestring[idx:], delim, max_size)
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 178, in _minimize
return [thestring[:idx]] + self._minimize(thestring[idx:], delim, max_size)
[Previous line repeated 983 more times]
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 176, in _minimize
if self._len(thestring) > max_size:
File "C:\Users\Yuchen Liu\AppData\Local\Programs\Python\Python36\lib\site-
packages\gtts\tts.py", line 154, in _len
return len(unicode(text))
RecursionError: maximum recursion depth exceeded
请帮忙!
【问题讨论】:
-
请不要发布照片。请张贴文字。
-
一些代码也会有帮助。
-
错误不是该代码引起的,它显示了完整的代码。
-
您的句子中是否包含 100 多个字符的单词?这是我查看库代码后看到错误发生的唯一方法。为了让它像那样永远递归,它似乎试图处理一个以空格开头的字符串,后跟至少 99 个非空格字符。
-
@Blckknght ,有中文文本,这是可能的。我注意到
_tokenize他们的标点包括中文句号,但不包括中文逗号(,)。在中文写作中,逗号的使用更像是英文中的句号。另外,我很少看到空格。也许如果有某种前导缩进,或者在一段时间后有一个空格,那么很容易有" ",然后99个字符穿插着无法识别的逗号并且没有空格。刘雨辰,你用的文字能打印一下吗?
标签: python text-to-speech google-text-to-speech