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

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

例如,多个汉字读音,拼成一句完整的话。那么,下面的技术就可以帮助到你了,每一个文件都是由二进制流组成的,特别是音频文件,如果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那篇文章中的代码块,大家应该都看得懂,看不懂可以参考上一篇文章。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自在如风。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值