【问题标题】:text to speech with php [closed]用php文本到语音[关闭]
【发布时间】:2015-01-07 10:23:39
【问题描述】:

我想做一个脚本

文字转语音,但不是英文我录制的音频字母表

a.mp3、b.mp3、c.mp3。

我用html创建了一个表单

<form action='read.php' method='post'>
<input type='text' name='text' size='50'>
<input type='submit' name='go' value='Read!'>

但我需要带有 php 的代码,其中表单将文本转换为语音

例如,我在文本输入中写 abc,然后按阅读!所以php会播放a.mp3、b.mp3和c.mp3

一个接一个

代码将如何?

还有没有更好的方法来制作基于网络的文本到语音??

【问题讨论】:

  • thisTTS API
  • 人类语言不仅仅是连接字母。有音素、共振峰等。使用众多 Web 服务 API 之一,或者查看 espeak 之类的 OSS 实现。或谷歌“命令行 TTS”。
  • 谢谢大家,但我的语言没有以有意的语言列出。所以API不能在我的项目中使用:(
  • 那么也许你应该告诉我们更多关于你的语言,或者你真正想要完成的事情。
  • 好吧,我的语言是库尔德语,我们使用的是拉丁字母:P

标签: php html text-to-speech


【解决方案1】:

PHP 是服务器端的,不能使用 PHP 播放 mp3。 您将需要客户端代码来播放声音(javascript、HTML5、FLASH、..) 你可以用 php 做的就是解析字符串(例如:“abcd”)并检查是否 你有“a.mp3,b.mp3,c.mp3,d.mp3”然后通过会话或_GET方法传输它。 但是,这不是最好的方法,因为您可以使用 javascript 或 actionscript 代码来制作相同的东西,而且您需要客户端代码以正确的顺序播放声音。

伪代码示例:

<html>
    <script>
         text2speech($string){
             $letters = explode($string);
             foreach($letters as $letter){ play_sound($letter); }
         }
         play_sound($letter){
             $letter."mp3".play();
             while($letter.isPlaying() == true){ /*wait for the sound to finish*/ }
         }
    </script>

    <form>
        <input type="text" name="text2READ"><input type="submit" onlick="text2speech(text2READ.getValue())">
    </form>
</html>

Javascript 和 HTML5 非常适合您想要做的事情,您需要使用音频 HTML5 标签,并使用 javascript 将元素添加到您的 DOM,然后使用 javascript 调用它们的 .play() 方法。 我写的伪代码并不完全正确,因为您需要将音频元素添加到您的 DOM 等,我只是写了它以便您理解这个想法。 祝你好运

【讨论】:

    猜你喜欢
    • 2011-06-08
    • 2014-09-01
    • 2011-02-14
    • 2011-07-23
    • 2011-04-05
    • 2011-10-26
    • 2010-10-12
    • 2021-09-07
    • 1970-01-01
    相关资源
    最近更新 更多