在线语音合成地址
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))
至此结束!