使用php进行文本到语音转换


text to speech with 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>

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