from aip import AipSpeech APP_ID = '15422825' APP_KEY = 'DhXGtWHYMujMVZZGRI3a7rzb' SECRET_KEY = 'PbyUvTL31fImGthOOIP5ZbbtEOGwGOoT' # 与百度进行一次加密校验,认证你是合法用户合法的应用 # AipSpeech是百度语音的客户端,认证成功之后,客户端将被开启,这里的client就是已经开启的百度语音的客户端了 client = AipSpeech(APP_ID,APP_KEY,SECRET_KEY) str = '今天天气怎么样?' result = client.synthesis( str, # text:合成的文本,使用UTF-8编码,请注意文本长度必须小于1024字节 'zh', # lang:语言,中文:zh,英文:en 1, # ctp:客户端信息这里就写1,写别的不好使,至于为什么咱们以后再解释 { 'vol':5, # 合成音频文件的准音量 'spd':4, # 语速取值0-9,默认为5中语速 'pit':8, # 语调音量,取值0-9,默认为5中语调 'per':4 # 发音人选择,0为女声,1为男生,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女 } # options:这是一个dict类型的参数,里面的键值对才是关键. ) # 如果上面的三个参数APP_ID,APP_KEY,SECRET_KEY填写正确的话 # result就是音频文件的二进制文件流,如果返回失败的话,result就会是个字典 print(result) if not isinstance(result,dict): with open('audio.mp3','wb') as f: f.write(result) # 识别正确返回语音二进制文件流,错误则返回dict,参照下面错误代码. """ result = { 'err_detail': 'Tex length exceeds limit.', 'err_msg': 'parameter error.', 'err_no': 501, 'err_subcode': 10, 'tts_logid': 3257246120 } """