我使用 python 2.5 处理音频 mp3 文件中的文本到语音转换文本。
我使用 pyTSS 作为 python Text-To-Speech 模块,以转换音频 .wav 文件中的文本(在 pyTTS 中无法直接以 mp3 格式编码)。因此,在那之后,我使用 lame 命令行编码器以 mp3 格式对这些 wav 文件进行编码。
现在,问题是,我想插入(特别是音频 mp3 文件的点,在两个单词之间)一个特定的外部声音文件(如声音警告)或(如果可能的话,生成警告声音)。
问题是:
1)我已经看到 PyTTS 有可能将音频流保存在文件或内存流中。使用两个功能:
tts.SpeakToWave(文件,文本)或 tts.SpeakToMemory(文本)
利用 tts.SpeakToMemory(text) 函数,并使用 PyMedia 我已经能够直接保存一个 mp3,但是 mp3 文件(复制时)听起来像唐老鸭一样难以理解!:-) 这里有一段代码:
params = {'id': acodec.getCodecID('mp3'), 'bitrate': 128000, 'sample_rate': 44100, 'ext': 'mp3', 'channels': 2}
m = tts.SpeakToMemory(p.Text)
soundBytes = m.GetData()
enc = acodec.Encoder(params)
frames = enc.encode(soundBytes)
f = file("test.mp3", 'wb')
for frame in frames:
f.write(frame)
f.close()
我不明白问题出在哪里?!?这种可能性(如果它可以正常工作),最好跳过 wav 文件转换步骤。
2) 作为第二个问题,我需要将音频 mp3 文件(从文本到语音模块获得)与特定的警告声音连接起来。
显然,如果我可以在将整个音频内存流编码为唯一的 mp3 文件之前,将文本的音频内存流(在文本到语音模块之后)和警告声音的流连接起来,那就太好了。
我还看到 tksnack 库可以连接音频,但它们不能编写 mp3 文件。
我希望已经清楚了。:-)
非常感谢您对我的问题的回答。
朱利奥