我使用python 2.5工作文本到語音轉換文本,在音頻mp3文件中。從PyTTS的音頻流編碼mp3
我用pyTSS爲Python文本到語音模塊,音頻.wav文件轉換文本(在pyTTS是不可能的MP3格式的直接編碼)。那之後,我使用lame命令行編碼器以mp3格式編碼這些wav文件。
現在,問題是,我想插入(特別是在兩個單詞之間的音頻mp3文件點)一個特定的外部聲音文件(如聲音警告)或(如果可能的話生成警告聲音) 。
的問題是:
1)我已經看到,PyTTS有可能保存在一個文件或內存流音頻流。使用兩個功能:
tts.SpeakToWave(文件,文本)或tts.SpeakToMemory(文本)
開拓tts.SpeakToMemory(文本)功能,並使用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文件。
我希望已經清楚。 :-)
非常感謝您對我提問的回答。
Giulio的