• 技术文章 >后端开发 >PHP问题

    PHP如何实现智能语音播报

    coldplay.xixicoldplay.xixi2020-08-03 14:03:01原创798

    PHP实现智能语音播报的方法:首先获取时间信息,并获取天气状况;然后语音合成;最后播放合成之后的语音文件,代码为【exec('sudo /usr/bin/play /tmp/audio.mp3')】。

    PHP实现智能语音播报的方法:

    第一步:获取时间信息

    举个例子,文字内容可能是这样:“主人,早上好,今天是2017年12月18号上午8点整,星期一”,这样的内容用PHP自带的几个时间函数就能搞定,然后拼接成字符文字!下面是一些简单实例代码:

    cacd7594c45346db1770d26c05a1122.png

    PHP实现智能语音播报天气

    获取时间

    第二布:获取天气状况

    举个例子,文字内容可能是这样:“今天天气多云转晴,温度5-15度,湿度80%,空气污染指数69”。要想找到一个靠谱而又免费的api还有点麻烦,很多免费的api提供的天气信息都比较简单,只有天气状况和温度,没有未来天气状况,最后我就找了个凑合用,谁有更好的api留个爪。实例代码如下:

    f1d3147d0ac351a70fc66b0471725c2.png

    PHP实现智能语音播报天气

    天气状况

    第三步:语音合成

    这个是调用的百度的接口,首先呢,你得去百度那注册一个账号,获取开发者的key和secret,会有一些免费的调用次数,不拿去商用的话完全够了!然后下载百度提供的SDK,用法非常简单,实例代码如下:

    b1f4ab657f05df6b832a14585457a83.png

    PHP实现智能语音播报天气

    大家可以看到最后的返回的内容被我存到/tmp/audio.mp3这个文件里面去了(这里使用的是Ubuntu系统),这里可能会有一个写入权限问题,建议大家最后执行脚本的时候加上sudo。

    第四步:播放合成之后的语音文件

    我们不可能去用音乐播放器手动播放,其实Linux在命令行下也可以播放音乐,需要安装一个软件,直接给大家Ubuntu下的安装命令:

    sudo apt-get install sox libsox-fmt-all

    安装完成之后就可以使用play命令播放音乐,举个例子:play hello.mp3

    所以接下来我们就可以使用PHP去执行播放命令,实例如下:

    exec('sudo /usr/bin/play /tmp/audio.mp3');

    最后,在Linux里面运行脚本,让脚本常驻后台,示例如下:

    /usr/bin/php /var/www/demo/BaiduSound/index.php > /dev/null 2>&1 &

    相关学习推荐:php图文教程

    以上就是PHP如何实现智能语音播报的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:PHP 智能语音播报
    上一篇:php数组对象有中文,输出乱码问题 下一篇:php如何设置文件上传大小
    线上培训班

    相关文章推荐

    • PHP调用科大讯飞语音服务 • PHP在线语音合成• PHP生成语音 • php语音到账api接口如何实现

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网