普通语音(没文件头,即非wav)合成技术

xiaoxiao2021-02-28  79

如题。 这一篇主要讲解,如果你有多个单独的音频文件,你想拼成一句话怎么办。

例如,多个汉字读音,拼成一句完整的话。那么,下面的技术就可以帮助到你了,每一个文件都是由二进制流组成的,特别是音频文件,如果1+1=2,那么音频是否也可以 单个字二进制流+单个字二进制流 = 一个词语的二进制流呢 ? 我做了如下测试,发现可以。 <?php //$voice_array是指你所需要的句子的单个汉字的数组。 下面有拆分的function $content = ''; echo '这是用来寻找本地音频的拼音内容 : '; foreach ($voice_array as $value) { echo "\r\n".$value."\r\n"; $fileName="///kuangyifei/voice_engine/data_wav/".$value;//原始wav文件的所有单个汉字音频 $handle=fopen($fileName,"r"); $content1=fread($handle,filesize($fileName)); $content = $content.$content1; } $file=fopen("3.wav","w");//重塑之后生成的汉字的音频存储位置。 fwrite($file,$content); fclose($file); ?> <?php //将传递过来的句子,划分为一个一个的单独的字符。方便获取音频 function str_split_unicode($str, $l = 0) { if ($l > 0) { $ret = array(); $len = mb_strlen($str, "UTF-8"); for ($i = 0; $i < $len; $i += $l) { $ret[] = mb_substr($str, $i, $l, "UTF-8"); } return $ret; } return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY); } ?>

上面这段代码是从非网络tts那篇文章中的代码块,大家应该都看得懂,看不懂可以参考上一篇文章。

转载请注明原文地址: https://www.6miu.com/read-81494.html

最新回复(0)