繁体   English   中英

如何在 python 中将文本转换为语音(mp3 文件)?

[英]How can I convert text to speech (mp3 file) in python?

我可以使用 puttsx 在 python 中将文本转换为语音。 我可以使用麦克风(耳机)将音频录制到 mp3 文件中。

我想要做的是将文本转换为 mp3 文件。
有没有办法将使用 pyttsx 播放的音频存储到 memory 或 unicode 字符串。

任何人都可以帮助我将音频存储到 memory,或者我如何将该字符串转换为 mp3 文件。

要从文本文件生成音频文件,我正在使用此代码希望它可以帮助您

from comtypes.client import CreateObject    
engine = CreateObject("SAPI.SpVoice")
stream = CreateObject("SAPI.SpFileStream")
from comtypes.gen import SpeechLib
infile = "SHIVA.txt"
outfile = "SHIVA-audio.wav"
stream.Open(outfile, SpeechLib.SSFMCreateForWrite)
engine.AudioOutputStream = stream
f = open(infile, 'r')
theText = f.read()
f.close()
engine.speak(theText)
stream.Close()

我不知道 pyttsx,但不久前我使用 Google TTS API 从文本生成 MP3。

您可以从这个代码片段中了解它是如何工作的。 Google TTS 的免费版本被限制为每个请求一定数量的字母,因此我建议将文本拆分为句子并为每个句子创建一个文件。

如果您需要这方面的帮助,请告诉我。

您可以通过将“theText”字符串拆分为一个数组来绕过 100 个字符的规则: theText = f.read().split("<null>") (我使用“<null>”作为分隔符)将分隔符放入正文每句或空格前 100 个字符。 创建一个 for 循环: for section in theText:并且每个部分都运行engine.Speak(section)

我希望这有助于 100 个字符的限制!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM