У меня есть служба перевода, и теперь я хочу реализовать решение TTS. Знаете ли вы какое-либо программное обеспечение, которое может быть выполнено с php для генерации mp3-файлов «на лету» для определенного текста?Может кто-нибудь порекомендовать мне решение TTS в PHP для сервера CentOs?
ответ
Если вы находитесь в среде, где вы можете сделать системные вызовы, вы могли бы трубу выхода Festival в lame так:
<?php
$infile = tempnam();
file_put_contents($input, 'My name is judge');
$outfile = "/path/to/output.mp3";
$cmd = "text2wave -f 22050 < {$infile} | lame --quiet --preset medium - {$outfile}";
$output = $status = null;
exec($cmd, $output, $status);
Если вы хотите сделать дальнейшую обработку, а также преобразования, вы может конвейер вывод text2wave в SoX вместо, который также может выполнять преобразование для вас:
text2wave -f 22050 < input.txt | sox - output.mp3
Значение по умолчанию фестиваля голос, кажется, немного брюки, хотя, так this article МИГА ht стоит исследовать, но я на самом деле не пробовал это сам.
Я знаю, что вы не используете ubuntu, но для других, которые могут найти этот ответ полезным, возникает проблема, когда даже после установки всех «уродливых» плагинов SoX по-прежнему не может выводить файлы MP3. Вы должны вручную демонтировать файл .deb и изменить файл debian/rules, чтобы удалить --without-lame из DEB_CONFIGURE_EXTRA_FLAGS.