我正在尝试制作一个使用 gtts 和 sounddevice 将书面文本播放到某个麦克风输入的程序。所以这是我尝试过的方法:
def speak(text, lang="en"):
tts = gTTS(text=text, lang=lang)
fp = BytesIO()
tts.write_to_fp(fp)
fp.seek(0)
sd.play(speek, device=39)
当我使用任何文本运行上面的代码时,我收到以下错误:
Traceback (most recent call last):
File "C:\Users\username\PycharmProjects\tts\tts.py", line 25, in <module>
speak("hallo", lang="de")
File "C:\Users\username\PycharmProjects\tts\tts.py", line 20, in speak
sd.play(speek, device=39)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\site-packages\sounddevice.py", line 166, in play
ctx.frames = ctx.check_data(data, mapping, kwargs.get('device'))
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\site-packages\sounddevice.py", line 2468, in check_data
frames, channels = data.shape
ValueError: too many values to unpack (expected 2)
所以我知道 data.shape 的值超过了这两个值,但那是在 sounddevice 中,所以要么是错误,要么我做错了。任何想法为什么它不起作用?