分享

python对接微软文字转语音

 昵称52952235 2022-03-06

import http.client, urllib.parse, json
from xml.etree import ElementTree
import wave

apiKey = "你的密钥"
 
params = "hello"
headers = {"Ocp-Apim-Subscription-Key": apiKey}
 
AccessTokenHost = "eastasia.api.cognitive.microsoft.com"
path = "/sts/v1.0/issueToken"
 
print ("Connect to server to get the Access Token")
conn = http.client.HTTPSConnection(AccessTokenHost)
conn.request("POST", path, params, headers)
response = conn.getresponse()
print(response.status, response.reason)
 
data = response.read()
conn.close()
 
accesstoken = data.decode("UTF-8")
print ("Access Token: " + accesstoken)
 
body = ElementTree.Element('speak', version='1.0')
body.set('{http://www./XML/1998/namespace}lang', 'zh-CN')
voice = ElementTree.SubElement(body, 'voice')
voice.set('{http://www./XML/1998/namespace}lang', 'zh-CN')   //语言
voice.set('{http://www./XML/1998/namespace}style', 'lyrical')  //语气
voice.set('{http://www./XML/1998/namespace}gender', 'Female')
voice.set('name', 'Microsoft Server Speech Text to Speech Voice (zh-CN, XiaoxiaoNeural)')   //发音人
voice.text = '这次的事故要严格总结,防止下次再次发生'       //要转化的文本内容
 
headers = {"Content-type": "application/ssml+xml", 
            "X-Microsoft-OutputFormat": "riff-24khz-16bit-mono-pcm",
            "Authorization": "Bearer " + accesstoken, 
            "X-Search-AppId": "07D3234E49CE426DAA29772419F436CA", 
            "X-Search-ClientID": "1ECFAE91408841A480F00935DC390960", 
            "User-Agent": "TTSForPython"}
            
print ("\nConnect to server to synthesize the wave")
conn = http.client.HTTPSConnection("eastasia.tts.speech.microsoft.com")
conn.request("POST", "/cognitiveservices/v1", ElementTree.tostring(body), headers)
response = conn.getresponse()
print(response.status, response.reason)
 
data = response.read()
conn.close()
print("The synthesized wave length: %d" %(len(data)))
 
f = wave.open(r"output7.wav", "wb")
f.setnchannels(1)
f.setframerate(24000)
f.setsampwidth(2)
f.writeframes(data)
f.close()

发音人说明:

中文(粤语,繁体)        zh-HK             女                       zh-HK-HiuGaaiNeural
中文(粤语,繁体)        zh-HK             女                       zh-HK-HiuMaanNeural
中文(粤语,繁体)           zh-HK             男                       zh-HK-WanLungNeural
中文(普通话,简体)    zh-CN             女                       zh-CN-XiaoxiaoNeural                       常规,使用 SSML 提供多种语音风格
中文(普通话,简体)    zh-CN           儿童                       zh-CN-XiaoyouNeural                       儿童语音,针对讲故事进行了优化
中文(普通话,简体)    zh-CN             女                       zh-CN-XiaomoNeural                       常规,使用 SSML 提供多种角色扮演和风格
中文(普通话,简体)    zh-CN             女                       zh-CN-XiaoxuanNeural                       常规,使用 SSML 提供多种角色扮演和风格
中文(普通话,简体)    zh-CN             女                       zh-CN-XiaohanNeural                       常规,使用 SSML 提供多种风格
中文(普通话,简体)    zh-CN             女                       zh-CN-XiaoruiNeural                       高级语音,使用 SSML 提供多种风格
中文(普通话,简体)    zh-CN             男                       zh-CN-YunyangNeural                       针对新闻阅读进行了优化,
中文(普通话,简体)    zh-CN             男                       zh-CN-YunyeNeural    
中文(普通话,简体)    zh-CN             男                       zh-CN-YunxiNeural    
中文(台湾普通话)                    zh-TW             女                       zh-TW-HsiaoChenNeural
中文(台湾普通话)                    zh-TW             女                       zh-TW-HsiaoYuNeural    
中文(台湾普通话)                    zh-TW             男                       zh-TW-YunJheNeural    

发音人语气说明:

zh-CN-XiaoxiaoNeural
style="newscast"    以正式专业的语气叙述新闻
style="customerservice"    以友好热情的语气为客户提供支持
style="assistant"    以热情而轻松的语气对数字助理讲话
style="chat"    以轻松、随意的语气闲聊
style="calm"    以沉着冷静的态度说话。 语气、音调、韵律与其他语音类型相比要统一得多。
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="sad"    以较高的音调、较低的强度和较低的音量表达悲伤的语气。 这种情绪的常见特征是说话时呜咽或哭泣。
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
style="affectionate"    以较高的音调和音量表达温暖而亲切的语气。 说话者处于吸引听众注意力的状态。 说话者的“个性”往往是讨人喜欢的。
style="gentle"    以较低的音调和音量表达温和、礼貌和愉快的语气
style="lyrical"    以优美又带感伤的方式表达情感

zh-CN-YunyangNeural
style="customerservice"    以友好热情的语气为客户提供支持
zh-CN-YunyeNeural    style="calm"    以沉着冷静的态度说话。 语气、音调、韵律与其他语音类型相比要统一得多。
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="sad"    以较高的音调、较低的强度和较低的音量表达悲伤的语气。 这种情绪的常见特征是说话时呜咽或哭泣。
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
zh-CN-YunxiNeural    style="assistant"    以热情而轻松的语气对数字助理讲话
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="sad"    以较高的音调、较低的强度和较低的音量表达悲伤的语气。 这种情绪的常见特征是说话时呜咽或哭泣。
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
style="depressed"    调低音调和音量来表达忧郁、沮丧的语气
style="embarrassed"    在说话者感到不舒适时表达不确定、犹豫的语气


zh-CN-XiaohanNeural
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="sad"    以较高的音调、较低的强度和较低的音量表达悲伤的语气。 这种情绪的常见特征是说话时呜咽或哭泣。
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
style="embarrassed"    在说话者感到不舒适时表达不确定、犹豫的语气
style="affectionate"    以较高的音调和音量表达温暖而亲切的语气。 说话者处于吸引听众注意力的状态。 说话者的“个性”往往是讨人喜欢的。
style="gentle"    以较低的音调和音量表达温和、礼貌和愉快的语气


zh-CN-XiaomoNeural
style="calm"    以沉着冷静的态度说话。 语气、音调、韵律与其他语音类型相比要统一得多。
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
style="depressed"    调低音调和音量来表达忧郁、沮丧的语气
style="gentle"    以较低的音调和音量表达温和、礼貌和愉快的语气

zh-CN-XiaoxuanNeural
style="calm"    以沉着冷静的态度说话。 语气、音调、韵律与其他语音类型相比要统一得多。
style="cheerful"    以较高的音调和音量表达欢快、热情的语气
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。
style="disgruntled"    表达轻蔑和抱怨的语气。 这种情绪的语音表现出不悦和蔑视。
style="serious"    表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
style="depressed"    调低音调和音量来表达忧郁、沮丧的语气
style="gentle"    以较低的音调和音量表达温和、礼貌和愉快的语气


zh-CN-XiaoruiNeural
style="sad"    以较高的音调、较低的强度和较低的音量表达悲伤的语气。 这种情绪的常见特征是说话时呜咽或哭泣。
style="angry"    以较低的音调、较高的强度和较高的音量来表达恼怒的语气。 说话者处于愤怒、生气和被冒犯的状态。
style="fearful"    以较高的音调、较高的音量和较快的语速来表达恐惧、紧张的语气。 说话者处于紧张和不安的状态。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多