分享到:

百度语音api之文字转语音接口

日期:2017-04-21     阅读:70     文章来源:源美设计     标签:语音

今天偶然发现一个百度的文字转语音接口,通过url的方式直接向接口发送参数,包含需要转换成语音的文字,浏览器会直接返回播放器播放识别出来的语音,而且可以通过参数控制语速、文本语言等。


百度语音合成官网地址http://yuyin.baidu.com/tts。接口地址:


http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=这里是需要转换为语音的文本内容

这个接口可以直接复制到浏览器地址栏enter,会出现一个语音播放器播放text参数的文本内容。


lan参数是语言,zh-中文 en-英文,其他的没有尝试。

spd参数是语速,1-9,数字越大语速越快,朗读中文感觉6语速最合适。

text参数就是需要合成为语音的文本内容了。


通过js方式传参实现朗读:


<script>

var zhText = "常亮的技术博客,专注于php开发,一个自由职业者。www.diantuo.net"; 

zhText = encodeURI(zhText);

document.write("<audio autoplay=\"autoplay\">");

document.write("<source src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=6&text="+ zhText +"\" type=\"audio/mpeg\">");

document.write("<embed height=\"0\" width=\"0\" src=\"http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=6&text="+ zhText +"\">");

document.write("</audio>");

</script>

实际应用,应该可以直接通过ajax实时的传文本内容给接口实现文本转语言。

当然也可以直接抓取下载生成的语音文件,尝试了下,可以直接下载下来,写一个php的实现代码举例:


<?php

header("Content-type:text/html;charset=utf-8");

$text=urlencode("常亮的技术博客,专注于php开发,一个自由职业者。www.diantuo.net");

$url="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=6&text=".$text;

getimg($url,"");

function getimg($url,$dirname) { 

$filename=rand(100,999).".mp3"; //演示用,直接生成一个三位随机数的文件名

ob_start(); 

readfile($url); 

$img = ob_get_contents(); 

ob_end_clean(); 

$size = strlen($img); 

$fp2=@fopen($filename, "a"); 

fwrite($fp2,$img); 

fclose($fp2); 

return $filename; 


?>

以上的php代码会直接把生成的语音直接download到本地。更深层次的应用就不写了,待续。



文章引用:http://www.szymweb.com/new/231.html

本站文章为深圳网站建设·源美设计原创策划,如有版权纠纷或者违规问题,请联系我们删除,谢谢!

上一篇:Centos安装dos2unix

下一篇:微信小程序初体验

返回列表
最新案例
OUR ADVANTAGE WORKS