要先注册阿里云帐号,开通智能语音服务

class tts{

private $access_id = '';

private $ak_secret = '';

private $audioType = '';

public function __construct($access_id,$ak_secret,$audioType)

{

$this->access_id = $access_id;

$this->ak_secret = $ak_secret;

$this->audioType = $audioType;

}

public function curlRequest($url, $params , $is_post = false, $time_out = 10, $header=array())

{

$str_cookie = isset($ext_params['str_cookie']) ? $ext_params['str_cookie'] : '';

$ch = curl_init();//初始化curl

curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页

curl_setopt($ch, CURLOPT_HEADER, 0);//设置是否返回response header

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上

//当需要通过curl_getinfo来获取发出请求的header信息时,该选项需要设置为true

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

curl_setopt($ch, CURLOPT_TIMEOUT, $time_out);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time_out);

curl_setopt($ch, CURLOPT_POST, $is_post);

if ($is_post) {

curl_setopt($ch, CURLOPT_POSTFIELDS, $params);

}

if ($str_cookie) {

curl_setopt($ch, CURLOPT_COOKIE, $str_cookie);

}

if ($header) {

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

}

$response = curl_exec($ch);

curl_close($ch);

return $response;

}

public function tts_voice($body,$file){

$bodyMd5 = base64_encode(md5($body,true));

$method = "POST";

$audioType = $this->audioType;

$content_type = "text/plain";

$date = gmdate("D, d M Y H:i:s \G\M\T");

$accept = "audio/" . $audioType.';samplerate=16000' . ", application/json";

$stringToSign = $method."\n".$accept."\n".$bodyMd5."\n".$content_type."\n".$date;

$access_id = $this->access_id;

$ak_secret = $this->ak_secret;

$signature = base64_encode(hash_hmac('sha1',$stringToSign,$ak_secret,true)); $header = [

'Date: '.$date,

'Content-type: '.$content_type,

'Authorization: Dataplus '.$access_id.':'.$signature,

'Accept: '.$accept,

'Content-Length: '.strlen($body)

];

$url = 'http://nlsapi.aliyun.com/speak?encode_type='.$this->audioType.'&voice_name=xiaoyun&volume=50';

$re = $this->curlRequest($url, $body, true, 60, $header);

$file = $file.'.'.$this->audioType;

$f = fopen($file, 'w');

fwrite($f, $re);

fclose($f);

}

}

$access_id = 'xxxxxxxxxxxxxx';//阿里云的access_id

$ak_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxx';//阿里云的access_key

$audioType = 'mp3';

$text = '床前明月光,疑是地上霜。举头望明月,低头思故乡。';

$obj = new \tts($access_id,$ak_secret,$audioType);

$obj->tts_voice($text,'12');//要转换的文本,生成的文件名

vue 文字转语音mp3_阿里云tts 将文字转换成语音相关推荐

  1. 使用阿里云TTS实现web语音播报

    一.开通阿里云TTS服务 登录阿里云,选择菜单:产品->人工智能->语音合成 点击"申请开通",然后在"管理控制台"创建一个项目 复制 appkey ...

  2. 在vue项目或网页上实现文字转换成语音

    ** 在vue项目或网页上简单实现文字转换成语音播放 ** 一.在网页上实现文字转换成语音 方式一: 摘要:语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为 ...

  3. html 语音转换成文本,vue项目或网页上实现文字转换成语音播放功能

    一.在网页上实现文字转换成语音 方式一: 摘要:语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 1. 使用百度的接口: ...

  4. 阿里云 OCR 图片文字识别接口使用案例(java)

    阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...

  5. Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)

    Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别) 一: 前言 继上一篇文章有段时间了,上一篇文章的身份证和银行卡的识别时通过本地的opencv库,tess-two库识别 ...

  6. Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别)

    Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别) 一: 前言 上一篇文章是通过阿里云Api实现在android中扫描身份证和从相册中选取身份证图片识别身份证信息的功能, ...

  7. 怎么将文字转换成语音?

    将文字转换成语音的形式有很多种,有的时候我们可以将准备好的文字文件转换成语音的形式,下面小编就给大家简单介绍一下. 步骤一:将文字转换成语音的形式并不是很困难,我们首先需要将文字准备好,然后通过在浏览 ...

  8. 准备好的文字转换成语音的方法

    有些文件是可以进行转换的,当我们用文字的形式记录一些重要内容的时候,我们是可以将这些文字转换成语音的形式播放出来,那么我们是怎么进行文字转换成语音. 步骤一:我们可以通过搜索进入到迅捷语音云服务中去, ...

  9. 几行代码就搞定一个文字识别功能,同时还能转换成语音,畅快!

    前几天想把一篇不错的文章保存下来,无奈是图片的,于是想利用python把图片中的文字识别出来 实现的方式还是挺多的,这里介绍下百度的AI开放平台,毕竟大公司,感觉识别的精度会高点,同时相信他们的算法也 ...

最新文章

  1. 如何维持手机电池寿命_一块能用百年的手机电池将诞生,你愿意花高价购买吗?...
  2. noah的前端面试题(三)|掘金技术征文
  3. 20181127-1附加作业 软件工程原则的应用实例
  4. 全网最详细SpringBatch读(Reader)混合文件讲解
  5. 张萍萍山东大学计算机科学系毕业生,并行驰骋,放“码”来战!看先导杯大奖赛上山大风采...
  6. linux 文件的目录,Linux文件及目录管理
  7. 裁剪平面ClipPlane
  8. Java取整函数(ceil、floor、round)
  9. 计算机不能关机处理方法,电脑无法关机的解决办法
  10. 木瓜移动荣获金茶奖2021年度游戏服务企业称号
  11. CCD视觉检测设备如何选择光源
  12. 【数据结构与算法】task3 排序二分查找
  13. JAVA读取注册表中的值
  14. 国内外电信运营商云计算实施情况对比分析
  15. GEE(1):GEE 影像去云(Sentinel-2)
  16. Siemens.Tecnomatix.16.0.1安装包及安装教程
  17. 并发数和TPS的理解
  18. 华为mate10用的android版本,华为Mate10搭载安卓8.0系统 详细参数配置曝光
  19. 如何优雅的设计一个告警系统?远没有你想的那么简单
  20. 屏蔽布线中桥架系统安装说明

热门文章

  1. SOCKET聊天室字符界面版
  2. 可以方便的将SQL语句的执行结果显示成表格结果的JAVA类,可以用于不同的数据显示
  3. 《天天数学》连载33:二月二日
  4. 【codevs1021】玛丽卡,以前屯着的最短路
  5. C ++ 指针 | 指针与函数_7
  6. 修饰性形容词-big、good、high_35
  7. 2017.9.4 栅栏 失败总结
  8. 2017.4.19 数列 思考记录
  9. sdoi r1前的注意事项
  10. java的子类对象_在Java中将子类对象分配给超类对象时会发生什么?