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

时间:2013-03-20 06:15:33

标签: python audio mp3 text-to-speech

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

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

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

2 个答案:

答案 0 :(得分:2)

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

您可以从this code snippet了解其工作原理。免费版Google TTS仅限于每个请求的一定数量的字母,因此我建议将文本拆分为句子并为每个句子创建一个文件。

如果您需要帮助,请告诉我。

答案 1 :(得分:2)

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

from comtypes.client import CreateObject
from comtypes.gen import SpeechLib    
engine = CreateObject("SAPI.SpVoice")
stream = CreateObject("SAPI.SpFileStream")
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()