You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
语音合成
示例代码
<?php
include './vendor/autoload.php';
// 设置合成参数
$ttsConfig = [
'aue' => 'lame'
//...
];
// 这里的$app_id、$api_key、$api_secret是在开放平台控制台获得
$client = new IFlytek\Xfyun\Speech\TtsClient($app_id, $api_key, $api_secret, $ttsConfig);
// 返回格式为音频文件的二进制数组,可以直接通过file_put_contents存入本地文件
$content = $client->request('欢迎使用科大讯飞语音能力,让我们一起用人工智能改变世界')->getBody()->getContents();
更详细请参见Demo
合成参数
参数名 | 类型 | 必传 | 描述 | 示例 |
---|---|---|---|---|
aue | string | 是 | 音频编码,可选值: raw:未压缩的pcm lame:mp3 (当aue=lame时需传参sfl=1) speex-org-wb;7: 标准开源speex(for speex_wideband,即16k)数字代表指定压缩等级(默认等级为8) speex-org-nb;7: 标准开源speex(for speex_narrowband,即8k)数字代表指定压缩等级(默认等级为8) speex;7:压缩格式,压缩等级1-10,默认为7(8k讯飞定制speex) speex-wb;7:压缩格式,压缩等级1-10,默认为7(16k讯飞定制speex) |
"raw" "speex-org-wb;7" 数字代表指定压缩等级(默认等级为8),数字必传 标准开源speex编码以及讯飞定制speex说明请参考音频格式说明 |
sfl | int | 否 | 需要配合aue=lame使用,开启流式返回 mp3格式音频 取值:1 开启 |
1 |
auf | string | 否 | 音频采样率,可选值: audio/L16;rate=8000:合成8K 的音频 audio/L16;rate=16000:合成16K 的音频 auf不传值:合成16K 的音频 |
"audio/L16;rate=16000" |
vcn | string | 是 | 发音人,可选值:请到控制台添加试用或购买发音人,添加后即显示发音人参数值 | "xiaoyan" |
speed | int | 否 | 语速,可选值:[0-100],默认为50 | 50 |
volume | int | 否 | 音量,可选值:[0-100],默认为50 | 50 |
pitch | int | 否 | 音高,可选值:[0-100],默认为50 | 50 |
bgs | int | 否 | 合成音频的背景音 0:无背景音(默认值) 1:有背景音 |
0 |
tte | string | 否 | 文本编码格式 GB2312 GBK BIG5 UNICODE(小语种必须使用UNICODE编码,合成的文本需使用utf16小端的编码方式 GB18030 UTF8 |
"UTF8" |
reg | string | 否 | 设置英文发音方式: 0:自动判断处理,如果不确定将按照英文词语拼写处理(缺省) 1:所有英文按字母发音 2:自动判断处理,如果不确定将按照字母朗读 默认按英文单词发音 |
"2" |
rdn | string | 否 | 合成音频数字发音方式 0:自动判断(默认值) 1:完全数值 2:完全字符串 3:字符串优先 |
"0" |