用php实现文本到语音的转换

用php实现文本到语音的转换,php,html,text-to-speech,Php,Html,Text To Speech,我想写一个剧本 文字转换成语音,但它不是我用英语录制的音频字母表 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的代码,表单可以将文本转换为语音 例如,我在文本输入中写

我想写一个剧本

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

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,然后按Read!因此php将播放a.mp3、b.mp3和c.mp3

接二连三

代码将是怎样的


还有没有更好的方法让文本到语音的网络化???

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>

text2speech($string){
$letters=分解($string);
foreach($字母为$字母){播放声音($字母);}
}
播放声音(字母){
$letter.“mp3.play();
while($letter.isPlaying()==true){/*等待声音结束*/}
}
Javascript和HTML5非常适合您的需要,您需要使用音频HTML5标记,使用Javascript向DOM添加元素,然后使用Javascript调用它们的.play()方法。 我写的伪代码不是完全正确的,因为您需要将音频元素添加到DOM中,等等,我只是为了让您理解这个想法而写的。
祝你好运

看看TTS,人类的语言不仅仅是把字母串在一起。有音素、共振峰等。请使用众多webservice API中的一种,或者看看类似espeak的OSS实现。或者谷歌的“命令行TTS”。谢谢你们,但我的语言并没有在故意语言中列出。所以这个API不能用在我的项目中:(那么也许你应该告诉我们更多关于你的语言,或者你实际上想要实现什么。好的,我的语言是库尔德语,我们使用拉丁字母:P