语音合成(Text To Speech,TTS)满足将文本转化成拟人化语音的需求,打通人机交互闭环。 提供多种音色选择,支持自定义音量、语速,让发音更自然、更专业、更符合场景需求。语音合成广泛应用于语音导航、有声读物、机器人、语音助手、自动新闻播报等场景,提升人机交互体验,提高语音类应用构建效率。
原本客户使用人工录音,需要邀请录音人,还需要安排专业的录音棚,录音完成后还需要大量人工剪辑,每一个步骤都需要一定的时间。新的需求出现后都需要几天,甚至是几周的时间,使用腾讯云TTS之后,声音合成的工作可以缩短到小时级别。
新闻APP播报及浏览器内容播报等场景,文本变化多样,不可能通过人工朗读的方式来实现语音播放,但应用了腾讯云TTS之后,就使得动态文本的朗读变成了可能。
已经在使用合成效果不佳的客户,他们的用户通常因为TTS发声人声音僵硬,朗读不流畅等原因不愿意与机器人继续交流。使用腾讯云TTS之后,他们的用户通常较难分辨发声人是真人还是机器人,使得人机交互的体验更好,用户更愿意与机器人交流 。
对于腾讯云API接口,基本上都依赖腾讯云账号体系,本接口也是其中之一,所以这里的前置步骤都很类似,包括:登录注册、实名认证、开通服务、新建密钥,完成前置步骤之后就可以准备接入。
腾讯云语音合成接口分为两个接口,流式音频合成接口和非流式音频合成接口,两者都是实时性返回接口,区别在于流式的接口在服务端完成一小段音频之后就开始返回,遵循http chunk协议,直至所有音频全部完成结束。而非流式接口则在请求的文本全部合成完成后服务端一次性返回音频。
这里可以根据自身的场景选择需要的接口,对于实时性要求很高的场景,例如智能机器人对话,则可以采用流式合成,对于有声读物,语音播报场景可以选择非流式音频合成接口,客户可以在非流式的接口基础上实现预请求,即第一句合成播报的同时请求合成第二句话并缓存结果,这样可以让播报无缝连接。
在选择好需要的接口之后,可以参考下方对应的接口接入指导。
1. 接口文档
2. 参考接口文档进行请求逻辑开发,基本的逻辑是http get或者post请求。这里的难点在于接口的鉴权,云API接口目前可以采用V1鉴权和V3鉴权,V1鉴权和V3鉴权的共同点在于都可以识别验证腾讯云账号,区别在于V3鉴权适用的场景更为广泛,例如对于请求body过大(大于1MB)的请求则需用V3鉴权。对于语音合成接口,可以采用简单的V1鉴权,当然V3鉴权也可以,客户可以自行选择。
V1鉴权计算Signature参考实例:
若采用POST请求,则 GET替换成POST cvm.tencentcloudapi.com/ 替换成 tts.tencentcloudapi.com/ Action=DescribeInstances 替换成 Action=TextToVoice 其他参数参考Action的替换方式,排序拼凑最终的串,采用SHA1加密生成Signature,此处注意,如果Signature是放在json body中则不需要urlencode,否则需要urlencode。
接口鉴权可以参考官网提供SDK里面的详细逻辑,或者参考官网鉴权计算步骤进行每一步骤的详细验证
3. 请求接口并解析返回
Codec选择wav,默认返回。将返回的Audio解base64即为 wav 音频。
Codec选择mp3,同等条件下mp3音频较wav音频小很多,这里是有损压缩,采用的是标准的lame库。
4. 接入SDK,参考接口文档里面的接入SDK。
5. Demo,参考接口文档里面的API 3.0 Explorer,将对应参数填写完成,即可生成Demo或者体验在线调用。
1. 接口文档
2. 接口鉴权参考非流式接口鉴权说明。这里区别于非流式接口在于,流式计算出来的Signature是存放在Header Authorization字段中,且只支持V1鉴权。流式接口只支持POST请求。
3. 请求接口并解析返回,参考接口文档opus和pcm说明。
4. 接入SDK,提供了 ios,android,c++,java,python,php等接入SDK。
目前腾讯云TTS支持多种音色选择,其中音色VoiceType小于100000的为基础音色,大于等于100000的为精品音色,这里客户可以根据自身的使用场景选择合适的音色,例如客服场景,阅读场景可以选择对应的命名音色,这里可以优先在官网体验再自行选择。
音量目前支持11个档次的选择[0-10],默认为0,正常音量,10位最大音量。这里可以选择合适的音量,音量过大音频会有破音现象。
语速目前支持[0.5-1.5]倍的调节,原速为0,向下为减速,向上为加速,例如 -2 对应 0.5倍, +2 对应 1.5倍。如果-2,-1,1,2 speed的效果不好,可以选择更为细致的调节。例如设置1的时候还是过快,那就可以尝试speed设置0.1,0.2,···。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。