阿里云

百度AI接口开发文字转语音功能

今天做了一个功能,开始一个文字转语音的功能,主要应用于网站文章阅读。使用了百度AI的语音合成接口。下面详细的来说一下;

一、准备工作

前往百度AI官网注册账户或直接登录。在控制台中创建应用,填写应用说明,如下图:


2020-03-30_222854.png


二、获取参数值

我们要记录下AppID、API Key、Secret Key这三个参数值,后续我们会使用到。


QQ截图20200330223013.png


三、下载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为情感合成-度丫丫,
默认为普通女   否



喜欢就点个赞吧

发表评论

需要先登录,才能发表评论哦!登录

网友评论
暂无评论