概述
如题。
这一篇主要讲解,如果你有多个单独的音频文件,你想拼成一句话怎么办。
例如,多个汉字读音,拼成一句完整的话。那么,下面的技术就可以帮助到你了,每一个文件都是由二进制流组成的,特别是音频文件,如果1+1=2,那么音频是否也可以 单个字二进制流+单个字二进制流 = 一个词语的二进制流呢 ? 我做了如下测试,发现可以。
<?php
//$voice_array是指你所需要的句子的单个汉字的数组。 下面有拆分的function
$content = '';
echo '这是用来寻找本地音频的拼音内容 : ';
foreach ($voice_array as $value) {
echo "rn".$value."rn";
$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那篇文章中的代码块,大家应该都看得懂,看不懂可以参考上一篇文章。
最后
以上就是儒雅季节为你收集整理的普通语音(没文件头,即非wav)合成技术的全部内容,希望文章能够帮你解决普通语音(没文件头,即非wav)合成技术所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复