站点图标 星夜笔记本

蹭百度tts免费额度做语音nb2机器人

拿额度

登录到百度AI开放平台https://ai.baidu.com/

控制台中选择语音技术

在百度智能云这边创建应用

可以领取一些免费额度,这里我只需要短文本在线合成,180天5万次免费额度

然后整个token用(一个月,也可以选择写在代码),自己替换下访问

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=应用的APIKey&client_secret=应用的Secret Key

做进机器人

nonebot2为例,我没用别的

简单到不能再简单的文本转语音函数,各参数详见https://cloud.baidu.com/doc/SPEECH/s/Qk38y8lrl

async def get_tts(text:str):
    data={
        'tex':text,
        'tok':'你的token',
        'cuid':'test',
        'ctp':'1',
        'lan':'zh',
        'per':'4'}
    url="https://tsn.baidu.com/text2audio"
    try:
        r = requests.post(url,data=data,timeout=1)
    except:
        return ''
    else:
        return r.content

发送调用上面的函数即可,返回base64语音,塞进MessageSegment即可

await Matcher.send(MessageSegment.record(await get_tts(文本)))

退出移动版