一 引 言:
1.1介紹
隨著數(shù)字化技術的普及,報刊出版業(yè)也朝著數(shù)字化的方向邁進,網(wǎng)絡上的數(shù)字化報刊開始不斷出現(xiàn),而數(shù)字化多媒體所具有的聽說讀寫的特點,更為數(shù)字報刊注入了新的活力。讀者除了可以看到報刊的內(nèi)容外,還可以通過數(shù)字化語音合成技術聽到報刊中的內(nèi)容。這樣讀者可以不用逐字去讀文章,就能對文章的內(nèi)容充分了解。
語音合成技術,又稱TTS(Text-To-Speech),可以使計算機象人一樣將提供的文字通過放音設備讀出來,或者轉(zhuǎn)化為WAV 或其它格式的語音文件存儲起來。語音合成技術具有連續(xù)流暢、自然度高、音庫大小可調(diào)節(jié)、音色可轉(zhuǎn)換的特點, 并且特別支持中英文的混讀,使TTS可以更加廣泛地應用于報刊雜志等現(xiàn)代文本的閱讀。
二 捷通jTTS產(chǎn)品簡介
2.1核心的系統(tǒng)結構
jTTS 4.0 多語種語音合成平臺系統(tǒng)結構如上圖所示。jTTS 4.0多語種語音合成平臺是以一種開發(fā)式的架構進行設計的,其核心是一套統(tǒng)一的對外編程接口(API-Application Programming Interface),即jTTS API 4.0,以及統(tǒng)一的多語種引擎管理模塊,即jTTS_ML.DLL。多語種的引擎(例如中文引擎jTTS_CH.DLL,英文引擎jTTS_EN.DLL等)在多語種引擎管理模塊的調(diào)度下進行實際的合成工作,而目前尚未提供的其他語種的引擎也可以方便地加入到這個體系結構中來。
2.2 jTTS_ML.DLL
jTTS_ML.DLL是主要模塊,在這個模塊中完成多數(shù)統(tǒng)一的工作。包括:
l 各個語種引擎和音庫的管理、加載、卸載、選擇。
l 與外部設備相關而與具體引擎無關的工作,例如打開文件,聲卡或文件輸出等。
l 各個語種幾乎相同的工作,例如SSML TAG的處理等。
2.3 jTTS4.OCX
jTTS4.ocx是在jTTS_ML.DLL之上的一個ActiveX控件,主要作用是以COM接口的方式提供了TTS的功能,方便Web頁面開發(fā)或者VB等編程語言的開發(fā)。由于COM接口支持的開發(fā)工具非常廣泛、語言類型多種多樣,因此用戶可以通過使用jTTS4.ocx組件來開發(fā)TTS應用程序,以達到適應多種開發(fā)環(huán)境、簡化開發(fā)過程的目的。使用此控件可以實現(xiàn)向文件或聲卡輸出,所有的設置、回調(diào)等功能也和jTTS_ML.DLL所提供的功能基本類似,但是它沒有底層合成(即Session)的概念,也不能直接獲得語音數(shù)據(jù)流。
2.4 核心引擎
jTTS_CH.DLL, jTTS_JP.DLL, jTTS_EN.DLL等則為各個語種的TTS實際引擎。引擎和音色庫的基本概念如下:
l 每個引擎可以支持多個語種。
l 可以有多個引擎支持同一個語種,例如上圖中的jTTS_CH2.DLL也支持中文。
l 每個引擎可以有多個音色(一般也對應了多個音庫),每個音色都有一個唯一的GUID。
l 每個音色只能支持一種語種。
l 每個音色可以支持多個領域(Domain),不同音色可以支持不同的領域范圍。
l 每種方言(例如廣東話)是作為一個獨立語種出現(xiàn)。
所有引擎(但不一定是所有音庫)必須安裝在同一個大目錄下,如下圖所示:
系統(tǒng)會在某個目錄(例如在上圖中,應該是jTTS 4.0\Bin)下遞歸地搜索所有子目錄。自動查找所安裝的語種引擎、音色庫和領域資源包。這樣的結果是,整個系統(tǒng)是一種模塊化的結構,對用戶來說,可以自由地安裝某個引擎、某種音庫和某種領域資源包。
2. 5 外掛DLL
系統(tǒng)采用外掛DLL的方式來提高擴展性。外掛DLL包括兩種:一種是文本抽取DLL,另一種是語音格式轉(zhuǎn)換DLL。
在閱讀文件時(通過jTTS_Play或jTTS_PlayToFile),可以通過外掛的DLL來進行文本的抽取,然后利用TTS的功能進行合成,例如閱讀DOC文件或者Email。而得到語音數(shù)據(jù)后,可以利用外掛的語音格式轉(zhuǎn)換DLL來得到系統(tǒng)本身不支持的語音格式。
2. 6 jTTSService.exe
語音合成服務器jTTSService.EXE提供了對基于網(wǎng)絡的TTS服務的支持,讓用戶可以采用網(wǎng)絡合成方案或集群網(wǎng)絡合成方案進行合成。此語音合成服務器軟件作為Windows系統(tǒng)上的一個服務(Service)或Linux系統(tǒng)上的一個守護程序(daemon)實現(xiàn),監(jiān)聽網(wǎng)絡端口號,如果有連接,則通過jTTS Service Protocol 4.0版本為客戶端提供語音合成的服務。
2. 7 jTTSLib.exe
圖形化的資源管理工具,提供各語種的資源庫(例如音庫、詞庫、外部規(guī)則庫等)進行維護的功能。
2. 8 jTTSSysInfo.exe
新提供的jTTS SysInfo實用工具,可以檢查用戶的應用環(huán)境:合成系統(tǒng)名稱版本、操作系統(tǒng)名稱版本、授權信息、各引擎和音庫狀況等等,也可以讓用戶打開日志文件。借助此工具,可以在便于進行遠程的信息搜集和支持,更加快速的定位問題發(fā)生的可能原因,提供專業(yè)的技術支持和服務。
2. 9 jTTSResource.exe
系統(tǒng)提供了一個便捷的“平臺資源管理工具”,可以對背景音樂進行添加、刪除和修改。系統(tǒng)在初始化時將自動檢測已經(jīng)配置過的資源情況。
3.0 TTS音庫分類:
目前jTTS擁有多種中文普通話音庫包括:zhaqian、xiaonan、 liukun haobo(男聲)。同時還有英文音庫jenifer,和其它多種語言的音庫。
三 網(wǎng)頁上的數(shù)字報刊語音合成技術應用方案:
3.1 技術實現(xiàn)方式
網(wǎng)站上的語音合成應用過程如下,用戶先選擇網(wǎng)頁上的文字,然后點擊提交,網(wǎng)站服務器就會使用后臺的語音合成引擎合成相應的語音文件到本機上,之后用戶再通過media player的播放功能以流媒體的形式播放網(wǎng)站服務器上的這個語音文件。得到最后的報紙聲音結果。(如圖:)
對于B/S結構的合成應用來說,網(wǎng)站服務器需要擁有合成語音用組件或應用程序,如果是組件可以讓網(wǎng)頁使用該組件,如果是應用程序,需要網(wǎng)頁以命令行得形式運行此程序進行合成。無論是哪種情況都需要這個組件調(diào)用捷通TTS引擎。如圖:
如果在網(wǎng)頁里設置語速、基頻或音量等信息選項,上層組件還可以獲得這些信息,并提交給jtts_ml.dll接口,這樣用戶瀏覽新聞時可以獲得不同的語音合成效果。
四、實施方案
4.1 實施方式
對于網(wǎng)頁應用來說,合成效率十分重要,一個網(wǎng)站可能同時有幾十或上百人訪問,tts引擎需要有一定的同步合成處理能力。我們推薦使用捷通jtts-4.5網(wǎng)絡專業(yè)版,目前TTS的合成效率是800字/秒,同步線數(shù)使用 5-10線即可。當用戶提交要合成的文本給網(wǎng)站后,TTS引擎會在內(nèi)部開辟線程為多個用戶同時進行合成,以保證每個客戶都能在第一時間內(nèi)聽到報刊內(nèi)容。同時為了提高效率,網(wǎng)站的制作可以采用緩存機制,將合成過的報刊聲音文件緩存在服務器端,以便其它用戶再次收聽時,能夠更快的聽到報刊的內(nèi)容。
在網(wǎng)站的服務器端除了將jTTS音庫和網(wǎng)頁服務器放在一起外,還可以將jTTS音庫和引擎單獨裝在一臺服務器上來用。由于jtts_ml.dll可以通過網(wǎng)絡與合成引擎通訊來得到語音合成結果,所以可以把語音合成部分和網(wǎng)頁服務器部份分到兩臺機器上用,減少網(wǎng)頁服務器的運行負載。(如圖:)
網(wǎng)頁可以使用media player的播放功能,以流媒體的方式來播放tts合成到網(wǎng)站服務器的語音資源文件,并可以實現(xiàn)開始播放、暫停播放和停止播放功能(如圖:)
五、安裝與配置
5.1 安裝
我們將產(chǎn)品分為本地方案軟件和網(wǎng)絡方案軟件,建議采用網(wǎng)絡方案。網(wǎng)絡方案軟件除包括基本運行時刻庫、開發(fā)工具包以外,還增加語音合成服務器軟件。無論哪種方案,用戶都需要在方案軟件安裝完畢后,另行安裝所需的音庫和資源包。根據(jù)用戶所需音庫和資源包的不同情況,音庫和資源包有可能需要多次地分別獨立安裝。
5.2 產(chǎn)品特點
jTTS 4.0版本功能:
1. 支持多語種,支持多領域的設置
2. 支持音色的查找、訪問、加載等
3. 支持SSML (語音合成標記語言, Speech Synthesis Markup language)
4. 可以直接播放文本文件,也支持外掛抽取文本的DLL以支持其它格式。
5. 支持GB(包括GB2312, GBK, GB18030)、Big5、Shift-JIS、ISO-8859-1、Unicode、Unicode Big Endian、UTF8等各種字符集,自動識別具有BOM標記的Unicode文本。
6. 支持同步、異步合成一個Session,通過被動的回調(diào)函數(shù)方式給用戶傳遞數(shù)據(jù)。在原有版本的主動獲取語音數(shù)據(jù)的基礎上又提供了一個選擇。
7. 支持背景音樂。
8. 可以外掛語音格式轉(zhuǎn)換程序。
目前我們除了中文引擎外,可以提供英文引擎、日文引擎、廣東話引擎等。所支持的語言和音庫的情況列表如下:
名稱 |
標識 |
語種 |
性別 |
|