python 百度AI语音合成base64转MP3

在线语音合成地址
https://cloud.baidu.com/product/speech/tts_online

方式一:

注册百度智能云,成为开发者,这里不记录这种方式了,毕竟官网有技术文档

方式二:

使用爬虫获取语音合成接口,并将base64转为MP3保存下来


在线语音合成

通过F12调试可发现文字转音频接口


文字转音频接口-请求
文字转音频接口-参数
文字转音频接口-响应

这里主要说下参数,和base64转MP3保存成文件

参数

  • type: 目前没发现什么用处,固定值"tns"
  • per: 音库
    • 基础音库:度逍遥=3,度小宇=1,度小美=0,度丫丫=4
    • 精品音库:度逍遥=5003,度博文=106,度小童=110,度小鹿=5118,度小娇=5,度米朵=103,度小萌=111
    • 臻品音库:度逍遥=4003,度博文=4106,度小贤=4115,度小鹿=4119,度灵儿=4105,度小乔=4117,度小雯=4100,度米朵=4103
  • spd: 语速,取值0-15,默认为5中语速
  • pit: 音调,取值0-15,默认为5中语调
  • vol: 音量,取值0-15,默认为5中音量(取值为0时为音量最小值,并非为无声)
  • aue: 接口调用时未发现起作用,可不填
  • tex: 合成语音的文本

base64转存MP3

import requests
import base64

def base64ToMP3(text):
  url = "https://cloud.baidu.com/aidemo"
  data = {
    "type": "tns",
    "per": 5118,
    "spd": 5,
    "pit": 5,
    "vol": 5,
    "aue": 6,
    "tex": text
  }
  resp = requests.post(url, data=data).json()
  base64_text = resp["data"]
  with open("demo.mp3", "wb")as fp:
    content = base64_text.split(",")[1]
    fp.write(base64.b64decode(content))

至此结束!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容