说明
腾讯云语音合成技术(TTS)可以将任意文本转化为语音,实现让机器和应用张口说话。 腾讯 TTS 技术可以应用到很多场景,例如,移动 App 语音播报新闻,智能设备语音提醒,支持车载导航语音合成的个性化语音播报。本接口内测期间免费使用。
接口请求域名:
tts.cloud.tencent.com/stream
开发环境
说明
此版本 SDK 适用于 PHP5.4.16 及以上版本。
下载 SDK:流式语音合成 PHP SDK 下载地址。
安装 SDK:源码安装。根据下载地址下载源码,将源码中的
* .php
复制到项目中即可使用。卸载 SDK:卸载删除
* .php
即可。
获取用户信息
获取 AppID,SecretId 和 SecretKey
进入 API 密钥管理页面,获取 AppID、SecretId 和 SecretKey。
登录您的 腾讯云控制台 账号,鼠标悬停到右上角账号名称处,选择访问管理 > 访问密钥 > API 密钥管理,即可查看 AppID、SecretId 和 SecretKey。
更改用户信息配置文件
将查询到的用户信息更改到
php_tts_sdk/Config.php
中。#需要配置成用户账号信息static $SECRET_ID = "AKID********************************";static $SECRET_KEY = "kKm2*******************************";static $APPID = 1255*********;
开发相关
请求参数
参数名称 | 必选 | 类型 | 描述 |
Action | 是 | String | 本接口取值:TextToStreamAudio,不可更改。 |
AppId | 是 | Int | |
SecretId | 是 | String | 用户在腾讯云注册账号 AppId 对应的 SecretId,获取方法同上。 |
Text | 是 | String | 合成语音的源文本。中文最大支持600个汉字(全角标点符号算一个汉字),英文最大支持1800个字母(半角标点符号算一个字母)。包含空格等字符时需要 URL encode 再传输。 |
SessionId | 是 | String | 一次请求对应一个 SessionId,会原样返回,建议传入类似于 uuid 的字符串防止重复。 |
ModelType | 否 | Int | 模型类型,1:默认模型,此字段只需设置为1即可。 |
Volume | 否 | Float | 音量大小,范围:[0,10],分别对应11个等级的音量,默认值为0,代表正常音量。没有静音选项。 输入除以上整数之外的其他参数不生效,按默认值处理。 |
Speed | 否 | Int | 语速,范围:[-2,6],分别对应不同语速:
-2代表0.6倍
-1代表0.8倍
0代表1.0倍(默认)
1代表1.2倍
2代表1.5倍
6代表2.5倍
若需要更细化的语速档次,可以保留小数点一位,如-1.1, 0.5, 1.7等
参数值与实际语速转换,可参考代码示例 |
VoiceType | 否 | Int | |
PrimaryLanguage | 否 | Int | 主语言类型: 1:中文(默认) 2:英文 |
SampleRate | 否 | Int | 音频采样率: 16000:16k(默认) 8000:8k |
Codec | 否 | String | 返回音频格式: opus:返回多段含 opus 压缩分片音频 pcm:返回二进制 pcm 音频 mp3:返回二进制 mp3 音频 |
ProjectId | 否 | Int | 项目 ID,可以根据控制台-账号中心-项目管理中的配置填写,如无配置,请填写默认项目 ID:0。 |
Timestamp | 是 | Int | 当前 UNIX 时间戳,可记录发起 API 请求的时间。如果与当前时间相差过大,会引起签名过期错误。SDK 会自动赋值当前时间戳。 |
Expired | 是 | Int | 签名的有效期,是一个符合 UNIX Epoch 时间戳规范的数值,单位为秒;Expired 必须大于 Timestamp 且 Expired-Timestamp 小于90天。SDK 默认设置1小时。 |
PHP 快速入门示例
参考
php_tts_sdk/TCloudTTS.php
。<?phprequire ('TTSUtil.php');# 1. 先修改好 Config.php 文件中的配置值。# 2. TEXT为每次请求的文本,SESSION_ID 建议每次请求修改成唯一 ID,例如 uuid。Config :: $TEXT = "您好,五一节准备去哪里玩啊";Config :: $SESSION_ID = guid();//echo "Session id : " . Config :: $SESSION_ID . "\\n";# 2. 调用获取pcm格式音频$result = getVoice();$pcm_file = fopen('./test.pcm', "w");fwrite($pcm_file, $result);?>