前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语音合成之PHP合并多个mp3文件为一个文件

语音合成之PHP合并多个mp3文件为一个文件

作者头像
申霖
发布2020-04-02 18:03:50
2K0
发布2020-04-02 18:03:50
举报
文章被收录于专栏:小白程序猿小白程序猿

近期在做一个文字转语音的功能,使用的是百度AI的语音合成接口,使用起来比较简单,文档说明也比较好。但是在转换文字长度上面有限制,官方给出解决办法是多次调用接口生成音频文件。这个方式也是可以的。但是我想在文字转换后可以播放、暂停等功能,如果是多个音频文件,那就没有办法进行暂停操作了。或者操作起来比较麻烦,还是将多个音频文件合成到一个文件中。

以前也没有做过这方面的合成。想了一天的时间,晚上使用PHP的fopen函数操作的。下面一起来看一下代码吧!

代码语言:javascript
复制
$file = fopen('./music.mp3', 'wb');
for ($a = 0; $a < $num; $a++) {
    $cacheFileName = './file/' . $a . '.mp3';
    $cacheFile     = fopen($cacheFileName, 'rb');
    $content       = fread($cacheFile, filesize($cacheFileName));
    fwrite($file, $content);
    fclose($cacheFile);
    unlink($cacheFileName);
}
fclose($file);

读取目录下所有的音频文件,例如0.mp3、1.mp3、2.mp3。单文件我是按照0下标开始生成的。通过循环依次读取文件并打开文件,将文件信息写入到目标合成文件中,并关闭文件,然后将单个文件进行删除。经过测试合成的文件可以正常播放。目前只测试了mp3格式的音频文件合成。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音合成
语音合成(Text To Speech,TTS)满足将文本转化成拟人化语音的需求,打通人机交互闭环。提供多场景、多语言的音色选择,支持 SSML 标记语言,支持自定义音量、语速等参数,让发音更专业、更符合场景需求。语音合成广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档