劉加勤 王鵬飛



【摘要】一種以STM32為核心的嵌入式語音播報系統,其核心處理器選用意法半導體公司的STM32F103C8T6,主控制器接收上位機指令并解析得到文本信息,通過中英文語音合成板卡XF-S4243CE將上位機的文本信息轉換為語音信息。
【關鍵詞】智能報警 語音播報 語音合成
【課題項目】2012年地方高校國家級大學生創新訓練計劃項目《語音提示自動復位限電控制器的研究與設計》(項目編號:201210324010)的研究成果之一。
【中圖分類號】TP 332 【文獻標識碼】A 【文章編號】2095-3089(2015)09-0040-03
隨著人們生活水平的不斷提高,各種大功率家電走進千家萬戶,用電量急驟增加,而供電線路所能通過的電流容量是有限的,一旦超載,輕則導線發熱,重則起火。嵌入式語音播報自動復位限電系統,具有體積小、功耗低、可靠性高、安裝靈活等特點,語音合成結果清晰自然準確,特別適用于智能家居服務、學生宿舍用電服務等領域。在家庭、 醫院、學生宿舍、商場等場所使用這種限電報警系統可以有效地減少電流過載帶來的危害。
1.語音提示自動復位限電控制器設計方案
本設計的目的是提供一種語音提示自動復位限電控制器,當家庭、 醫院病房、學生宿舍、商場等場所用電量超過導線的負荷時自動斷電,并用語音提示,當導線的負荷減輕后自動復位供電。
圖1是本實用新型電路的原理圖。圖2是本實用新型電路的外殼結構示意圖。220V交流電輸入端(1)經過電阻(R1 )、電容(C1 )、二極管(VD2 )、穩壓二極管(VD1 )變壓整流穩壓后向后級電路供電,三極管(VT1 、VT2 )及其外圍電路組成二級放大電路,其特征是:電壓取樣電感(L)和繼電器常閉觸點(K-1)串聯,電壓取樣電感(L)的一端通過二極管(VD3)、可變電阻(RP)接三極管(VT1 )的基極, 電壓取樣電感(L)的另一端接電源的負極,繼電器線圈(K)的一端接三極管(VT2 )的發射極,另一端接電源的負極, 語音固化集成電路(IC)電源輸入端與繼電器常開觸點(K-2)串聯。其它電子原件按圖1電路原理圖順序連接。
在圖2的實例中,線路板放在裝有接線排(7)的絕緣外殼(4)中,安置孔(6)放置發光二極管(VD4),聲孔(5)內側放置喇叭(A),220V電源輸入端(1)和220V電源輸出端(2)接在接線排(7)上,固定孔(3)用于安裝時固定。
圖1 電路原理圖
圖2 外殼結構示意圖
采用上述技術方案的優點是:低成本,微功耗,高靈敏,杜絕了火災隱患。
2.語音合成技術和文語轉換系統
嵌入式語音播報系統的一個重要工作是語音的合成。語音合成就是將一系列的輸入文字信號序列經過適當的韻律處理后送入合成器,產生出具有盡可能豐富表現力和高自然度的語音輸出,從而使計算機或相關的系統能夠發出像“人”一樣自然流利聲音的技術。這里的關鍵是“人”字。如何讓電腦發出像“人 ”一樣高度靈活性、強適應性、鮮明個性、豐富表現力的語音是語音合成研究的目標。而且還希望合成系統能夠超越一般人的發音狀況,如實現多個發音人的輸出或者聲音轉換等[1]。它涉及聲學、語言學、數字信號處理、計算機科學等多個學科,是中文信息處理領域的一項前沿技術,它是將計算機自己產生的、或外部輸入的文字信息轉變為可以聽得懂的、流利的漢語口語輸出的技術。語音合成是人機語音通信的一個重要組成部分。語音合成研究的目的是制造一種會說話的機器[2] ,它解決的是如何讓機器象人那樣說話的問題,使一些以其它方式表示或存儲的信息能轉換為語音,讓人們能通過聽覺而方便地獲得這些信息。
文語轉換系統實際上可以看作是一個人工智能系統。為了合成出高質量的語言,除了依賴于各種規則,包括語義學規則、詞匯規則、語音學規則外,還必須對文字的內容有很好的理解,這也涉及到自然語言理解的問題。文語轉換過程是先將文字序列轉換成音韻序列,再由系統根據音韻序列生成語音波形。其中第一步涉及語言學處理,例如分詞、字音轉換等,以及一整套有效的韻律控制規則;第二步需要先進的語音合成技術,能按要求實時合成出高質量的語音流。因此,一般說來,文語轉換系統都需要一套復雜的文字序列到音素序列的轉換程序,也就是說,文語轉換系統不僅要應用數字信號處理技術,而且必須有大量的語言學知識的支持[3]。
文語轉換系統分三個部分:語言處理、韻律處理和聲學處理。語言處理在文語轉換系統中起著重要的作用,主要模擬人對自然語言的理解過程——文本規整、詞的切分、語法分析和語義分析,使計算機對輸入的文本能完全理解,并給出后兩部分所需要的各種發音提示。作為一種有調語言,漢語韻律特征非常復雜。古漢語的平仄以及現代漢語拼音,對于同樣一個音節,出現在不同的環境下,其韻律參數都是各不相同的。用有限的存儲單元存儲基本漢語基本語音單元,進而從有限的存儲單元中合成出無限詞匯,組成連續漢語語句。必須在一定的韻律規則下對音庫單元的韻律參數進行調整,以得到符合當前語言環境的語音庫單元。韻律處理為合成語音規劃出音段特征,如音高、音長和音強等,使合成語音能正確表達語意,聽起來更加自然。聲學處理根據前兩部分處理結果的要求輸出語音,即合成語音。
TTS(文語轉換)在國內外發展得十分迅速[4],我國的研究己逐步從理論向研制開發方面發展,國內許多單位紛紛開始研制中文TTS系統,并已進入實用階段,其應用領域十分廣泛,技術也日趨成熟。目前在嵌入式應用領域,具有代表性的有:科大訊飛的XFS4243CE和語音天下的SN6658。本文的嵌入式語音播報系統是以嵌入式微處理器為核心,外圍加入語音合成板卡及相關電路構成。中文語音合成板卡選用科大訊飛的XFS4243CE。
3.硬件電路的設計
本嵌入式語音播報系統的硬件電路主要由4個模塊組成,即主控制器模塊、語音合成模塊、音頻功放模塊和電源模塊。上位機發送指令到主控制器模塊,主控制器分析指令,通過SPI接口將含有文本信息的指令發送到語音合成板卡,語音合成板卡通過TTS技術把文本信息轉換為語音信息,送往音頻功放電路,主控制器模塊也會監測系統的運行情況,并向上位機返回當前系統的運行狀態,遇到緊急情況時會進行語音提示。
3.1主控制器電路設計
本系統選用STM32F103C8T6作為主控制器,STM32F103C8T6是增強型,32位基于ARM核心的帶閃存的微控制器,工作頻率最高達72MHz,高達90DMips,1.5DMips/ MHz。
圖3 主控制器設計原理圖
其單周期硬件乘法和除法可以加快計算,內置閃存存儲器容量達128K字節,可以用來存放程序和數據。
圖3為主控制器設計原理圖,參考了意法半導體公司的STM32F103C8開發手冊。
3.2語音合成電路設計
主控制器通過SPI接口和XFS4243CE模塊相連接,主控制器可通過SPI通訊接口向XFS4243CE模塊發送控制命令和文本,XFS4243CE模塊接收到主控電路發來的文本后,合成語音信號并輸出,輸出的信號進過功率放大器進行放大后連接到揚聲器進行播放。
3.3 XFS4243CE與上位機通訊的電路設計
XFS4243CE以單片機作為上位機時,可通過SPI 串口相連。XFS4243CE模塊的SPI接口是4線全雙工同步串行通訊接口,XFS4243CE 語音板卡在 SPI 通訊中設為 Slave 身份,上位機作為SPI通訊中的Master身份,上位機提供SPI 通訊所需的時鐘信號。
SPI通訊是同步串行通訊,當上位機和XFS4243CE的通訊時,上位機提供同步時鐘信號,在同步時鐘的上升沿時,XFS4243CE 鎖存1bit數據,每傳輸8bits數據就完成一個字節數據的傳輸。
3.4電源模塊電路
XFS4243CE語音板卡的工作電壓為3.3V,以5V外部電源作為輸入通過電源轉換模塊轉換得到3.3V電壓。電源轉換模塊電路圖如圖4所示。
圖4 電源轉換模塊
4.軟件系統設計
語音播報流程為:上位機發送給XFS4243CE模塊的所有命令和數據都需要用“幀”的方式進行封裝后傳輸[5],幀結構由幀頭標志、數據區長度和數據區三部分組成,數據區是由命令字和命令參數組成的,上位機使用命令字來實現語音合成模塊的各種功能,傳輸過程中,主控制器首先查詢狀態管腳RDY輸出工作狀態,當引腳處于低電平時,表明板卡處于空閑狀態,沒有合成文本,可以發送文本信息;當引腳處于高電平狀態時,表明板卡處于合成文本的工作狀態。在發送前,將SPI_SSEL置為低電平,發送一個字節后將SPI_SSEL置為高電平。
XFS4243CE模塊支持任意中文文本、英文文本的合成,可以采用GB2312、GBK、BIG5和UNICODE四種編碼方式。每次合成的文本量最多可達4K字節。如果在語音合成的過程中又接收到一幀有效的合成命令幀,模塊會立即停止當前正在合成的文本,轉而合成新收到的文本。若上位機需要確保上次文本被完整合成之后,再發送合成命令幀合成下一段文本,則需要通過回傳確定模塊的工作狀態。 程序過程如下:1、上位機先給XFS4243CE模塊發送一個文本合成命令幀,攜帶不超過4k個字節的文本;2、上位機等待XFS4243CE模塊自動返回的回傳信息,直到收到“0x4F”回傳,說明前面的文本已合成完畢;3、上位機向模塊再次發送一個文本合成命令幀,發送出剩下的文本。在整個軟件系統中,XF-S4243CE接收含文本信息的語音合成命令。命令和數據需要用“幀”的方式進行封裝后傳輸,幀結構由幀頭、待合成文本的長度、文本合成命令字、文本編碼格式、待合成的文本組成。傳輸過程中,主控制器首先查詢狀態管腳 RDY輸出工作狀態, 當引腳處于低電平時,表明板卡處于空閑狀態,沒有合成文本,可以發送文本信息;當引腳處于高電平狀態時,表明板卡處于合成文本的工作狀態。傳輸時,SPI 使能選擇信號 SS L 保持低電平。程序中文本信息采用GBK編碼。當XF-S4243CE正在合成文本的時候,如果又接收到一幀有效的數據,板卡會立即停止當前正在合成的文本,轉而合成所接收到的最新的文本。
5.性能測試
為了保證語音合成系統播報的清晰度和正確率,本文對所描述的語音合成系統做了一系列的測試。測試平臺選用了模擬學生宿舍因使用大功率電器導致電路過載的情形,分使用女聲普通話和英文播報10次,測試中,中文播報雖語句正確,但是基本是平鋪直敘,一字一頓。而英文播報更為流暢,語句富含感情,測試結果較為理想。
參考文獻:
[1]劉浩杰,杜立民.語音合成技術的發展與展望.微計算機應用,2007,7.726-730頁
[2]李濤.基于MIDI的漢語普通話語音合成算法 .復旦大學碩士論文.2007
[3]wikipedia.語音合成. http://zh.wikipedia.org/wiki/語音合成
[4]Manduchi,Flores,Cizdziel,Obraczka,Do,Esser.Transit Information Access for Persons with Visual or Cognitive Impairments.UC Santa Cruz Previously Published Works.2014
[5] http://www.iflytek.com/index.php?a=down&catid=15&i d=1148&name=XFS4243CE中文語音合成芯片用戶開發指南1&path=upload/contents/2013/07/51f7611c9c64e.pdf
作者簡介:
劉加勤,此國家級大學生創新訓練計劃項目的指導教師;1958年5月出生,男,漢族,江蘇東臺人,副教授,現任鹽城師范學院物理科學與電子技術學院黨總支書記;主要研究方向:電子、電氣自動控制及黨建工作
王鵬飛,此國家級大學生創新訓練計劃項目的團隊成員;1992年5月出生,男,漢族,江蘇鹽城人;現為鹽城師范學院物理科學與電子技術學院電子信息工程專業10(3)班學生