TWI415110B - 用於語音合成之方法及系統 - Google Patents

用於語音合成之方法及系統 Download PDF

Info

Publication number
TWI415110B
TWI415110B TW98106707A TW98106707A TWI415110B TW I415110 B TWI415110 B TW I415110B TW 98106707 A TW98106707 A TW 98106707A TW 98106707 A TW98106707 A TW 98106707A TW I415110 B TWI415110 B TW I415110B
Authority
TW
Taiwan
Prior art keywords
client
corpus
sound unit
current
sound
Prior art date
Application number
TW98106707A
Other languages
English (en)
Other versions
TW201034002A (en
Inventor
Zhiwei Shuang
Fan Ping Meng
Qin Shi
Yong Qin
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Priority to TW98106707A priority Critical patent/TWI415110B/zh
Publication of TW201034002A publication Critical patent/TW201034002A/zh
Application granted granted Critical
Publication of TWI415110B publication Critical patent/TWI415110B/zh

Links

Landscapes

  • Telephonic Communication Services (AREA)

Description

用於語音合成之方法及系統
本發明概略關於一種文字轉語音(TTS,“Text to speech”)技術,特別是一種在一客戶端處針對一文字性內容執行語音合成之方法及系統。
一種文字轉語音(TTS)系統係為使人透過語音存取所需要資訊的一種廣為使用的技術。一種典型的應用係要將一可由一使用者經由網際網路存取的一文字性內容,改變成位在一客戶端的語音,該客戶端像是桌上型電腦、膝上型電腦或一掌上型裝置,例如行動電話、個人數位助理或類似者。因此,該使用者可以不需要讀取該文字而取得資訊。對於這種應用,該使用者需要載入一TTS系統到他的客戶端中。現今有愈來愈多的使用者想要經由網際網路下載一TTS系統,而非使用記錄在一儲存媒體上的一複本。
目前,大多數的TTS系統基於聲音單元的選擇及串連而執行語音合成。基於多個單元的選擇及串連之語音合成需要大量的聲音單元,藉以得到令人滿意的語音。例如,一IBM中文TTS系統使用25,000個句子做為一語料庫來合成良好品質的語音,其約為4GB。當然,這些聲音單元可利用一些語音編碼演算法被壓縮成200MB,而不會影響該語音品質太多。但是,對於透過網路下載語音資料的使用者而言,一次下載200MB的語音資料是非常大的下載量。使用者必須等待相當長的時間才能開始使用該語音資料。
基於上述的問題,因此提出一種解決方案如下:儘可能地縮小一語料庫來取得一較小的TTS系統(例如20MB)用於語音合成,以促進成功地合成多種文字性內容,並確保一可接受的語音品質。在此例中,使用者僅需要等待非常短的時間(例如下載20MB資料的時間)來開始使用TTS系統。因為該下載的TTS系統之語料庫有限,在使用TTS系統期間由使用者取得的語音合成品質將會很差。從使用者之使用心理來看,這種不良的語音合成品質在剛開始使用該系統的短期內可能被接受,但在長期使用之後將無法被接受。
歐洲專利申請案WO06128480A1,其揭示一種在一通訊網路上提供使用者終端上語音合成的方法與系統。在此專利中,語音合成的基本資料庫先被下載到一使用者終端上,且在該TTS伺服器側上根據可能的主題事先產生多個增值語料庫資料庫,例如經濟、運動、漫畫等等。當一使用者利用此TTS系統存取一文字性內容時,該系統擷取該文字性內容的主題,根據該主題選擇一相對應增值語料庫資料庫,並加入該增值語料庫資料庫到該使用者客戶端上之基本資料庫來進行該文字性內容之語音合成。相較於先前的解決方案,此解決方案可使得使用者快速地下載一較小的TTS系統,並可很快地開始使用。利用此解決方案,增值資料庫可一點一點地增加,所以該語音合成品質可持續地改善,並增進使用者的滿意程度。
基於此解決方案,每個客戶端需要指定該等既有的內容(主題)(例如經濟、運動、漫畫等等)之一到要被合成的該文字,選擇存在於該TTS伺服器側上的一增值語料庫資料庫(例如選擇一增值語料庫資料庫,例如經濟、運動、漫畫等等),然後下載該增值語料庫資料庫。
在歐洲專利申請案WO06128480A1所揭示的技術解決方案中有一些限制。此係因為在實際的語音合成期間,要合成類似的內容(主題)之內容可能需要一完全不同的聲音單元(即音節)組。例如,以運動為主題的文字可以關於游泳或籃球,藉此這兩個實際內容在語音合成期間在聲音單元中有很大的不同。因此,在指定一特定內容(主題)到該文字來根據該特定內容下載一預先產生的特定語料庫之這種解決方案對於基於該選擇及串連的TTS系統而言並不準確。因此,利用此解決方案根據一主題來下載一語料庫資料庫將不會使得一客戶端有效地改善該語音合成品質,且使用者仍可能不滿意該合成品質的這種改善。
因此,需要一種TTS系統式之文字轉語音解決方案及方法,其不僅可支援一使用者在短時間內下載及使用一文字轉語音系統,亦可有效地由使用者進一步使用該系統來改善該語音合成品質,藉此可增進該系統之文字轉語音之服務效能。
為了克服先前技術的限制,本發明係要提供一種在一客戶端執行語音合成成為一文字內容之方法與系統,其不僅可支援一使用者在短時間內下載及使用一文字轉語音系統,亦可適應性地當該使用者進一步使用該系統時改善該語音合成品質。因此,該系統之文字轉語音服務效能可以有效地增進。
根據本發明一種態樣,其提供一種用於在一客戶端處針對一文字性內容執行語音合成的方法。該方法包含:基於在該客戶端處一語料庫中的一目前聲音單元組Scurrent 針對該文字性內容執行語音合成;回應於判斷是否要更新在該客戶端處該語料庫中的該目前聲音單元組,分析該文字性內容並產生具有相對應內容特徵之一目標單元的列表,基於一聲音單元組Stotal 根據該等內容特徵選擇每個目標單元的多個聲音單元候選者,該聲音單元組Stotal 會比在該客戶端處該語料庫中的該目前聲音單元組Scurrent 要豐富,且根據該等多個單元候選者決定適合於該文字性內容之語音合成的聲音單元;並基於該等決定的聲音單元更新在該客戶端處該語料庫中的該目前聲音單元組Scurrent
根據本發明另一種態樣,其提供一種用於在一客戶端處針對一文字性內容執行語音合成的系統。該系統包含:語音合成構件,其組態成基於在該客戶端處一語料庫中的一目前聲音單元組Scurrent 針對該文字性內容執行語音合成;聲音單元決定構件,其組態成回應於判斷是否要更新在該客戶端處該語料庫中的該目前聲音單元而執行以下的步驟:分析該文字性內容並產生一具有相對應內容特徵之目標單元的列表;基於一聲音單元組Stotal 根據該等內容特徵選擇每個目標單元的多個聲音單元候選者,該聲音單元組Stotal 比在該客戶端處語料庫中的該目前聲音單元組Scurrent 要豐富;且根據該等多個單元候選者決定適合於該文字性內容之語音合成的聲音單元;及更新構件,其組態成基於該等決定的聲音單元更新在該客戶端處語料庫中目前聲音單元組Scurrent
本發明的技術解決方案可以支援該使用者在短時間內下載並使用一文字轉語音系統。因為本發明直接選擇及下載對於在該客戶端處歷史文字性內容之語音合成最為重要的聲音單元,其使得關於該文字性內容之語料庫更為準確地在該客戶端處被下載及更新。當該使用者進一步使用該系統時,根據本發明之客戶端可以在語音合成品質上取得一有效的改善,所以可以增進該文字轉語音服務效能。
本發明的其它特徵及好處將可由以下配合該等附屬圖面之本發明的具體實施例之詳細說明而更加瞭解。
如上所述,使用者不能夠利用該等既有的技術解決方案由在一客戶端處執行的文字轉語音取得語音合成的顯著改善的品質。此係因為雖然該等既有的技術解決方案動態地更新由一客戶端維護的一語料庫資料庫(例如藉由使用根據主題之增值語料庫資料庫),這種更新係基於預設的內容(主題),然而根據一人工分類的內容來選擇語音合成的增值語料庫資料庫並不正確,其無法調整一語料庫成為目前被合成之內容。
本發明的發明人已經注意到一使用者正在一客戶端處執行語音合成,特別是在一客戶端處執行語音合成成為網路內容文字,其在一目前合成的文字性內容與一先前合成的文字性內容之間通常有一較高的關連性。因此,本發明的原理為:在開始時,一使用者下載一較小的語料庫到一客戶端當中,其可確保一可接受的語音品質,做為該客戶端的目前語料庫來執行語音合成,藉以使得該使用者儘快地使用一TTS系統來針對一網路文字性內容執行語音合成;然後,當該使用者正在使用該TTS系統時,已經執行語音合成的一文字性內容,即一歷史文字性內容,之聲音單元即基於一語料庫來選擇(例如在該伺服器側處維護的一整體語料庫,根據某個規則藉由區分所得到的一次語料庫),該語料庫會比該客戶端處的目前語料庫要豐富,其中通常可由基於該等選擇的聲音單元的該語音合成達到該歷史文字性內容之較佳的語音合成品質;接著,該客戶端處的目前語料庫即基於該選擇的聲音單元而更新。例如,決定未包括在該客戶端之目前語料庫中的一組選擇的聲音單元,且該組合被下載到該客戶端當中,且該客戶端的目前語料庫被更新來包括對於該歷史文字性內容所選擇的所有聲音單元,然後該客戶端的更新語料庫即被用於一後續文字性內容之語音合成。藉由重複此程序,該客戶端的目前語料庫根據已經執行語音合成的該文字性內容(歷史文字性內容)逐漸地變多,所以該語音合成品質可持續地改善,且可增進使用者的滿意程度。
以下將參照該等附屬圖面對於本發明之具體實施例進行詳細的說明。
首先參照第1圖。該圖圖解顯示根據本發明一具體實施例中於一客戶端處針對一文字性內容執行語音合成之系統。參考編號10代表一客戶端,其可為需要使用TTS功能的一使用者裝置,例如桌上型電腦、膝上型電腦、行動電話、個人數位助理等等;11代表一TTS伺服器,其可為能夠提供該客戶端TTS服務之任何遠端或近端伺服器;12代表一內容伺服器,其可為能夠提供該客戶端所有種類的網路內容資訊之任何遠端或近端伺服器;13代表一連接個別裝置之通訊網路,其可為一區域網路、廣域網路、企業內網路、網際網路等等。在第1圖所示的TTS系統中,多個客戶端(藉由範例方式僅例示一個客戶端,即客戶端10),其透過通訊網路13連接到內容伺服器12來取得網路文字性內容。該等多個客戶端可以直接(如第1圖所示)或透過一通訊網路(未示出)連接至TTS伺服器11,藉以取得服務,例如下載該TTS系統。
如第1圖所示,客戶端10包含:收發器101、語音合成構件102、語料庫管理103及一語料庫104。客戶端10透過收發器101與其它網路單元(伺服器)通訊。語音合成構件102基於在一目前語料庫中聲音單元的選擇及串連轉換一文字性內容到語音,並經由一喇叭輸出該語音。語料庫管理構件103係用於維護語料庫104之索引檔案,並管理在語料庫104中聲音單元的取得及更新。語料庫104具有一組儲存用於語音合成之客戶端的本地聲音單元。
TTS伺服器11包含:收發器111、聲音單元決定構件112、語料庫管理構件113及一語料庫114。TTS伺服器11透過收發器111與其它網路單元(客戶端)進行通訊。聲音單元決定構件112係用於決定一聲音單元組,其用於更新一客戶端的本地語料庫。語料庫管理構件113用於在該伺服器側上維護語料庫114的一索引檔案,並管理語料庫114中聲音單元的取得。語料庫114儲存一組該伺服器的聲音單元。該伺服器提供該聲音單元組的一次組合或通用組合到該客戶端做為該客戶端的本地儲存的語料庫。因此,位於該伺服器側的語料庫114通常比該客戶端本地儲存的語料庫104要具有更多的聲音資源。根據本發明一具體實施例,聲音單元決定構件112包含文字分析構件1121與單元選擇構件1122。在一種實施中,文字分析構件1121係用於分析一文字性內容,並產生一具一相對應內容特徵之目標單元的列表。單元選擇構件1122基於在該TTS伺服器側上的語料庫113決定適合於該文字性內容之目標單元的語音合成之聲音單元候選者,所以語音合成的一聲音單元可自該等聲音單元候選者中選出。TTS伺服器11基於該等選擇的聲音單元更新該客戶端的目前語料庫。
以下將對於第1圖所示的架構中每個網路元件之作業程序進行詳細的解釋。為了例示起見,對於以下的符號具有定義如下:
1. Scurrent :一語音合成的聲音單元組,其係本地性儲存在該客戶端處,即在該客戶端處一本地語料庫中一聲音單元組。
2. S0 :一聲音單元組,其為該客戶端在一初始狀態下自該TTS伺服器下載者。在一較佳具體實施例中,S0 可為一少量的聲音單元組,其為實施所有種類的文字性到語音合成,並確保一使用者可接收的語音合成品質所需要者。當S0 被下載到該客戶端的語料庫中,Scurrent 等於S0
3. Stotal :儲存在TTS伺服器上一語料庫中之一聲音單元組。Stotal 通常比於該客戶端處本地儲存的Scurrent 要具有豐富的聲音資源。也就是說,該客戶端的語料庫為TTS伺服器之語料庫的次組合,即Stotal Scurrent 。在此處需要指出的是雖然在TTS伺服器上該語料庫中的聲音單元組標示為Stotal ,其要瞭解到Stotal 係相對於在該客戶端處維護的次組合Scurrent 。Stotal可為由TTS伺服器維護的整個語料庫,或由TTS伺服器維護的整個語料庫之一指定的部份(例如根據某個規則等等區分整個語料庫所得到的一特定部份),只要其比該客戶端的語料庫要具有更多的聲音資源。本技藝專業人士可瞭解到在閱讀本發明之例示時,Stotal 較佳地是為該TTS伺服器所維護的整個語料庫之一聲音單元組。依此方式,於該客戶端處的語音合成品質可更為有效地改善。
4. S :由該聲音單元決定構件所決定要下載到該客戶端中藉以豐富該客戶端的語料庫之聲音單元組。
現在將藉由實際範例例示如第1圖所示之該系統的操作程序。
在一初始狀態下,客戶端10的使用者開啟該TTS服務功能,且客戶端10自TTS伺服器11下載S0 做為Sgcurrent ,並將其儲存到本地語料庫104中用於語音合成。
客戶端10經由通訊網路13自內容伺服器12取得一文字性內容C1。而客戶端10的收發器101傳送該接收到的文字性內容C1到語音合成構件102。然後,語音合成構件102透過語料庫管理構件103取得語料庫104中Scurrent (此時Scurrent =S0 )的聲音單元來合成語音,並透過一喇叭輸出該語音。語音合成構件102可包含基於TTS技術之語音合成所需要的個別功能性模組,其中包括例如文字分析構件及單元選擇構件。這些功能性模組之操作原理及操作程序為人所熟知,並可以用於串連的文字轉語音系統之任何方法來實施。本發明的說明僅著重在關於本發明之語音合成構件的功能及效果,並省略其詳細實施。與先前技藝不同的是,根據本發明之具體實施例的技術解決方案中,當該使用者基於語料庫104的目前聲音單元組Scurrent 取得文字性內容C1的合成之語音時,客戶端10經由收發器101傳送文字性內容C1到TTS伺服器11,藉以可調整式地更新客戶端10上的本地語料庫104。
在TTS伺服器11側上,收發器111自客戶端10接收文字性內容C1,並將其傳送到聲音單元決定構件112。以操作原理與操作程序的角度類似於一傳統TTS系統之語音合成構件,雖然聲音單元決定構件112並不執行實際的語音合成,但透過單元選擇決定聲音單元候選者,藉以更新相對應的客戶端處的語料庫。在如第1圖所示的具體實施例中,聲音單元決定構件112包含文字分析構件1121與單元選擇構件1122。文字分析構件1121分析該文字性內容C1,並產生一具有相對應的內容特徵之目標單元的列表。單元選擇構件1122基於語料庫114中的Stotal 選擇適合於文字性內容C1之目標單元的語音合成之多個聲音單元候選者。該單元選擇可基於目標單元的內容特徵(例如目前單元)、在詩體單字(字頭、字中或字尾)中的位置,在句子中的位置、左音節、右子音等來實施。因為聲音單元決定構件112基於Stotal (其比客戶端的Scurrent 要具有更多的聲音資源)選擇文字性內容C1之候選聲音單元,以藉由使用該等候選聲音單元執行語音合成成為文字性內容C1,其通常要比在該客戶端處的這種C1之效能要具有一更佳的語音合成品質。聲音單元決定構件112基於來自該單元選擇的結果決定要用於更新在客戶端10上的本地語料庫之一聲音單元組。在一種實施中,聲音單元決定構件112直接決定該組所有聲音單元候選者做為用於更新客戶端10上本地語料庫之一聲音單元組。聲音單元決定構件112亦可使用候選單元的最佳化評等結果來決定用於更新在客戶端10上本地語料庫之一聲音單元組。例如,每個目標單元的多個聲音單元候選者可全部一起評等,或個別地評等(例如根據每個候選聲音單元已經被選擇的數目),藉以決定用於更新的一聲音單元組。本技藝專業人士要瞭解到雖然聲音單元決定構件112執行在TTS系統中之該單元選擇程序,其並非要做為實際語音合成。因此,上述聲音單元決定構件112之作業較佳地是基於一語料庫索引檔案(圖中未示出)來實施,其包括該語料庫的所有聲音單元之性質索引,而不會造成儲存在該語料庫中聲音單元之實際音訊波形。
接下來,聲音單元決定構件112通知該決定的聲音單元組之語料庫管理構件113。語料庫管理構件113自TTS伺服器11上的語料庫114取得相對應聲音單元(音訊波形),藉以更新在客戶端10上的本地語料庫104。較佳地是,語料庫管理構件113僅取得屬於該決定的聲音單元組且未包括在客戶端10上的Scurrent 中之一組聲音單元,即S (在一種實際實施中,該單元組S 可藉由查詢在TTS伺服器11上維護的該客戶端語料庫之一組態檔案(未示出)所決定)。TTS伺服器11經由收發器111傳送S 到客戶端10進行語料庫更新。TTS伺服器10可更新由其對於客戶端10所維護的該組態檔案,藉以記錄更新的語料庫104之組態在客戶端10上。
客戶端10之收發器101接收S ,並將其傳送到客戶端10處的本地語料庫管理構件103。然後,語料庫管理構件103加入S 到語料庫104,藉以更新語料庫104,以使得Scurrent =S0 +S ,並進一步更新語料庫104的索引檔案。
當客戶端10透過通訊網路13自內容伺服器12取得一新的文字性內容C2(未示出)時,語音合成將基於語料庫104中更新的Scurrent ,即S0 +S 來實施。因為通常在目前合成的文字性內容與先前合成的文字性內容之間有較高的關連性,基於對於C1的單元選擇所擴充的語料庫對於C2執行的語音合成通常可有效地增近該語音合成品質。類似地,C2亦被傳送到TTS伺服器11做為一歷史文字性內容來決定S ,以進一步更新該客戶端的本地語料庫104。此適應性更新客戶端10之語料庫104的程序在當該使用者持續地使用該客戶端TTS系統時以循環方式實施。最後,在TTS伺服器11上的整個語料庫被下載到客戶端10中。依此方式,語音合成的歷史文字性內容漸漸地增補到該客戶端之語料庫的聲音單元組中,藉以確保在更短的時間內可以有效地改善在該客戶端處的語音合成品質。當然,終止該可適應性更新程序的條件可以人工地設定,藉以停止更新該客戶端的語料庫。
根據第1圖所示的該具體實施例,基於在該客戶端處歷史文字性內容來決定要被更新之聲音單元的作業係在該TTS伺服器側處實施。在此具體實施例中,TTS伺服器以中央化的方式管理在每個客戶端上的語料庫更新,因此需要執行決定對於每個客戶端所要更新之聲音單元的作業。顯然該TTS伺服器將要承受巨量的運算,其會增加在該TTS伺服器側處的操作成本。在本發明另一具體實施例中,決定要對一客戶端更新之聲音單元的作業亦可用一分散式方式在每個客戶端上本地性地實施。以下將參照第2圖提供此具體實施例之說明。
第2圖為根據本發明另一具體實施例中於一客戶端處針對一文字性內容執行語音合成之系統。參考編號20代表一客戶端,其可為需要使用TTS功能的一使用者裝置,例如桌上型電腦、膝上型電腦、行動電話、個人數位助理等等;21代表一TTS伺服器,其可為能夠提供該客戶端TTS服務之任何遠端或近端伺服器;22代表一內容伺服器,其可為能夠提供該客戶端所有種類的網路內容資訊之任何遠端或近端伺服器;23代表一連接個別裝置之通訊網路,其可為一區域網路、廣域網路、企業內網路、網際網路等等。類似於第1圖所示的TTS系統,在第2圖所示的TTS系統中,多個客戶端(藉由範例方式僅例示一個客戶端,即客戶端20),其透過通訊網路23連接到內容伺服器12來取得網路文字性內容。該等多個客戶端可以直接(如第2圖所示)或透過一通訊網路(未示出)連接至TTS伺服器21,藉以取得服務,例如下載該TTS系統。
如第2圖所示,客戶端20包含:收發器201、語音合成構件202、語料庫管理203、語料庫204及(特別是)聲音單元決定構件205。利用類似於第1圖所示之具體實施例中的TTS伺服器10之聲音單元決定構件112者之構造與功能,聲音單元決定構件205可以包含文字分析構件2051與單元選擇構件2052。TTS伺服器21包含收發器211、語料庫管理構件213與語料庫214。
以下將提供第2圖所示之架構的每個網路元件之操作程序的詳細說明。為了例示的目的,該等符號Scurrent ,S0 ,Stotal 及S 係參照前述定義來介紹。
現在將藉由實際範例例示如第2圖所示之該系統的操作程序。
在一初始狀態下,客戶端20的使用者開啟該TTS服務功能,且客戶端20自TTS伺服器11下載S0 做為Sgcurrent ,並將其儲存到本地語料庫204中用於語音合成。
客戶端20經由通訊網路23自內容伺服器22取得一文字性內容C1。而客戶端20的收發器201傳送該接收到的文字性內容C1到語音合成構件202。然後,語音合成構件202透過語料庫管理構件203取得語料庫204中Scurrent (此時Scurrent =S0 )的聲音單元來合成語音,並透過一喇叭輸出該語音。語音合成構件202之操作原理及操作程序為人所熟知,並可以用於串聯的文字轉語音系統之任何方法來實施。
與參照第1圖所述之具體實施例不同,其在當該使用者基於語料庫204中目前聲音單元組Scurrent 取得文字性內容C1之合成的語音時,客戶端20之聲音單元決定構件205進一步基於文字性內容C1決定用於更新客戶端20上語料庫204之一聲音單元組。
以操作原理與操作程序的角度類似於一傳統TTS系統之語音合成構件,然而聲音單元決定構件205並不執行實際語音合成,而是經由單元選擇決定聲音單元候選者,藉以更新在一相對應客戶端上該語料庫。在聲音單元決定構件205中,文字分析構件2051分析文字性內容C1,並產生一具有相對應內容特徵之目標單元的列表。單元選擇構件2052基於TTS伺服器21上語料庫214中Stotal 選擇適合於文字性內容C1之目標單元的語音合成之多個聲音單元候選者。此處必須指出的是客戶端20可由TTS伺服器21取得其語料庫214的一索引檔案,其可包括Stotal 中所有聲音單元的性質索引。因此,聲音單元決定構件205可執行基於Stotal 之決定運算,而不會造成Stotal 中聲音單元之實際音訊波形。聲音單元決定構件205基於來自該單元選擇的結果決定要用於更新在客戶端10上的本地語料庫之一聲音單元組。在一種實施中,聲音單元決定構件205直接決定該組所有聲音單元候選者做為用於更新客戶端20上本地語料庫之一聲音單元組。聲音單元決定構件205亦可使用候選單元的最佳化評等結果來決定用於更新在客戶端20上本地語料庫之一聲音單元組。例如,每個目標單元的多個聲音單元候選者可全部一起評等,或個別地評等(例如根據每個候選聲音單元已經被選擇的數目),藉以決定用於更新的一聲音單元組。
接下來,聲音單元決定構件205通知該決定的聲音單元組之語料庫管理構件203。語料庫管理構件203取得屬於該決定的聲音單元組但未包括在客戶端20上的Scurrent 之一組聲音單元,即S 。語料庫管理構件203藉由查詢該客戶端的語料庫之索引檔案(Scurrent 的索引檔案)來決定S 的索引檔案。然後,客戶端20經由收發器201傳送S 的索引檔案到TTS伺服器21。
在TTS伺服器21側,收發器211自客戶端20接收對應於S 的索引檔案,並將其傳送到語料庫管理構件213。然後,語料庫管理構件213自語料庫214(Stotal )取得S ,藉以取得S 中聲音單元的音訊波形。藉由收發器211得到的SA被傳送到客戶端20。
於客戶端20側,收發器210傳送該接收的S 到語料庫管理構件203。且語料庫管理構件203加入S 到語料庫204,藉以更新語料庫204來使得Scurrent =S0 +S ,並進一步更新正在被維護的語料庫204之索引檔案。
當客戶端20透過通訊網路23自內容伺服器22取得一新的文字性內容C2(未示出)時,語音合成將基於語料庫204中更新的Scurrent (即S0 +S )來實施。因為通常在目前合成的文字性內容與先前合成的文字性內容之間有較高的關連性,基於對於C1的單元選擇所擴充的語料庫對於C2執行的語音合成通常可有效地增近該語音合成品質。類似地,客戶端20之聲音單元決定構件205基於做為歷史文字性內容之C2決定S 來進一步更新該客戶端的本地語料庫204。客戶端20自TTS伺服器21下載S ,並再一次更新語料庫204用於一後續新的文字性內容之語音合成。此可適應性更新客戶端20上的語料庫204之程序係當該使用者使用該客戶端TTS系統時以循環方式實施。最後,在TTS伺服器21上的整個語料庫被下載到客戶端20中。依此方式,語音合成的歷史文字性內容逐漸地增補到該客戶端之語料庫的聲音單元組中,藉以確保在更短的時間內可以有效地改善在該客戶端處的語音合成品質。當然,終止該可適應性更新程序的條件可以人工地設定,藉以停止更新該客戶端的語料庫。
第3圖顯示根據本發明一具體實施例中於一客戶端處針對一文字性內容執行語音合成之方法的流程圖。
為了例示的目的,該等符號Scurrent ,S0 ,Stotal 及S 係參照前述說明來引用。
在步驟S301中,一使用者開啟該TTS服務功能,因此開始該流程。
在步驟S302中,該基本語料庫S0 被下載來使得Scurrent =S0 。此步驟可在當例如一客戶端正在初始化一TTS系統時來執行。該客戶端自一TTS伺服器下載該預先定義的基本語料庫S0 ,且使用S0 做為該客戶端語料庫Scurrent 來進行語音合成。此使得該使用者使用該TTS系統,而不需要等待很久。
在步驟S303中,接收到一新的文字性內容。該客戶端可透過一通訊網路自一內容伺服器接收包括文字性內容之所有種類的資訊。
在步驟S304中,基於Scurrent 針對該文字性內容執行語音合成。該文字性內容經由在目前語料庫中的聲音單元Scurrent 之選擇及串連被轉換到語音,且該語音經由一喇叭輸出。
在步驟S305中,其判斷是否要更新該客戶端語料庫。對於該判斷可利用多種條件。
例如,在一典型的狀況下,如果Scurrent =Stotal ,此代表該客戶端語料庫已經取得所有可使用的聲音單元,所以其決定該客戶端語料庫並不需要被更新。
在另一範例中,可經由預設的條件(例如預設的參數,例如語音合成品質等等)或甚至經由該使用者的指示來判斷出是否要更新該客戶端語料庫。由該客戶端TTS系統所執行的語音合成品質將在執行根據本發明之語料庫更新解決方案的初始階段中明顯地增加,且這種語音合成品質的增加將在稍後的階段中減慢或甚至停止。此時,如果該使用者認為該語音合成品質已經滿足他的期望,則該客戶端語料庫並不需要被更新。依此方式,在該客戶端處及/或在TTS伺服器側的運算資源可以被節省。
根據不同的具體實施例,在步驟S305中的判斷可以實施在TTS伺服器側處或在該客戶端當地。
如果該判斷的結果係要更新該客戶端語料庫,該流程進行到步驟S306。如果該判斷的結果係不要更新該客戶端語料庫,該流程進行到步驟S308。
在步驟S306中,語音合成的一聲音單元組基於Stotal 針對該文字性內容來決定。根據不同的具體實施例,步驟S306可實施在TTS伺服器側(如第1圖所示的具體實施例)或在該客戶端處(如第2圖所示的具體實施例)。
在步驟S307中,該客戶端的目前語料庫係基於所決定的聲音單元來更新。例如,在一種實施中,僅取得一組聲音單元S ,其屬於在步驟S306中決定的該聲音單元組,但並未下載到該客戶端語料庫,且該組S 被加入到該客戶端語料庫Scurrent (即Scurrent =Scurrent +S ),所以該客戶端的目前語料庫對於後續語音合成來更新以使用它。
在步驟S308中,其作出是否要繼續取得一文字性內容的判斷。
如果該判斷的結果係要繼續取得一文字性內容,該流程回到步驟S303,否則該流程進入步驟S309。
該流程結束於步驟S309。
請參照第4圖。將參照第4圖對於基於第3圖中的Stotal 決定文字性內容之聲音單元的步驟S306進行更為詳細的說明。
該流程開始於步驟S401。
在步驟S402中,該文字性內容被分析,並產生一具有相對應內容特徵之目標單元的列表。在此處該等內容特徵包括:該目前單元、在該詩體單字中的位置(字頭、字中或字尾),在該句子中的位置,左音節、右子音等。
在步驟S403中,基於Stotal 根據該等內容特徵對於每個目標單元選擇多個聲音單元候選者。該選擇程序基於該裝置之資料處理速率及一工作的工作負荷來實施。
如果該裝置(TTS伺服器或客戶端裝置)的資料處理速率足夠快,該裝置可用於選擇最佳的聲音單元候選者。其類似於該TTS系統之單元選擇程序。
如果該裝置(TTS伺服器或客戶端裝置)的資料處理速率不夠快,僅使用一目標成本方法來選擇最佳的聲音單元候選者。該裝置的文字分析構件將基於該等目標內容特徵來預測該目標詩體。該估計的詩體包括該目標音高及目標持續時間。然後,該裝置的單元選擇構件將比較該目標詩體與該單元候選者的詩體之間的差異來取得目標成本,藉以選擇該最佳聲音單元候選者。
如果該裝置(TTS伺服器或客戶端裝置)之資料處理速率較慢,該等內容特徵即直接做為過濾條件。在此例中,有解決方案I及解決方案II:
解決方案I。該等聲音單元候選者藉由比較該等目標單元與該等聲音單元候選者之間的內容特徵來評等。例如,可使用一組距離表。每個表格描述一特徵之兩個特徵之間的距離。此表格可以人工設計或自動訓練(請參照「基於修改的語料庫之小型中文TTS系統」("A Miniature Chinese TTS System Based On Tailored Corpus"),Zhiwei Shuang等人所發表,ICSLP 2002)
解決方案II。可使用一過濾處理來留下少數的聲音單元候選者。該過濾處理可節省評等的成本。在此藉由範例說明兩個解決方案:
1.該過濾程序可利用對於每個特徵手動定義地順序來完成。例如對於中文,要找到該單字中的位置對於音節選擇非常重要。所以在該單字中的位置可以做為該第一過濾條件,利用與該等目標單元具有相同「單字中位置」的一組聲音單元候選者。然後,其它特徵用於過濾該等聲音單元候選者,直到留下一預先定義數目的聲音單元候選者。
2.該過濾程序亦可利用一自動訓練的決策樹來完成。該決策樹根據該詩體特徵的熵降低來訓練。該第一選擇的分開條件通常為最重要的特徵。該決策樹根據該目標單元往下走,直到留下一預先定義的單元候選者數目。
本技藝專業人士可瞭解到雖然上述已經提供聲音單元候選者基於Stotal 對於歷史文字性資訊之目標單元來選擇的多個具體實施例之範例,這些範例僅為例示性而不能視為限制本發明。事實上,在本技藝中任何已知的方法可用來執行此步驟,因為本發明之技術性解決方案僅針對基於Stotal 對於歷史文字性資訊的目標單元選擇聲音單元候選者之結果,該結果將做為更新該等客戶端語料庫之基礎。
在步驟S404中,所選擇的該等多個聲音單元候選者被評等,並決定用於更新的一聲音單元組。基於先前的單元選擇程序,該等多個聲音單元候選者被評等來指明該歷史文字性內容之每個單元候選者之重要性,所以具有高重要性的單元候選者較佳地是包括在用於更新的該聲音單元組中(例如前N個聲音單元候選者)。例如,該評等可基於每個單元候選者已經被選擇多少次來實施。此處例示兩種可能的評等解決方案I及II:
解決方案I. 不同目標單元的多個聲音單元候選者被一起評等。這種程序可確保最常使用的單元被優先評等。但是,其風險在於一些經常發生的單元永遠在最前面評等,而一些不常發生的單元永遠在後面評等。因此,這種解決方案對於一非常有限的領域可以良好地適用,例如股票市場報告、銀行服務等等。但對於一般性的領域無法良好適用,例如新聞。
解決方案II:不同目標單元的多個聲音單元候選者被個別地評等。在歷史文字Ci 中第i個目標單元之發生數目可用於決定留下的聲音單元候選者Ai 的數目。Ai ==f(Ci )。f(x)可為一線性函數,一對數函數或其它函數。不同的函數可對於不同的使用方案來選擇。
較佳地是,在步驟S405中,係包裝了屬於用於更新的該聲音單元組但尚未被下載到該客戶端語料庫中的聲音單元組S 。該伺服器下載該包裝到該客戶端中來豐富該客戶端語料庫的S 。每個聲音單元之語音資訊(音訊波形)及內容資訊將被包括在此包裝中。
該流程結束於步驟S406。
本技藝專業人士將可瞭解到雖然語音壓縮在前述說明中並未提及,關於轉換語音資料(例如轉換S )的所有程序可使用一語音編碼演算法,例如AMR-WB或類似者,以執行轉換語音資料的語音壓縮,且語音資料在該接收端側處被解壓縮之後使用。
第5圖圖解顯示可以實施根據本發明具體實施例之一電腦裝置。
第5圖所示的電腦系統包含一CPU(中央處理單元)501、一RAM(隨機存取記憶體)502、一ROM(唯讀記憶體)503、一系統匯流排504、一硬碟機控制器505、一鍵盤控制器506、一序列介面控制器507、一並列介面控制器508、一顯示控制器509、一硬碟機510、一鍵盤511、一序列外部裝置512、一並列外部裝置513及一顯示器514。在這些組件當中,連接到系統匯流排504的是CPU 501、RAM 502、ROM 503、HD控制器505、鍵盤控制器506、序列介面控制器507、並列介面控制器508及顯示控制器509。硬碟機510連接至HD控制器505、而鍵盤511連接至鍵盤控制器506、序列外部裝置512連接至序列介面控制器507、並列外部裝置513連接至並列介面控制器508,而顯示器514連接至顯示控制器509。
第5圖中每個組件的功能皆為本技藝中所熟知,且第5圖所示之架構為常見。這種架構不僅應用到個人電腦,但亦可應用到掌上型裝置,例如Palm PC、PDA(個人資料助理)、行動電話等。在不同的應用中,一些組件可被加入到第5圖所示的架構中,或可省略第5圖所示的部份組件。第5圖所示的整個系統由電腦可讀取指令所控制,其通常以軟體儲存在硬碟機510、EPROM或其它非揮發性記憶體。該軟體亦可由網路下載(未示於圖中)。該軟體可儲存在硬碟機510中或自網路下載,其可載入到RAM 502,並由CPU 501執行來實施該軟體所定義的該等功能。
因為第5圖所示的電腦系統能夠支援根據本發明之語音合成解決方案,該電腦系統僅做為電腦系統的範例。本技藝專業人士將可瞭解到許多其它電腦系統設計亦可執行本發明之具體實施例。
本發明可進一步實施成例如第5圖所示之電腦系統所使用的電腦程式產品,其中包含實施根據本發明之語音合成方法的程式碼。該程式碼可在使用之前儲存在其它電腦系統之記憶體中。例如,該程式碼可儲存在硬碟機中,或是像是一光碟片或軟碟片之可移除記憶體中,或可經由網際網路或電腦網路下載。
當本發明之具體實施例已經參照該等附屬圖面做說明時,本技藝專業人士可在附屬申請專利範圍所定義的範疇內進行多種修改或變化。
10...客戶端
11...TTS伺服器
12...內容伺服器
13...通訊網路
20...客戶端
21...TTS伺服器
22...內容伺服器
23...通訊網路
101...收發器
102...語音合成構件
103...語料庫管理構件
104...語料庫
111...收發器
112...聲音單元決定構件
113...語料庫管理構件
114...語料庫
201...收發器
202...語音合成構件
203...語料庫管理構件
204...語料庫
205...聲音單元決定構件
211...收發器
213...語料庫管理構件
214...語料庫
501...中央處理單元
502...隨機存取記憶體
503...唯讀記憶體
504...系統匯流排
505...硬碟機控制器
506...鍵盤控制器
507...序列介面控制器
508...並列介面控制器
509...顯示控制器
510...硬碟機
511...鍵盤
512...序列外部裝置
513...並列外部裝置
514...顯示器
1121...文字分析構件
1122...單元選擇構件
2051...文字分析構件
2052...單元選擇構件
為了詳細例示本發明之具體實施例的特徵與好處,將參照到該等附屬圖面。如果可能的話,相同或類似的參考編號代表所有圖面及說明中相同或類似的組件,其中第1圖圖解顯示根據本發明一具體實施例中於一客戶端處針對一文字性內容執行語音合成之系統;第2圖圖解顯示根據本發明另一具體實施例中於一客戶端處針對一文字性內容執行語音合成之系統;第3圖顯示根據本發明一具體實施例中於一客戶端處針對一文字性內容執行語音合成之方法的流程圖;第4圖顯示第3圖所示之方法的一步驟之更為詳細的流程圖;及第5圖圖解顯示可以實施根據本發明之具體實施例的一電腦裝置。
10...客戶端
11...TTS伺服器
12...內容伺服器
13...通訊網路
101...收發器
102...語音合成構件
103...語料庫管理構件
104...語料庫
111...收發器
112...聲音單元決定構件
113...語料庫管理構件
114...語料庫
1121...文字分析構件
1122...單元選擇構件

Claims (13)

  1. 一種在一客戶端處針對一文字性內容執行語音合成之方法,該方法包含下列步驟:a.基於該客戶端處一語料庫(corpus)中的一目前聲音單元組Scurrent 針對該文字性內容執行語音合成;b.回應於判斷是否要更新在該客戶端處該語料庫中的該目前聲音單元組,b1)分析該文字性內容並產生具有相對應內容特徵之一目標單元的列表;b2)基於一聲音單元組Stotal 根據該等內容特徵選擇每個目標單元的多個聲音單元候選者,該聲音單元組Stotal 比在該客戶端處該語料庫中的該目前聲音單元組Scurrent 要豐富;及b3)根據該等多個單元候選者決定適合於該文字性內容之語音合成的聲音單元;以及c.基於該等決定的聲音單元更新該客戶端處該語料庫中的該目前聲音單元組Scurrent
  2. 如申請專利範圍第1項所述之方法,其中該步驟b3另包含下列步驟:根據該文字性內容的重要性來評等該等多個聲音單元候選者,以決定用於更新該客戶端處該語料庫中的該目前聲音單元組的一聲音單元組。
  3. 如申請專利範圍第2項所述之方法,其中該步驟b另包含下列步驟:b4.下載屬於用於更新的該聲音單元組且未包括在該客戶端處該語料庫中的該目前聲音單元組之 一聲音單元組S 到該客戶端中;及其中在該步驟c中藉由使Scurrent =Scurrent +S 而更新在該客戶端上該語料庫中的該目前聲音單元組Scurrent
  4. 如申請專利範圍第2項所述之方法,其中該等單元候選者係基於每個單元候選者已被選擇多少次來評等。
  5. 如申請專利範圍第4項所述之方法,其中不同目標單元之多個聲音單元候選者係一起評等。
  6. 如申請專利範圍第4項所述之方法,其中每個目標單元之多個聲音單元候選者係分別評等。
  7. 一種使得在一客戶端處可針對一文字性內容執行語音合成之系統,該系統包含:語音合成構件,其組態成基於在該客戶端上語料庫中的一目前聲音單元組Scurrent 針對該文字性內容執行語音合成;聲音單元決定構件,其組態成回應於判斷是否要更新在該客戶端上該語料庫中的該目前聲音單元組而執行以下步驟:分析該文字性內容並產生一具有相對應內容特徵之目標單元的列表;基於一聲音單元組Stotal 根據該等內容特徵選擇每個目標單元的多個聲音單元候選者,該聲音單元組Stotal 比在該客戶端處該語料庫中的該目前聲音單元組Scurrent 要豐富;根據該等多個單元候選者決定適合於該文字性內容之語音合成的聲音單元;及更新構件,其組態成基於該等決定的聲音單元更 新該客戶端上該語料庫中的該目前聲音單元組Scurrent
  8. 如申請專利範圍第7項所述之系統,另包含:組態以下載一組少量的聲音單元S0 之構件,其可針對所有種類的文字性內容執行語音合成,且其可確保一可接受的語音合成品質,做為在該客戶端上該語料庫中的一初始目前聲音單元組而使得Scurrent =S0
  9. 如申請專利範圍第7項所述之系統,其中該聲音單元決定構件進一步組態成:根據該文字性內容的重要性來評等該等多個聲音單元候選者,以決定用於更新於該客戶端處該語料庫中的該目前聲音單元組的一聲音單元組。
  10. 如申請專利範圍第9項所述之系統,其中該聲音單元決定構件進一步組態成:決定屬於用於更新的該聲音單元組且未包括在該客戶端處該語料庫中的該目前聲音單元組之一聲音單元組S ;及其中該更新構件係組態成藉由使得Scurrent =Scurrent +S 而更新在該客戶端上該語料庫中的該目前聲音單元組Scurrent
  11. 如申請專利範圍第9項所述之系統,其中該聲音單元決定構件係組態成基於每個單元候選者已經被選擇多少次來評等該等單元候選者。
  12. 如申請專利範圍第11項所述之系統,其中該聲音單元決定構件係組態成一起評等不同目標單元之多個聲音單元候選者。
  13. 如申請專利範圍第11項所述之系統,其中該聲音單元決定構件係組態成分別評等每個目標單元之多個聲音單元候選者。
TW98106707A 2009-03-02 2009-03-02 用於語音合成之方法及系統 TWI415110B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW98106707A TWI415110B (zh) 2009-03-02 2009-03-02 用於語音合成之方法及系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW98106707A TWI415110B (zh) 2009-03-02 2009-03-02 用於語音合成之方法及系統

Publications (2)

Publication Number Publication Date
TW201034002A TW201034002A (en) 2010-09-16
TWI415110B true TWI415110B (zh) 2013-11-11

Family

ID=44855380

Family Applications (1)

Application Number Title Priority Date Filing Date
TW98106707A TWI415110B (zh) 2009-03-02 2009-03-02 用於語音合成之方法及系統

Country Status (1)

Country Link
TW (1) TWI415110B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101703214B1 (ko) 2014-08-06 2017-02-06 주식회사 엘지화학 문자 데이터의 내용을 문자 데이터 송신자의 음성으로 출력하는 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728708B1 (en) * 2000-06-26 2004-04-27 Datria Systems, Inc. Relational and spatial database management system and method for applications having speech controlled data input displayable in a form and a map having spatial and non-spatial data
US20080167860A1 (en) * 2007-01-10 2008-07-10 Goller Michael D System and method for modifying and updating a speech recognition program
TW200901161A (en) * 2007-06-23 2009-01-01 Ind Tech Res Inst Speech synthesizer generating system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728708B1 (en) * 2000-06-26 2004-04-27 Datria Systems, Inc. Relational and spatial database management system and method for applications having speech controlled data input displayable in a form and a map having spatial and non-spatial data
US20080167860A1 (en) * 2007-01-10 2008-07-10 Goller Michael D System and method for modifying and updating a speech recognition program
TW200901161A (en) * 2007-06-23 2009-01-01 Ind Tech Res Inst Speech synthesizer generating system and method

Also Published As

Publication number Publication date
TW201034002A (en) 2010-09-16

Similar Documents

Publication Publication Date Title
US8321223B2 (en) Method and system for speech synthesis using dynamically updated acoustic unit sets
US11990135B2 (en) Methods and apparatus for hybrid speech recognition processing
US11069336B2 (en) Systems and methods for name pronunciation
US11450311B2 (en) System and methods for accent and dialect modification
US10192547B2 (en) System and method for customized voice response
KR101330328B1 (ko) 음성 인식 방법 및 이를 위한 시스템
US8738375B2 (en) System and method for optimizing speech recognition and natural language parameters with user feedback
KR20220004737A (ko) 다국어 음성 합성 및 언어간 음성 복제
US8170866B2 (en) System and method for increasing accuracy of searches based on communication network
US9984679B2 (en) System and method for optimizing speech recognition and natural language parameters with user feedback
US9595255B2 (en) Single interface for local and remote speech synthesis
US20120143605A1 (en) Conference transcription based on conference data
US20200193972A1 (en) Systems and methods for selecting accent and dialect based on context
US10878835B1 (en) System for shortening audio playback times
KR20180064504A (ko) 개인화된 엔티티 발음 학습
US20090254349A1 (en) Speech synthesizer
WO2022178969A1 (zh) 语音对话数据处理方法、装置、计算机设备及存储介质
US11587547B2 (en) Electronic apparatus and method for controlling thereof
US20240153483A1 (en) Systems and methods for generating synthesized speech responses to voice inputs
US20210082409A1 (en) Meeting support system, meeting support device, and meeting support program
JP2021096847A (ja) ユーザの発言に基づくマルチメディア推奨
CN110852075B (zh) 自动添加标点符号的语音转写方法、装置及可读存储介质
US10140981B1 (en) Dynamic arc weights in speech recognition models
TWI415110B (zh) 用於語音合成之方法及系統
US7860715B2 (en) Method, system and program product for training and use of a voice recognition application

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees