互聯(lián)網(wǎng)以及和它相關(guān)的一切現(xiàn)在似乎隨處可見。您也許已經(jīng)試過接到夜間電話推銷員的語(yǔ)音電話、又或者曾經(jīng)接到過當(dāng)?shù)厮幍杲o您的處方通知?,F(xiàn)在,有一種新技術(shù)可以使用語(yǔ)音合成結(jié)合XML技術(shù)傳送語(yǔ)音信息了。
以語(yǔ)音傳遞信息的手段并不是什么新東西。它是我們幾千年來一直使用的交流方法。而且,從一臺(tái)計(jì)算機(jī)那里接收到電話也并非什么新發(fā)明。許多語(yǔ)音技術(shù)到現(xiàn)在已經(jīng)大行其道了,從傳真機(jī)、自動(dòng)撥號(hào)器到集成語(yǔ)音回復(fù)系統(tǒng)(IVR)。電話當(dāng)然是它最普遍的應(yīng)用。
傳統(tǒng)的語(yǔ)音系統(tǒng)使用預(yù)先錄制好的樣本、詞典和音素來創(chuàng)建我們所聽到的聲音。然而,使用這種預(yù)先錄制的手段有很多問題。其中最普遍的問題之一就是缺少連貫性和變化。如果只有一種錄制好的語(yǔ)音版本,其中每個(gè)單詞或者聲音都只有一個(gè)樣本,那么很難讓計(jì)算機(jī)發(fā)出和普通陳述語(yǔ)句不同語(yǔ)調(diào)的疑問句。同樣困難的是讓計(jì)算機(jī)知道何時(shí)該用某種語(yǔ)調(diào)或者該用何種語(yǔ)調(diào)發(fā)音。
為了幫助解決語(yǔ)音合成問題,W3C為語(yǔ)音合成標(biāo)記語(yǔ)言(Speech Synthesis Markup Language)創(chuàng)建了一種新的工作草稿。這種新的XML詞匯表可以使語(yǔ)音瀏覽器開發(fā)人員能夠控制一個(gè)語(yǔ)音合成器的創(chuàng)建方法。例如,開發(fā)者可以將命令包含進(jìn)音量中,并在合成語(yǔ)音模式的時(shí)候使用它。
SSML規(guī)范基于Sun公司早期的一項(xiàng)名為JSpeeck Markup Language(JSML)的研究工作。JSML則是基于Java Speech API Markup Language?,F(xiàn)在SSML是W3C語(yǔ)音研究工作組的工作稿。
SSML語(yǔ)言的基本目標(biāo)是一個(gè)文本到語(yǔ)音(Text-To-Speech簡(jiǎn)稱TTS)的處理器。一個(gè)TTS引擎獲得一個(gè)文本的集合并將它轉(zhuǎn)換為語(yǔ)音?,F(xiàn)在已經(jīng)有了幾種TTS應(yīng)用程序了,例如電話語(yǔ)音合成回復(fù)系統(tǒng),以及為盲人設(shè)計(jì)的更高級(jí)的系統(tǒng)等等。特定文本集合的發(fā)音本身固有的不確定性是現(xiàn)有TTS系統(tǒng)的所面臨的主要難題之一。其他普遍一點(diǎn)的問題集中在單詞簡(jiǎn)寫(如HTML)、拼寫和發(fā)音不同的單詞(如subpoena)等詞類的發(fā)音上。
SSML語(yǔ)言的基礎(chǔ)元素指定了文本的格式。例如針對(duì)HTML,SSML語(yǔ)言提供了一種段落元素而且走得更遠(yuǎn)。因?yàn)樗€提供了句子元素。通過像指定段落一樣指定句子的地址,包括起始地址和終止地址,TTS引擎就能更精確的生成語(yǔ)音。
除了基本的格式,SSML還提供了功能來指定如何發(fā)某個(gè)預(yù)定的詞語(yǔ)或者詞語(yǔ)集合。這個(gè)功能由“say-as”元素來實(shí)現(xiàn)。它是SSML中一個(gè)非常有用的組件。它能讓你指定一個(gè)模板,這個(gè)模板描述如何發(fā)音某個(gè)單詞或者單詞集合。通過“say-as”,我們可以為縮寫的單詞指定如何發(fā)音,也可以為拼寫與發(fā)音不同的單詞指定發(fā)音。我們還可以列出數(shù)字和日期之間的區(qū)別。“say-as”元素包含了對(duì)email地址、貨幣和電話號(hào)碼等的支持。
我們也可以對(duì)文本提供一種語(yǔ)音學(xué)上的表達(dá)方式。例如,我們可以通過這種手段來指出美式英語(yǔ)和英式英語(yǔ)對(duì)potato單詞發(fā)音的不同。
SSML語(yǔ)言的幾個(gè)高級(jí)屬性可以幫助我們讓TTS系統(tǒng)生成更人性化的聲音。我們可以使用“voice”元素指定男聲、女聲或者中性的聲音,而且還可以指定聲音所屬的年齡。我們可以使用這個(gè)元素來指定從4歲的男孩到75歲的老婦之間的任何聲音。
我們還可以使用“emphasis”元素環(huán)繞那些需要強(qiáng)調(diào)或者比較次要的文本。我們還可以使用“break”元素告訴系統(tǒng)語(yǔ)音在某處應(yīng)該暫停。
SSML語(yǔ)言最高級(jí)地特性之一體現(xiàn)在它地“prosody”元素上。通過它我們可以以某種指定地方式生成某個(gè)確定的文本集合的語(yǔ)音。我們可以指定聲音的語(yǔ)調(diào)、范圍、語(yǔ)速(單詞每分鐘)。我們甚至可以通過使用“contour”元素指定更細(xì)節(jié)的東西?!癱ontour”元素把語(yǔ)調(diào)和語(yǔ)速集成在了一起。通過指定一個(gè)文本集合的“contour”元素值,我們可以更精確的定義如何生成語(yǔ)音。
聯(lián)系客服