微軟“神經(jīng)網(wǎng)絡(luò)語(yǔ)音”在天氣自動(dòng)化播報(bào)中的探索與應(yīng)用

一、前言

????人工智能播報(bào)在目前已經(jīng)不是什么新奇事了汇跨,地圖導(dǎo)航务荆、手機(jī)語(yǔ)音助手、詞典翻譯穷遂、語(yǔ)音聊天等函匕,都有著人工語(yǔ)音的身影。我在收聽(tīng)廣播的時(shí)候蚪黑,也聽(tīng)到了關(guān)于使用人工智能語(yǔ)音播報(bào)新聞的節(jié)目盅惜,某日突發(fā)奇想,如果把人工智能語(yǔ)音應(yīng)用到廣電電視節(jié)目的制作中忌穿,應(yīng)該可以產(chǎn)生不錯(cuò)的效益抒寂。

????我臺(tái)目前智能語(yǔ)音播報(bào)主要應(yīng)用在廣播節(jié)目的播報(bào)上,使用的是科大訊飛的離線SDK語(yǔ)音包掠剑,個(gè)人感覺(jué)在收聽(tīng)時(shí)還是有很明顯的“機(jī)器人聲”屈芜,偶然機(jī)會(huì)了解到微軟也有相關(guān)的語(yǔ)音服務(wù),并提供免費(fèi)試用朴译,于是抱著嘗試的心態(tài)井佑,自己進(jìn)行了二次開(kāi)發(fā)糕珊,做了個(gè)天氣自動(dòng)播報(bào)的語(yǔ)音app,借此機(jī)會(huì)探討下智能語(yǔ)音播報(bào)在廣電電視節(jié)目的應(yīng)用方法。

二毅糟、微軟語(yǔ)音服務(wù)

????微軟語(yǔ)音服務(wù)是微軟提供的一套在線API服務(wù)红选,主要服務(wù)內(nèi)容包括語(yǔ)音轉(zhuǎn)文本、文本轉(zhuǎn)語(yǔ)音姆另、語(yǔ)音翻譯喇肋,我們此次探討的主要是文本轉(zhuǎn)語(yǔ)音服務(wù),詳細(xì)內(nèi)容可參考官方的API文檔微軟文本轉(zhuǎn)語(yǔ)音API文檔迹辐。

2.1蝶防、注冊(cè)獲得語(yǔ)音服務(wù)

微軟語(yǔ)音服務(wù)提供一個(gè)月的免費(fèi)試用期,需要先注冊(cè)Auzre賬號(hào)明吩,主要步驟如下:

1间学、適用Azure賬號(hào)登陸Azure門(mén)戶網(wǎng)站

2印荔、在Azure服務(wù)中選擇“創(chuàng)建資源”低葫。

圖2.1=Azure首頁(yè)創(chuàng)建資源

3、在資源市場(chǎng)中輸入中文“語(yǔ)音”仍律,找到第一個(gè)“語(yǔ)音”服務(wù)嘿悬,選中后創(chuàng)建。

圖2.2-語(yǔ)音服務(wù)創(chuàng)建

4水泉、善涨,注意選擇“位置”,我這邊選擇的位置是“中國(guó)東部2”,"訂閱"默認(rèn)注冊(cè)完Azure時(shí)微軟會(huì)送你一個(gè)月的“1元試用版套餐”草则,“資源組”還沒(méi)有的化新建一個(gè)钢拧。

圖2.3-創(chuàng)建資源方法

5、創(chuàng)建完成后炕横,打開(kāi)對(duì)應(yīng)資源源内,在左側(cè)欄找到“資源管理-密鑰和終結(jié)點(diǎn)”,獲得密鑰看锉,每個(gè)終結(jié)點(diǎn)的密鑰有2個(gè)姿锭,以后代碼里會(huì)用到,密鑰的作用就是在你自己的程序里伯铣,調(diào)用微軟語(yǔ)音API的時(shí)候,給你的一把鑰匙轮纫。

2.2腔寡、使用文本轉(zhuǎn)語(yǔ)音服務(wù)

2.2.1、安裝語(yǔ)音SDK

????此次我使用的是C#進(jìn)行開(kāi)發(fā)掌唾,因此在Visual Studio的項(xiàng)目中放前,需要安裝微軟語(yǔ)音SDK忿磅,之后只要要引用"Microsoft.CognitiveServices.Speech"這個(gè)包就行。安裝語(yǔ)音SDK的方法為凭语,在Visual Studio項(xiàng)目中葱她,選擇“項(xiàng)目-管理NuGet程序包”,搜索“Microsoft.CognitiveServices.Speech”似扔,選中第一個(gè)進(jìn)行安裝吨些。

圖2.4-?語(yǔ)音SDK安裝

2.2.2、引用SDK并對(duì)語(yǔ)音輸出進(jìn)行配置

\bullet 在C#中引用語(yǔ)音SDK炒辉,“Microsoft.CognitiveServices.Speech”和“Microsoft.CognitiveServices.Speech.Audio”豪墅。

圖2.5-引用語(yǔ)音SDK

\bullet 語(yǔ)音服務(wù)進(jìn)行配置,匹配密鑰以及音頻文件輸出路徑黔寇,之后實(shí)例化“SpeechSynthesizer”對(duì)象偶器,將之前“config”和“audioConfig”兩項(xiàng)配置參數(shù)傳遞過(guò)去。

圖2.6-相關(guān)音頻設(shè)置

2.2.3缝裤、通過(guò)語(yǔ)音合成標(biāo)記語(yǔ)言 (SSML) 改善合成的語(yǔ)音輸出

????SSML主要是一個(gè)XML文本屏轰,它其中定義了很多文本轉(zhuǎn)語(yǔ)音過(guò)程中的屬性,包括語(yǔ)言支持憋飞、語(yǔ)音語(yǔ)調(diào)亭枷、講話風(fēng)格、人聲搀崭、斷點(diǎn)等叨粘;使用SSML來(lái)合成語(yǔ)音更具靈活性,可對(duì)一段文字進(jìn)行多種播報(bào)方式的選擇瘤睹,也可以多人進(jìn)行文字的播報(bào)升敲。

2.2.4、神經(jīng)網(wǎng)絡(luò)語(yǔ)音

????微軟的語(yǔ)音服務(wù)中轰传,支持標(biāo)準(zhǔn)語(yǔ)音和神經(jīng)網(wǎng)絡(luò)語(yǔ)音的選擇驴党,也可以自己創(chuàng)建自定義語(yǔ)音,神經(jīng)網(wǎng)絡(luò)語(yǔ)音相比標(biāo)準(zhǔn)語(yǔ)音获茬,更加自然港庄,并且能夠提供多種播報(bào)風(fēng)格,適合在SSML文本中配置使用恕曲,在配置SSML文本時(shí)鹏氧,只要相應(yīng)的語(yǔ)音名稱,語(yǔ)音服務(wù)就能自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的語(yǔ)音播報(bào)佩谣,具體支持語(yǔ)音可參照語(yǔ)音服務(wù)的語(yǔ)言和語(yǔ)音支持把还。

三、天氣播報(bào)服務(wù)

3.1、氣象數(shù)據(jù)API

????天氣數(shù)據(jù)的獲取吊履,我參考中國(guó)氣象數(shù)據(jù)網(wǎng)安皱,該網(wǎng)站數(shù)據(jù)權(quán)威準(zhǔn)確,并能夠提供各類氣象數(shù)據(jù)的API艇炎,注冊(cè)并通過(guò)該網(wǎng)站的驗(yàn)證后酌伊,可免費(fèi)訂閱并試用一段時(shí)間的氣象數(shù)據(jù)服務(wù),此次測(cè)試我使用的是中國(guó)地面氣象站逐小時(shí)觀測(cè)資料缀踪。

圖3.1-地面氣象數(shù)據(jù)


????地面氣象數(shù)據(jù)的API支持定制功能居砖,可選擇定制氣象站點(diǎn),也可選擇定制氣象要素辜贵,此次測(cè)試我選擇了蘇州一個(gè)站點(diǎn)悯蝉,氣象要素包括溫度/氣溫、最高溫度托慨、最低溫度鼻由、氣壓、最高氣壓厚棵、最低氣壓蕉世、相對(duì)濕度、風(fēng)力婆硬、最大風(fēng)速狠轻、降水量、現(xiàn)在天氣彬犯。

圖3.2-氣象要素選擇

????氣象數(shù)據(jù)API通過(guò)HTTP GET的方式進(jìn)行發(fā)送向楼,主要GET格式如下圖,當(dāng)API訂單下單成功后谐区,在我的API訂單中湖蜕,可以查找到接口信息的賬號(hào)和密碼;dataFormat為返回?cái)?shù)格式宋列;interfaceId是調(diào)用數(shù)據(jù)的接口ID昭抒;dataCode是返回?cái)?shù)據(jù)的編碼方式,dataCode是時(shí)間范圍炼杖,支持最近7天的數(shù)據(jù)訪問(wèn)灭返;stalID是氣象站點(diǎn)的ID,支持1-30個(gè)站點(diǎn)坤邪,多個(gè)站點(diǎn)之間以“,”分隔熙含,具體站點(diǎn)參照中國(guó)地面氣象站點(diǎn)清單;elements是返回?cái)?shù)據(jù)的字段罩扇,可參照中國(guó)地面氣象要素清單婆芦。

圖3.3-氣象數(shù)據(jù)API調(diào)用

3.2怕磨、將接收到的氣象數(shù)據(jù)轉(zhuǎn)換成SSML文本

????接收到的氣象數(shù)據(jù)只是一些空洞的數(shù)據(jù)喂饥,我們最終要考慮的是如何把這些數(shù)據(jù)通過(guò)可與化的方式播報(bào)出來(lái)消约。我的思路是建立一個(gè)“Weather.xml”的本地文本,文本中輸入好固定的播報(bào)語(yǔ)句员帮,當(dāng)接收到天氣數(shù)據(jù)后或粮,將天氣數(shù)據(jù)替換到對(duì)應(yīng)的播報(bào)文本中,測(cè)試播報(bào)文本如下圖3.5捞高。

3.2.1氯材、數(shù)據(jù)替換方式

????SSML文本中的天氣數(shù)據(jù)均按照“{a},,{c},kkob0mc...”的方式進(jìn)行標(biāo)簽化并放入對(duì)應(yīng)文本后面硝岗,當(dāng)接收天氣數(shù)據(jù)以后氢哮,再按照文本的標(biāo)簽進(jìn)行相應(yīng)的替換,最后將整個(gè)文本數(shù)據(jù)流發(fā)送給微軟語(yǔ)音API型檀,并轉(zhuǎn)換成合成語(yǔ)音冗尤,參考代碼如下圖3.4。


圖3.4-替換文本參考代碼

3.2.2胀溺、SSML文本修改方式參考

????播報(bào)文本采用SSML的格式編寫(xiě)裂七,此次測(cè)試段我加入了兩種神經(jīng)語(yǔ)音的播報(bào),具體語(yǔ)音類型設(shè)置通過(guò)“voide name”標(biāo)簽仓坞;播報(bào)的方式我選擇成了“新聞模式”背零,具體設(shè)置通過(guò)“mstts:express-as style”標(biāo)簽;如果需要在播報(bào)之間加入斷點(diǎn)无埃,可通過(guò)設(shè)置“break time”標(biāo)簽實(shí)現(xiàn)徙瓶;如果要設(shè)置當(dāng)前播報(bào)文字的速度,可通過(guò)設(shè)置“prosody rate”標(biāo)簽實(shí)現(xiàn)嫉称。

????采用SSML的格式侦镇,可以通過(guò)設(shè)置斷點(diǎn)、語(yǔ)速等控制播報(bào)時(shí)間澎埠,例如電視上一段天氣語(yǔ)音的播報(bào)虽缕,需要配合在線包裝或者圖片的方式顯示天氣信息,加入斷點(diǎn)和語(yǔ)速能夠更方便控制天氣顯示方式之間的銜接蒲稳,尤其是相對(duì)固定的播報(bào)氮趋,只要設(shè)置好一次SSML格式后,基本就不需要做大的改動(dòng)江耀。

圖3.5-播報(bào)文本

四剩胁、 未來(lái)擴(kuò)展設(shè)想

4.1、自定義神經(jīng)語(yǔ)音

????微軟提供了自定義語(yǔ)音的一組在線工具祥国,能夠創(chuàng)建自己獨(dú)一無(wú)二的語(yǔ)音服務(wù)昵观,自定義語(yǔ)音訓(xùn)練模型如下圖4.1所示晾腔,在Azure上訂閱了微軟語(yǔ)音服務(wù)后,只需要準(zhǔn)備需要自定義的相關(guān)音頻文件啊犬,通過(guò)不斷的上傳數(shù)據(jù)灼擂、訓(xùn)練,最終生成自定義語(yǔ)音的API觉至,最終將自定義的語(yǔ)音模型部署到Azure剔应,供自己API接口調(diào)用。

????未來(lái)電視節(jié)目制作中语御,可以通過(guò)自定義神經(jīng)語(yǔ)音的方式峻贮,將電視臺(tái)主持人的聲音通過(guò)不斷的訓(xùn)練和仿真,可以大大降低主持人繁雜的配音工作应闯,提高工作效率纤控。

圖4.1-自定義語(yǔ)音模型

4.2、結(jié)合UE4實(shí)現(xiàn)虛擬AR/VR播報(bào)

????UE4支持自定義插件碉纺,可以將微軟語(yǔ)音服務(wù)和虛擬數(shù)據(jù)相結(jié)合船万,通過(guò)自定義插件的方式部署到UE4項(xiàng)目中捏膨,這樣只要跟UE4場(chǎng)景制定好插件接口調(diào)用方式亮钦,就能快速實(shí)現(xiàn)AR/VR播報(bào)的實(shí)時(shí)渲染輸出鳞绕。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末锋叨,一起剝皮案震驚了整個(gè)濱河市堂鲤,隨后出現(xiàn)的幾起案子杜漠,更是在濱河造成了極大的恐慌蟹瘾,老刑警劉巖粉怕,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抵卫,死亡現(xiàn)場(chǎng)離奇詭異狮荔,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)介粘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)殖氏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人姻采,你說(shuō)我怎么就攤上這事雅采。” “怎么了慨亲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵婚瓜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我刑棵,道長(zhǎng)巴刻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任蛉签,我火速辦了婚禮胡陪,結(jié)果婚禮上沥寥,老公的妹妹穿的比我還像新娘。我一直安慰自己柠座,他們只是感情好邑雅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著愚隧,像睡著了一般蒂阱。 火紅的嫁衣襯著肌膚如雪锻全。 梳的紋絲不亂的頭發(fā)上狂塘,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音鳄厌,去河邊找鬼荞胡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛了嚎,可吹牛的內(nèi)容都是我干的泪漂。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼歪泳,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼萝勤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呐伞,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤敌卓,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后伶氢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體趟径,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年癣防,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜗巧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蕾盯,死狀恐怖幕屹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情级遭,我是刑警寧澤望拖,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站装畅,受9級(jí)特大地震影響靠娱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掠兄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一像云、第九天 我趴在偏房一處隱蔽的房頂上張望锌雀。 院中可真熱鬧,春花似錦迅诬、人聲如沸腋逆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)惩歉。三九已至,卻和暖如春俏蛮,著一層夾襖步出監(jiān)牢的瞬間撑蚌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工搏屑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留争涌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓辣恋,卻偏偏與公主長(zhǎng)得像亮垫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子伟骨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容