我拥有翻译服务,现在我想实施 TTS 解决方案。你知道任何可以从 php 执行的软件来为特定文本即时生成 mp3 吗?
1 回答
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,SoX 也可以为您进行转换:
text2wave -f 22050 < input.txt | sox - output.mp3
虽然默认的节日声音似乎有点裤子,所以这篇文章可能值得研究,但我自己并没有真正尝试过。
我知道您没有使用 ubuntu,但对于其他可能会发现此答案有帮助的人,有一个问题是,即使您安装了所有“丑陋”的插件,SoX 仍然无法输出 MP3 文件。您必须手动拆除 .deb 并修改 debian/rules 文件以从 DEB_CONFIGURE_EXTRA_FLAGS 中删除 --without-lame。
于 2010-07-18T07:38:09.300 回答