[石榴翻译] 维吾尔语音识别 + TTS语音合成

API网址

丝路AI平台

获取 Access token

接口地址:https://open.xjguoyu.cn/api/auth/oauth/token ,请求方式:GETPOST

Access token是调用服务API的凭证,调用服务API之前需要获取 token。每次成功获取 token 以后只有 两个小时的有效期。参数说明如下:

|------------|------|------------------------|
| 参数名 | 是否必须 | 说明 |
| grant_type | 是 | 固定值:client_credentials |
| client_id | 是 | 客户端ID |
| secret | 是 | 客户端秘钥 |

请求PHP代码

php 复制代码
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Cache;

// Access token 获取
    public function AccessToken(){

        // 缓存中删除代码
        // Cache::forget('guoyu_token');
        // 检查AccessToken是否存在(有效)
        $token = Cache::get('guoyu_token');
        if ($token) {
        // 如果accessToken已存在直接返回
            return $token;
        } else {
        // 如果 AccessToken 不存在去获取并且缓存 AccessToken
            $response = Http::withOptions(['verify' => false])->asForm()->post('https://open.xjguoyu.cn/api/auth/oauth/token', [
                'grant_type' => 'client_credentials',
                'client_id' => '',
                'secret' =>'',//
            ]);

            $data = $response->json();

            if (!isset($data['access_token'])) {
                return '错误';
            }

            // 请求数据
            $access_token =  $data['access_token']; //
            $token_type = $data['token_type']; // token 类型 Bearer
            $expires_in = $data['expires_in']; //有效期
            //  缓存
            Cache::put('guoyu_token', $access_token, $expires_in);
            // 
            return $token;
        }
    }

语音识别

|--------|------|------------------|
| 参数名 | 是否必须 | 说明 |
| lang | 是 | |
| audio | 是 | 目前仅支持wav格式,采样16K |
| format | 是 | |

appKey 在后台菜单里 我的应用->应用管理 内获取

php 复制代码
 public function voice()
    {
        // 请求Api
        $api = 'https://open.xjguoyu.cn/api/core/1.0/asr?appKey=您的appKey';
        // Wav 转换base64
        $audioFilePath = 'voice.wav'; // 填写你的音频文件路径
        $audioData = file_get_contents($audioFilePath);
        $audio = base64_encode($audioData); //Base64 音频数据

        $format = 'wav'; // 类型
        $lang = 'ug'; // 语言  语种: cn , ug , kz , en
        
        // AccessToken
        $authorizationToken = $this->AccessToken();
    
        $response = Http::withOptions([
            'verify' => false, // 禁用 SSL 验证
        ])->withHeaders([
            'Content-Type' => 'application/json;charset=utf-8',
            'Authorization' => 'Bearer ' .$authorizationToken, // AccessToken
        ])->post($api, [
            'audio' => $audio,
            'format' => $format,
            'lang' => $lang,
        ]);

        return $response->json(); // 返回 JSON 响应

    }

语音合成

接口地址:https://open.xjguoyu.cn/api/core/1.0/tts

请求方式:POST

Content-Type: application/json;charset=utf8

参数说明:

|---------|------|-----|-----------------------------------------|
| 参数名 | 是否必须 | 长度 | 说明 |
| format | 是 | | 支持wav,mp3格式,默认为wav。目前mp3格式出现错误,请暂时使用wav |
| text | 是 | 500 | 文本 |
| lang | 是 | | 语言 |
| speaker | 是 | | 播音员 |

播音员列表:

|----|-----------|----|
| 序号 | 播音员 | 语种 |
| 1 | xiaojiang | cn |
| 2 | xiaomei | cn |
| 3 | xiaoli | cn |
| 4 | xiaotian | cn |
| 5 | hawagul | ug |
| 6 | hoshur-s2 | ug |
| 7 | xiringul | ug |
| 8 | hoshur | ug |
| 9 | alice | en |
| 10 | jack | en |
| 11 | sophia | en |
| 12 | almagul | kz |
| 13 | erlan | kz |

请求示例:

php 复制代码
public function tts(){
        // 请求Api
        $api = 'https://open.xjguoyu.cn/api/core/1.0/tts?appKey=你的appKey '; // appKey 在后台菜单里 我的应用->应用管理 内获取
        $text = ' بۇ بولسا ئۇيغۇرچە خەت  '; // 文本
        $format = 'wav'; // 导出类型
        $lang = 'ug'; // 语言
        $speaker = 'hoshur'; // 播音员
    
        // AccessToken
        $authorizationToken = $this->AccessToken();
    
        $response = Http::withOptions([
            'verify' => false, // 禁用 SSL 验证
        ])->withHeaders([
            'Content-Type' => 'application/json;charset=utf8',
            'Authorization' => 'Bearer ' .$authorizationToken, // AccessToken
        ])->post($api, [
            'text' => $text,
            'lang' => $lang,
            'speaker' => $speaker,
        ]);

        $data = $response->json();
        // Log::info($data);

        if($data['success']){

            //Log::info($data['value']);
        }

        //dd($response->json());
    }

如果不懂

Qeyserm

相关推荐
才兄说18 分钟前
机器人租售怎么嵌?按流程节点
人工智能
logic_520 分钟前
关于VIT为啥可以用卷积代替第一层嵌入层
人工智能·神经网络·cnn
小康小小涵22 分钟前
改进型深度Q-网格DQN和蒙特卡洛树搜索MCTS以及模型预测控制MPC强化学习的机器人室内导航仿真
人工智能·机器人·自动驾驶
PNP机器人22 分钟前
突破机器人操作瓶颈!接触感知神经动力学,让仿真与现实无缝对齐
人工智能·机器人
美狐美颜sdk29 分钟前
直播美颜sdk与智能美妆技术解析:实时人脸算法如何驱动新一代互动体验
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
hit56实验室31 分钟前
【易经系列】《屯卦》:six four:乘马班如,求婚媾,往吉,无不利
人工智能
阿杰学AI35 分钟前
AI核心知识80——大语言模型之Slow Thinking和Deep Reasoning(简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·慢思考·深度推理
qq_124987075338 分钟前
基于协同过滤算法的运动场馆服务平台设计与实现(源码+论文+部署+安装)
java·大数据·数据库·人工智能·spring boot·毕业设计·计算机毕业设计
开开心心_Every39 分钟前
发票批量打印工具支持双面预览页面方向设置
游戏·微信·pdf·华为云·excel·语音识别·googlecloud