罗洪彬 发表于 2023-12-8 00:04:47

chatgpt接口开发笔记3: 语音识别接口

chatgpt接口开发笔记3: 语音识别接口

1.文本转语音

1、了解接口参数

接口地址:
POST https://api.openai.com/v1/audio/speech下面是接口文档描述内容:

参数:
{
"model": "tts-1",
"input": "你好,我是饶坤,我是terramours gpt的开发者",
"voice": "alloy"
}

[*]model模型
[*]input需要转换的文字
[*]voice语音风格
2.postman测试


3.结果:


2.语音转文本

1、了解接口参数

接口地址:
POSThttps://api.openai.com/v1/audio/transcriptions文档:

参数
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@/path/to/file/audio.mp3" \
-F model="whisper-1"

[*]file需要解析的语言文件
[*]model模型类型
2.postman测试


3.结果:

{
    "text": "你好,我是饒坤,我是 Terramers GPT 的開發者。"
}SDK开发

对应的语音接口我会加入到SDK中,使用C#开发者可以在nuget中搜索AllInAI.Sharp.API.
SDK为开源项目,代码地址:https://github.com/raokun/AllInAI.Sharp.API
首先在项目中安装sdk
Install-Package AllInAI.Sharp.API1.Speech

1.OpenAI

public async Task OpenAISpeechTest() {
    try {
      AuthOption authOption = new AuthOption() { Key = "sk-**", BaseUrl = "https://api.openai.com", AIType = Enums.AITypeEnum.OpenAi };
      AudioService audioService = new AudioService(authOption);
      AudioSpeechReq req = new AudioSpeechReq() { Model = "tts-1", Input = "你好,我是饶坤,我是AllInAI.Sharp.API的开发者", Voice = "alloy" };
      var res = await audioService.Speech<Stream>(req);
      if(res.Data != null) {
            var filePath = $"D:/test/{Guid.NewGuid()}.mp3";
            using (FileStream fileStream = File.Create(filePath)) {
                res.Data.CopyTo(fileStream);
            }
      }
    }
    catch (Exception e) {
      Console.WriteLine(e.Message);
    }
}1.Transcriptions

1.OpenAI

public async Task OpenAITranscriptionsTest() {
    try {
      AuthOption authOption = new AuthOption() { Key = "sk-**", BaseUrl = "https://api.openai.com", AIType = Enums.AITypeEnum.OpenAi };
      // 读取音频文件的二进制内容
      byte[] audioData = File.ReadAllBytes("C:/Users/Administrator/Desktop/response.mp3");
      AudioService audioService = new AudioService(authOption) ;
      AudioCreateTranscriptionReq req = new AudioCreateTranscriptionReq() { File=audioData,FileName= "response.mp3",Model= "whisper-1" ,Language="zh"};
      AudioTranscriptionRes res = await audioService.Transcriptions(req);
    }
    catch (Exception e) {
      Console.WriteLine(e.Message);
    }
}阅读如遇样式问题,请前往个人博客浏览: [https://www.raokun.top](chatgpt接口开发笔记3: 语音识别接口)
拥抱ChatGPT:https://first.terramours.site
SDK应用开源项目:https://github.com/TerraMours/TerraMours_Gpt_Web

来源:https://www.cnblogs.com/raok/archive/2023/12/07/17883542.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: chatgpt接口开发笔记3: 语音识别接口