百度AI接口开发文字转语音功能
今天做了一个功能,开始一个文字转语音的功能,主要应用于网站文章阅读。使用了百度AI的语音合成接口。下面详细的来说一下;
一、准备工作
前往百度AI官网注册账户或直接登录。在控制台中创建应用,填写应用说明,如下图:
二、获取参数值
我们要记录下AppID、API Key、Secret Key这三个参数值,后续我们会使用到。
三、下载SDK(PHP语言)
点击上图右侧的管理,进入SDK下载页面,选择PHPSDK进行下载。将下载后的压缩包进行解压。我们要使用的是ApiSpeech.php文件。稍后我们详细的看一下代码。其他的文件我们不必做修改和调整。
├── AipSpeech.php //语音合成 └── lib ├── AipHttpClient.php //内部http请求类 ├── AipBCEUtil.php //内部工具类 └── AipBase //Aip基类
四、示例代码
注意:使用时需要将参数替换成自己的哦!
//调用 createAudioFrequencyFile('中国人',3,1) /** * @param $content * @param $type * @param $id */ function createAudioFrequencyFile($content, $type, $id) { require_once './AipSpeech.php'; // 你的 APPID AK SK $app_id = '19160125'; $api_key = '4UyG4yLARkLQL0fn------'; $secret_key = '5n5vDd6H6kfGCNPVc-----'; $client = new AipSpeech($app_id, $api_key, $secret_key); $result = $client->synthesis($content, 'zh', 1, [ 'vol' => 5, 'aue' => 3, 'per' => $type ]); // 识别正确返回语音二进制 错误则返回json 参照下面错误码 if (!is_array($result)) { file_put_contents($id . '_' . $type . '.mp3', $result); } else { if (isset($result['error_code'])) { echo json_encode(['code' => $result['error_code'], 'msg' => $result['error_msg']]); die; } else { echo json_encode(['code' => 100, 'msg' => '接口错误']); die; } } }
五、参数解读
参数 类型 描述 是否必须
tex String 合成的文本,使用UTF-8编码,
请注意文本长度必须小于1024字节 是
cuid String 用户唯一标识,用来区分用户,
填写机器 MAC 地址或 IMEI 码,长度为60以内 否
spd String 语速,取值0-9,默认为5中语速 否
pit String 音调,取值0-9,默认为5中语调 否
vol String 音量,取值0-15,默认为5中音量 否
per String 发音人选择,
0为女声,
1为男声,
3为情感合成-度逍遥,
4为情感合成-度丫丫,
默认为普通女 否