智龄语音+php

由于公司服务器环境及各项限制条件,我们采用的是从前端录制音频,将音频由前端上传至阿里云oss(将服务器压力转到阿里云),再由php将得到的音频用智龄语音进行评分判定。
1.账号准备:
腾讯云账户secretId,secretKey

SDK文档中心
下载php版本的sdk
下载PHP版本
参照 示例/soe/v20180724/的例子,结合API文档,最终选定了“发音数据传输接口附带初始化过程”
在这里插入图片描述
注意:音频采用率必须是16k采样率16bit位深单声道

以下是tp5.1的示例

<?php
namespace app\api\controller;

use TencentCloud\Soe\V20180724\Models\TransmitOralProcessWithInitRequest;
use TencentCloud\Soe\V20180724\SoeClient;
use TencentCloud\Soe\V20180724\Models\InitOralProcess;
use TencentCloud\Common\Exception\TencentCloudSDKException;
use TencentCloud\Common\Credential;
use TencentCloud\Common\Profile\ClientProfile;
use TencentCloud\Common\Profile\HttpProfile;
use think\facade\Request;


class Api{
    public function __construct()
    {
        require_once '../extend/tencentcloud-sdk-php-master/TCloudAutoLoader.php';

    }
    public function test(){
        $this->init_index(Request::param('text'),Request::param('url'));
    }
    public function init_index($text='',$url=''){   //识别文本,识别语音
        try{
            // 实例化一个证书对象,入参需要传入腾讯云账户secretId,secretKey
            $cred = new Credential("secretId","secretKey");

            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            $httpProfile = new HttpProfile();
            $httpProfile->setReqMethod("POST");  // post请求(默认为post请求)
            $httpProfile->setReqTimeout(30);    // 请求超时时间,单位为秒(默认60秒)
            $httpProfile->setEndpoint("soe.tencentcloudapi.com");  // 指定接入地域域名(默认就近接入)

            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            $clientProfile = new ClientProfile();
            $clientProfile->setSignMethod("TC3-HMAC-SHA256");  // 指定签名算法(默认为HmacSHA256)
            $clientProfile->setHttpProfile($httpProfile);
            $client = new SoeClient($cred, "", $clientProfile);

            $str = base64_encode(file_get_contents($url));
            // 实例化一个ecc实例信息查询请求对象,每个接口都会对应一个request对象。
            $req = new TransmitOralProcessWithInitRequest();
            $sessionid = rand(100000,999999);
            $req->SessionId = "stress_test_".$sessionid; //语音段唯一标识,一个完整语音一个SessionId。
            $req->VoiceFileType = 3; //语音文件类型 1:raw, 2:wav, 3:mp3 三种格式目前仅支持16k采样率16bit编码单声道,如有不一致可能导致评估不准确或失败
            $req->SeqId = 1;    //流式数据包的序号,从1开始
            $req->VoiceEncodeType = 1;  //语音编码类型 1:pcm。
            $req->IsEnd = 1;    //是否传输完毕标志,若为0表示未完毕,若为1则传输完毕开始评估,非流式模式下无意义。
            $req->TextMode = 0;    //输入文本模式,0: 普通文本,1:音素结构文本。
            $req->UserVoiceData = $str;

            $req->RefText = $text;    //被评估语音对应的文本
            $req->WorkMode = 1; //语音输入模式,0:流式分片,1:非流式一次性评估
            $req->EvalMode = 3; //评估模式,0:词模式 1:句子模式 2:段落模式 3:自由说模式
            $req->ScoreCoeff = 2; //评价苛刻指数,取值为[1.0 - 4.0]范围内的浮点数,用于平滑不同年龄段的分数,1.0为小年龄段,4.0为最高年龄段
            $resp = $client->TransmitOralProcessWithInit($req);
            // 输出json格式的字符串回包
            return $resp->toJsonString();
        }catch (TencentCloudSDKException $e) {
            return $e;
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值