我拥有翻译服务,现在我想要实施TTS解决方案。你知道任何可以从php执行的软件,可以动态生成特定文本的mp3吗?
答案 0 :(得分:1)
如果您所在的环境中可以进行系统调用,则可以将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可能值得调查,但我实际上并没有亲自尝试过。
我知道你没有使用ubuntu,但是对于那些可能会觉得这个答案有帮助的人,有一个问题,即使你安装了所有“丑陋”的插件后,SoX仍然无法输出MP3文件。您必须手动删除.deb并修改debian / rules文件以从DEB_CONFIGURE_EXTRA_FLAGS删除--with-lame。