栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

人机交互课设(3)-百度api调用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

人机交互课设(3)-百度api调用

文章目录
        • 官方文档
        • 示例代码

官方文档
  • 在线语音合成API接口
示例代码
  1. Github-TTS
  2. 为了方便理解,精简后的部分源码:
import json
from playsound import playsound

from urllib.request import urlopen
from urllib.request import Request
from urllib.parse import urlencode
from urllib.parse import quote_plus

TEXT = "请介绍下兵马俑"

# 发音人选择, 基础音库:0为度小美,1为度小宇,3为度逍遥,4为度丫丫,
# 精品音库:5为度小娇,103为度米朵,106为度博文,110为度小童,111为度小萌,默认为度小美
PER = 4
# 语速,取值0-15,默认为5中语速
SPD = 5
# 音调,取值0-15,默认为5中语调
PIT = 5
# 音量,取值0-9,默认为5中音量
VOL = 5
# 下载的文件格式, 3:mp3(default) 4: pcm-16k 5: pcm-8k 6. wav
AUE = 6

FORMATS = {3: "mp3", 4: "pcm", 5: "pcm", 6: "wav"}
FORMAT = FORMATS[AUE]

CUID = "123456PYTHON"

if __name__ == '__main__':
  token = fetch_token()  #获取Access Token,不再赘述
  
  tex = quote_plus(TEXT)  # 此处TEXT需要两次urlencode
    params = {'tok': token, 'tex': tex, 'per': PER, 'spd': SPD, 'pit': PIT, 'vol': VOL, 'aue': AUE, 'cuid': CUID,
              'lan': 'zh', 'ctp': 1}  # lan ctp 固定参数

    data = urlencode(params)
    
    req = Request(TTS_URL, data.encode('utf-8'))
    has_error = False

    f = urlopen(req)
    result_str = f.read() #音频文件数据

    headers = dict((name.lower(), value) for name, value in f.headers.items())
    
    save_file = "error.txt" if has_error else 'result.' + FORMAT  #result.wav

    with open(save_file, 'wb') as of:  #保存文件
        of.write(result_str)
        
    #播放
    playsound('result.wav')

(1)

tex = quote_plus(TEXT)     # 此处TEXT需要两次urlencode
  • 官方文档解释:
  • 参考链接:
    Python之urlencode()使用
    Python encode()和decode()方法:字符串编码转换
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号