前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用腾讯云AI语音开一场讨论会?

如何用腾讯云AI语音开一场讨论会?

原创
作者头像
walli
修改2024-06-30 11:00:12
920
修改2024-06-30 11:00:12

准备工作

习惯性的一上来的就去看API文档,果然不出所料,对于所有TTS服务来说一定是有一大堆的参数选择,比如语速、音量、音色等等,对于有选择困难症的我来说,这个事真的很头大,想选择一个适合自己场景的声音真的太难了,尤其我还得选好几个声音,期望未来能够更智能吧。但腾讯云贴心的为我们准备了试听功能,免去了我不断修改参数,不断Run的烦恼。

(首页下方一点的试听界面)
(首页下方一点的试听界面)

嚯,试听覆盖的范围还是相当全面的,场景覆盖了通用、客服、外语、方言等,男女各类音色也是相当的齐全,基本不用自己调接口去做试听了。话不多说,直接开听,恍惚间也不知道听了多少种,最后选定了三种(因为在这场讨论会上有三个角色参加),采用“爱小柯-低沉慵懒小哥 中性情感 情感程度180% 语速+0.7 音量10”来作为本场主持人的音频,正方的人物设定是一个川妹子,所以选择方言里面的“智川-四川辣妹子”来作为本场讨论会的正方音频,反方的人物设定是一个大学男教授,所以选择阅读里面的“智靖-深情大叔”来作为本场讨论会的反方音频。

最难搞的部分搞定,接下来就是按照文档说明开始Gen。

语音合成

首先,进入语音合成工作台(https://console.cloud.tencent.com/tts)开通TTS功能。

然后,进入语音合成资源包界面(https://console.cloud.tencent.com/tts/resourcebundle)领取免费的资源包(800万字符,三个月内有效)。

最后,来到API Explorer测试一下接口是否可用:

(API Explorer测试界面)
(API Explorer测试界面)

正确返回了Audio,说明功能开通没有问题啦,如果报错,看看对应的错误信息。

功能没问题,咱们就可以开始Coding(Copy)了

Copy一下API Explorer中的代码,本人是Python环境,擅长使用SDK,所以先安装腾讯云python-sdk

代码语言:txt
复制
pip install tencentcloud-sdk-python

Copy后的代码,长这样:

代码语言:txt
复制
try:
    # 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
    # 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
    # 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
    cred = credential.Credential("SecretId", "SecretKey")
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "tts.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的
    client = tts_client.TtsClient(cred, "ap-shanghai", clientProfile)

    # 实例化一个请求对象,每个接口都会对应一个request对象
    req = models.TextToVoiceRequest()
    params = {
        "Text": "你好",
        "SessionId": "ss-1",
        "Volume": 10,
        "Speed": 2.1,
        "VoiceType": 301036,
        "EmotionCategory": "neutral",
        "EmotionIntensity": 180
    }
    req.from_json_string(json.dumps(params))

    # 返回的resp是一个TextToVoiceResponse的实例,与请求对象对应
    resp = client.TextToVoice(req)
    # 输出json格式的字符串回包
    print(resp.to_json_string())

把SecretId和SecretKey替换成自己的值,Run就可以了。

返回的Audio值是一个base64编码的wav/mp3音频数据,所以我们代码稍作改动,输出到音频文件中,方便上传播放。

代码语言:txt
复制
    resp = client.TextToVoice(req)
    # 输出json格式的字符串回包
    # print(resp.Audio)
    file_path = "output_audio.wav"
    audio_data = base64.b64decode(resp.Audio)
    with open(file_path, 'wb') as file:
        file.write(audio_data)

至此,音频合成任务就完成啦~

总结

总的来说,体验下来,提供的音色选择及其丰富,相比以前的TTS合成有很大的进步,但相比真人说话,不管是情感还是语气都还差些意思,尤其是没有抑扬顿挫的感觉。

最后,我想上传合成的音频,发现这边不支持,所以就只能做成视频放到最后啦~

(AI语音讨论会)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 语音合成
  • 总结
相关产品与服务
语音合成
语音合成(Text To Speech,TTS)满足将文本转化成拟人化语音的需求,打通人机交互闭环。提供多场景、多语言的音色选择,支持 SSML 标记语言,支持自定义音量、语速等参数,让发音更专业、更符合场景需求。语音合成广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档