Я работаю над текстом, преобразующим текст в речь, в аудиофайлах mp3, используя python 2.5.
Я использую pyTSS в качестве модуля преобразования текста в речь python для преобразования текста в аудио .wav-файлы.(в pyTTS невозможно напрямую кодировать в формате mp3).Поэтому после этого я кодирую эти wav-файлы в формате mp3, используя кодировщик командной строки lame.
Теперь проблема заключается в том, что я хотел бы вставить (в частности, в аудиофайл 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