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

相关推荐
@小匠1 小时前
Read Frog:一款开源的 AI 驱动浏览器语言学习扩展
人工智能·学习
Dream of maid3 小时前
Python12(网络编程)
开发语言·网络·php
网教盟人才服务平台4 小时前
“方班预备班盾立方人才培养计划”正式启动!
大数据·人工智能
芯智工坊4 小时前
第15章 Mosquitto生产环境部署实践
人工智能·mqtt·开源
菜菜艾4 小时前
基于llama.cpp部署私有大模型
linux·运维·服务器·人工智能·ai·云计算·ai编程
TDengine (老段)4 小时前
TDengine IDMP 可视化 —— 分享
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据·时序数据
小真zzz4 小时前
搜极星:第三方多平台中立GEO洞察专家全面解析
人工智能·搜索引擎·seo·geo·中立·第三方平台
GreenTea5 小时前
从 Claw-Code 看 AI 驱动的大型项目开发:2 人 + 10 个自治 Agent 如何产出 48K 行 Rust 代码
前端·人工智能·后端
火山引擎开发者社区5 小时前
秒级创建实例,火山引擎 Milvus Serverless 让 AI Agent 开发更快更省
人工智能