小编dee*_*lue的帖子

如何有效地将 gtts 音频转换为 pydub 音频片段?

我想在 pydub 中操作 gtts 音频,但我不确定如何将 gtts 文件转换为 pydub 音频。

我知道我可以将谷歌文本转换为语音音频到 mp3,并且我知道我可以使用 pydub 导入 mp3,但这个过程效率很低。有没有办法跳过创建 mp3 文件并将其读回?

我尝试使用 gtts file-like 作为参数,AudioSegment.from_mp3()但我很确定它正在寻找一个字符串。

from gtts import gTTS
from io import BytesIO
from pydub import AudioSegment

mp3_fp = BytesIO()
tts = gTTS('hello', 'en')
tts.write_to_fp(mp3_fp)
song = AudioSegment.from_mp3(mp3_fp)
Run Code Online (Sandbox Code Playgroud)

我收到“无法解码错误”:

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/py/ex/gtts_test.py", line 18, in <module>
    song = AudioSegment.from_mp3(mp3_fp)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pydub\audio_segment.py", line 716, in from_mp3
    return cls.from_file(file, 'mp3', parameters=parameters)

  File "C:\ProgramData\Anaconda3\lib\site-packages\pydub\audio_segment.py", line 704, in …
Run Code Online (Sandbox Code Playgroud)

pydub gtts

4
推荐指数
1
解决办法
1356
查看次数

标签 统计

gtts ×1

pydub ×1