[Unity+OpenAI TTS] 集成openAI官方提供的语音合成服务,构建海王暖男数字人

这篇具有很好参考价值的文章主要介绍了[Unity+OpenAI TTS] 集成openAI官方提供的语音合成服务,构建海王暖男数字人。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

unity 语音ai,unity,语音识别,人工智能

1.简述

        最近openAI官方发布了很多新功能,其中就包括了最新发布的TTS语音合成服务的api接口。说到这个语音合成接口,大家可能会比较陌生,但是说到chatgpt官方应用上的聊天机器人,那个台湾腔的海王暖男的声音,可能就有印象了吧。那么从官方文档中,可以发现,openAI提供的TTS服务中,就包含了这个声音可选。经过我的实测发现,openAI的语音合成效果相当的出色,在语气、断句等方面有非常好的表现,所以很值得将这个语音合成服务集成到我的AI二次元项目工具包里,为水友们提供更多的选择。

2.API接口说明

       1)语音合成模型

        根据官方文档的说明,open AI的语音合成服务提供了两种合成质量的模型

unity 语音ai,unity,语音识别,人工智能

        可选模型包括:tts-1以及tts-1-hd两种,其中tts-1-hd的模型,合成出来的声音质量更高,但是需要注意的是,hd模型的价格会更高,

unity 语音ai,unity,语音识别,人工智能

       2)声音选择

        在可选声音方面,官方提供了六种可选的声音,在调用语音合成API时,在发送的报文中设置选择的声音即可。

unity 语音ai,unity,语音识别,人工智能

        3)API报文格式

        根据官方提供的示例,可知道语音合成的api地址及为:

     https://api.openai.com/v1/audio/speechhttps://api.openai.com/v1/audio/speech        报文结构中,需要发送带有model、input以及voice为关键字的json字符串。

curl https://api.openai.com/v1/audio/speech \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Today is a wonderful day to build something people love!",
    "voice": "alloy"
  }' \
  --output speech.mp3

3.示例代码

        unity端调用open AI的语音合成api的示例代码如下:

     [SerializeField] private string api_key=string.Empty;//apikey
     [SerializeField] private ModelType m_ModelType = ModelType.tts_1;//模型
     [SerializeField] private VoiceType m_Voice = VoiceType.onyx;//声音
     [SerializeField] private string m_PostURL = string.Empty; 

    private void Awake()
    {
        m_PostURL = "https://api.openai.com/v1/audio/speech";
    }

    private IEnumerator GetVoice(string _msg, Action<AudioClip, string> _callback)
    {
        using (UnityWebRequest request = UnityWebRequest.Post(m_PostURL, new WWWForm()))
        {
            PostData _postData = new PostData
            {
                model = m_ModelType.ToString().Replace('_','-'),
                input = _msg,
                voice= m_Voice.ToString()
            };

            string _jsonText = JsonUtility.ToJson(_postData).Trim();
            byte[] data = System.Text.Encoding.UTF8.GetBytes(_jsonText);
            request.uploadHandler = (UploadHandler)new UploadHandlerRaw(data);
            request.downloadHandler = new DownloadHandlerAudioClip(m_PostURL, AudioType.MPEG);

            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", string.Format("Bearer {0}", api_key));

            yield return request.SendWebRequest();

            if (request.responseCode == 200)
            {
                AudioClip audioClip = ((DownloadHandlerAudioClip)request.downloadHandler).audioClip;
                _callback(audioClip, _msg);

            }
            else
            {
                Debug.LogError("语音合成失败: " + request.error);
            }

        }
    }

    #region 数据定义

    /// <summary>
    /// 发送的报文
    /// </summary>
    [Serializable]
    public class PostData
    {
        public string model = string.Empty;//模型名称
        public string input = string.Empty;//文本内容
        public string voice = string.Empty;//声音
    }
    /// <summary>
    /// 模型类型
    /// </summary>
    public enum ModelType
    {
        tts_1,
        tts_1_hd
    }
    /// <summary>
    /// 声音类型
    /// </summary>
    public enum VoiceType
    {
        alloy,
        echo,
        fable,
        onyx,
        nova,
        shimmer
    }

    #endregion

4. Unity端数字人配置

        项目的源码已经发布到Github了,我们可以直接下载,并导入到unity中使用,要求unity版本在2020.3.44及以上。导入工具包之后,可以在Scene文件夹下,找到示例场景,在场景中找到TTS->openAI对象,该对象上就维护了openAI提供的语音合成服务的代码。

unity 语音ai,unity,语音识别,人工智能

        使用这个模块,首先我们需要注册一个openAI账号,并创建一个api key,将apikey填写到脚本对应的apikey属性上。然后将TTS脚本配置到chatAgent脚本上即可。

unity 语音ai,unity,语音识别,人工智能

        详细配置,可以到我的B站主页,查看本期视频的配置过程。

5.结束语  

        这次的文章简单介绍了如何使用open AI官方提供的语音合成服务api,实现高质量的语音合成功能,让我们的数字人具备情感丰富,语气逼真的语音效果。文章所涉及的项目配置过程,可以到B站查看详细配置过程。

[Unity+openAI TTS] chatgpt海王暖男,分分钟搞定,使用openAI官方语音合成服务,打造火热暖心数字人


项目地址传送门:

AI二次元老婆开源项目(unity-AI-Chat-Toolkit):

Github地址:https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit

Gitee地址:https://gitee.com/DammonSpace/unity-ai-chat-toolkit文章来源地址https://www.toymoban.com/news/detail-761897.html

到了这里,关于[Unity+OpenAI TTS] 集成openAI官方提供的语音合成服务,构建海王暖男数字人的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 离线语音交互技术路线之语音合成(TTS)篇

      在ChatGPT大行其道之际,我心血来潮想要研究研究如何实现离线语音交互,把它和ChatGPT相结合,自己尝试实现个语音助手玩玩。本篇文章主要先从整体上分析了离线语音交互的技术实现路线,以及每个环节可能用到的参考技术,然后详细阐述了其中一个环节:语音合成(

    2024年02月09日
    浏览(51)
  • 微软语音合成(tts)服务申请和调用

    https://azure.microsoft.com/zh-cn/free/ 这里有个视频教程,根据此完成申请流程: https://www.bilibili.com/video/BV15a4y1W7re?vd_source=bf07f28d37849885d215dc3aea189eba 申请完成后,就可以到这里申请资源: https://portal.azure.com/#home 点击资源组,里面就有部署好的服务了 点击这里,可以获取 subscription

    2024年02月11日
    浏览(52)
  • 【语音合成】微软 edge-tts

    目录 1. edge-tts 介绍 2. 代码示例 https://github.com/rany2/edge-tts 在Python代码中使用Microsoft Edge的在线文本到语音服务

    2024年02月14日
    浏览(45)
  • 语音合成工具Coqui TTS安装及体验

    先介绍两种免费的语音合成工具 官网 http://balabolka.site/balabolka.htm 是一种基于微软Speech API (SAPI)的免费语音合成工具,只是简单的发音合成,效果比较生硬 官网 https://coqui.ai/ 是基于深度学习的语音合成软件,效果较好 Windows下安装Coqui TTS 安装环境 要求python运行环境:https://

    2024年02月15日
    浏览(48)
  • 微软语音合成助手 TTS-VUE 文字转语音工具

    我们在刷短视频的时候经常会听到一些AI合成声音,它们有各种音色、语调,甚至不同的情绪,听起来与人声无异 其实这些大都是利用微软Azure的文字转语音技术来实现的 虽然国内也有很多配音工具,但体验下来还是微软的效果最好,语气最为自然 不过Azure的文字转语音功能

    2024年02月02日
    浏览(44)
  • Python使用PaddleSpeech实现语音识别(ASR)、语音合成(TTS)

    目录 安装 语音识别 补全标点 语音合成 参考 PaddleSpeech是百度飞桨开发的语音工具 注意,PaddleSpeech不支持过高版本的Python,因为在高版本的Python中,飞桨不再提供paddle.fluid API。这里面我用的是Python3.7 需要通过3个pip命令安装PaddleSpeech: 在使用的时候,urllib3库可能会报错,因

    2024年04月25日
    浏览(43)
  • OpenAI-ChatGPT最新官方接口《语音智能转文本》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(六)(附源码)

    Speech to text 语音转文本 Learn how to turn audio into text 了解如何将音频转换为文本 ChatGPT 是集人工智能和自然语言处理技术于一身的大型语言模型。它能够通过文字、语音或者图像等多种方式与用户进行交互。其中,通过语音转文字功能,ChatGPT 能够将用户说出的话语,立即转化为

    2023年04月21日
    浏览(57)
  • TTS | 语音合成常见数据集及数据格式详情

    本文主要详细介绍了语音中最常见的数据集(包含各个语种),及其格式等~ 目录 1.外语数据集 1.1.LJSpeech 单人 1.2.JSUT 1.3.RUSLAN 1.4.RyanSpeech 1.5.VocBench 1.6.Arabic Speech Corpus 1.7.Silent Speech EMG 1.8.Hi-Fi Multi-Speaker English TTS Dataset 1.9.KSS 单人 1.10.VCTK 多人 1.11.LibriTTS 多人 2.多任务数据集 2

    2024年02月05日
    浏览(46)
  • TTS合成技术中的语音合成和人工智能和自然语言生成

    TTS合成技术中的语音合成和人工智能和自然语言生成是当前人工智能技术应用中的重要领域。本文旨在介绍TTS合成技术中的语音合成、人工智能和自然语言生成的概念和技术原理,并给出实现步骤和优化建议,旨在帮助读者更好地理解这个领域的技术细节和发展趋势。 TTS合成

    2024年02月07日
    浏览(59)
  • 【TTS】uni-app语音播报app开发 / MT-TTS安卓原生自带语音合成插件(免费无限次)

    TTS 是 Text To Speech 的缩写,即“ 从文本到语音 ”,是人机对话的一部分,让机器能够说话。TTS是语音合成应用的一种。 在程序开发中,有很多TTS的插件,比如百度,讯飞,等等,但是大部分产品都不是完全免费无限制次数调用的且需在线使用 本篇文章介绍一种免费快捷且可

    2023年04月15日
    浏览(154)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包