如何做双版网站,濮阳seo网站建设,网站正在建设中空白模板,怎样能让百度搜到自己的网站1.简述 最近openAI官方发布了很多新功能#xff0c;其中就包括了最新发布的TTS语音合成服务的api接口。说到这个语音合成接口#xff0c;大家可能会比较陌生#xff0c;但是说到chatgpt官方应用上的聊天机器人#xff0c;那个台湾腔的海王暖男的声音#xff0c;可能就有印…
1.简述 最近openAI官方发布了很多新功能其中就包括了最新发布的TTS语音合成服务的api接口。说到这个语音合成接口大家可能会比较陌生但是说到chatgpt官方应用上的聊天机器人那个台湾腔的海王暖男的声音可能就有印象了吧。那么从官方文档中可以发现openAI提供的TTS服务中就包含了这个声音可选。经过我的实测发现openAI的语音合成效果相当的出色在语气、断句等方面有非常好的表现所以很值得将这个语音合成服务集成到我的AI二次元项目工具包里为水友们提供更多的选择。
2.API接口说明 1语音合成模型 根据官方文档的说明open AI的语音合成服务提供了两种合成质量的模型 可选模型包括tts-1以及tts-1-hd两种其中tts-1-hd的模型合成出来的声音质量更高但是需要注意的是hd模型的价格会更高 2声音选择 在可选声音方面官方提供了六种可选的声音在调用语音合成API时在发送的报文中设置选择的声音即可。 3API报文格式 根据官方提供的示例可知道语音合成的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_keystring.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, ActionAudioClip, 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/// 模型类型/// /summarypublic enum ModelType{tts_1,tts_1_hd}/// summary/// 声音类型/// /summarypublic enum VoiceType{alloy,echo,fable,onyx,nova,shimmer}#endregion
4. Unity端数字人配置 项目的源码已经发布到Github了我们可以直接下载并导入到unity中使用要求unity版本在2020.3.44及以上。导入工具包之后可以在Scene文件夹下找到示例场景在场景中找到TTS-openAI对象该对象上就维护了openAI提供的语音合成服务的代码。 使用这个模块首先我们需要注册一个openAI账号并创建一个api key将apikey填写到脚本对应的apikey属性上。然后将TTS脚本配置到chatAgent脚本上即可。 详细配置可以到我的B站主页查看本期视频的配置过程。
5.结束语 这次的文章简单介绍了如何使用open AI官方提供的语音合成服务api实现高质量的语音合成功能让我们的数字人具备情感丰富语气逼真的语音效果。文章所涉及的项目配置过程可以到B站查看详细配置过程。 [UnityopenAI 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