手把手Python调用websocket接口实现实时语音合成,文字转语音

本文介绍如何使用Python调用标贝科技的语音合成接口,通过websocket实现文字转语音。详细步骤包括环境准备、获取权限、代码实现等,提供了完整的demo代码供直接使用,帮助开发者轻松实现语音合成功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0. 太长不看系列,直接使用

1.2官网注册后拿到APISecret和APIKey,直接复制文章2.5demo代码,保存为online_tts.py,在命令行执行

python online_tts.py -client_secret=您的client_secret -client_id=您的client_id -file_save_path=test.wav --text=欢迎使用标贝开放平台

使用中有任何问题,欢迎留言提问。

1. Python调用标贝科技语音合成接口,实现文字转语音

1.1 环境准备:

Python 3

1.2 获取权限

标贝科技 https://ai.data-baker.com/#/?source=qwer12

填写邀请码fwwqgs,每日免费调用量还可以翻倍
在这里插入图片描述
在这里插入图片描述

1.2.1 登录

在这里插入图片描述

1.2.2 创建新应用

登录后进入【首页概览】,各位开发者可以进行创建多个应用。包括一句话识别、长语音识别、录音文件识别;在线合成、离线合成、长文本合成。

在这里插入图片描述

1.2.3 选择服务

进入【已创建的应用】,左侧选择您需调用的AI技术服务,右侧展示对应服务页面概览(您可查询用量、管理套餐、购买服务量、自主获取授权、预警管理)。

在这里插入图片描述

1.2.4 获取Key&Secret

通过服务 / 授权管理,获取对应参数,进行开发配置(获取访问令牌token

在这里插入图片描述

拿到Key和Secret就可以正式使用啦!

2. 代码实现

2.1 获取access_token

在拿到Key和Secret后,我们还需要调用授权接口获取access_token,这个access_token有效时长是24小时。

# 获取access_token用于鉴权
def get_access_token(client_secret, client_id):
    grant_type = "client_credentials"
    url = "https://openapi.data-baker.com/oauth/2.0/token?grant_type={}&client_secret={}&client_id={}" \
        .format(grant_type, client_secret, client_id)

    try:
        response = requests.post(url)
        response.raise_for_status()
    except Exception as e:
        print(response.text)
        raise Exception
    else:
        access_token = json.loads(response.text).get('access_token')
        return access_token

2.2 准备数据

需要根据接口要求设置参数,并且对音频数据进行分割

# 准备数据
def prepare_data(args, access_token):

    # 填写Header信息
    audiotype= args.audiotype
    voice_name = args.voice_name
    text = args.text

    splited_text = [str(base64.b64encode(bytes(text[i:i + 1024], encoding='utf-8')), encoding='utf-8')
                    for i in range(0, len(text), 1024)]

    tts_params = {"language": "ZH", "voice_name": voice_name, "audiotype": audiotype, "domain": "1"}

    json_list = []
    for i in range(len(splited_text)):
        tts_params["text"] = splited_text[i]
        data = {"access_token": access_token, "version": "1.0", "tts_params": tts_params}

        json_list.append(json.dumps(data))

    return json_list

2.3 配置接口参数

client_secret和client_id:在文章1.2的官网获取,必填

file_save_path:文件保存路径,必填

text:需要转换的文本内容

audiotype:音频类型,默认16K采样率wav格式

voice_name:发音人选择,默认“Lingling",其他发音人详见https://www.data-baker.com/#/specs/file/tts_voice_list

# 获取命令行输入参数
def get_args():
    text = "今天天气不错哦!"
    parser = argparse.ArgumentParser(description='
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值