0

我正在尝试制作一个使用 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 中,所以要么是错误,要么我做错了。任何想法为什么它不起作用?

4

0 回答 0