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

相关推荐
风口猪炒股指标3 分钟前
想象一个AI保姆机器人使用场景分析
人工智能·机器人·deepseek·深度思考
Blankspace空白15 分钟前
【小白学AI系列】NLP 核心知识点(八)多头自注意力机制
人工智能·自然语言处理
Sodas(填坑中....)23 分钟前
SVM对偶问题
人工智能·机器学习·支持向量机·数据挖掘
forestsea31 分钟前
DeepSeek 提示词:定义、作用、分类与设计原则
人工智能·prompt·deepseek
maxruan39 分钟前
自动驾驶之BEV概述
人工智能·机器学习·自动驾驶·bev
13631676419侯1 小时前
物联网+人工智能的无限可能
人工智能·物联网
SylviaW081 小时前
神经网络八股(三)
人工智能·深度学习·神经网络
zhengyawen6662 小时前
深度学习之图像回归(二)
人工智能·数据挖掘·回归
蜗牛沐雨2 小时前
如何生成美观且内容稳定的PDF文档:从基础到进阶的全方案解析
人工智能·pdf·tensorflow
南风过闲庭2 小时前
操作系统研究
大数据·人工智能·科技·学习·ai·系统架构