[石榴翻译] 维吾尔语音识别 + 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

相关推荐
嘿嘻哈呀29 分钟前
基于大语言模型的组合优化
人工智能·语言模型·自然语言处理·组合优化
酒酿小圆子~1 小时前
【NLP】语言模型的发展历程 (1)
人工智能·语言模型·自然语言处理
liruiqiang053 小时前
关于ReLU激活函数的解释以及其在神经网络中的应用
人工智能
冻感糕人~5 小时前
使用LangChain、CrewAI、AutoGen搭建数据分析Agent
人工智能·windows·ai·数据分析·langchain·大模型·agent
万岳软件开发小城5 小时前
校园食堂供应链管理的智能化:食堂采购系统源码开发详解
php·软件开发·食堂采购系统源码·供应链管理平台
今天吃饺子6 小时前
小创新模型!6种2024算法优化BiTCN-SVM单变量输入单步预测,MATLAB机器学习预测全家桶再更新...
人工智能·算法·机器学习·支持向量机·matlab
知来者逆8 小时前
基于ADAS 与关键点特征金字塔网络融合的3D LiDAR目标检测原理与算法实现
人工智能·目标检测·计算机视觉·3d·自动驾驶·lidar·3d 点云
非凡的世界8 小时前
如何使用 PHP 操作亚马逊 S3 对象云存储
开发语言·php·对象存储·亚马逊云
Odaily_8 小时前
SVM赛道概览:MoveVM落地,SVM能走多远
人工智能·算法·机器学习·支持向量机·数据挖掘
liruiqiang058 小时前
如何理解机器学习中的非线性模型 ?
人工智能·机器学习