石戈戈
(四川信息職業技術學院,四川 廣元 628040)
20世紀60年代開始,語音識別技術進入了全新的探索時期,期間最具代表性的是線性預測分析(LP)和動態規劃(DP),主要解決了語音識別過程中特征參數提取和訓練音頻與測試音頻特征參數不等長匹配的難題。20世紀90年代以后,人們則開始思考如何讓語音識別技術產品化,期間IBM、Apple、 AT&T等科技巨頭紛紛投入大量資源進行相關產品開發。理論方面,各種改進和優化算法仍然是語音識別領域的一大熱點,期望進一步提高算法的識別能力和識別速度。目前,市場上基于語音識別技術的產品越來越多,比如智能玩具、智能家電、智能汽車電子產品等,當然,目前的語音識別技術無論在理論上還是在應用上距離真正的人機無障礙交流還有較大差距,與此同時,眾多研究人員也在通過自己的努力推動語音識別技術的不斷進步。從整體流程來看,語音識別部分的工作主要有以下幾點:(1)信號預處理過程。由于我們在采集指令發出者發出的原始語音信號時不可避免地會將周圍噪聲一起采入,而這些噪聲或多或少都會影響我們識別結果的準確性,甚至淹沒所需信號,致使無法識別。所以,在對原始語音信號進行特征參數提取前我們需要先進行采樣、濾波降噪、加窗分幀、端點檢測等一系列操作,為后續的特征提取做好鋪墊。(2)將經過預處理的信號進行分析,從中提取出我們需要的語音特征,如過零率、能量、幅值等時域參數和頻譜、功率譜、基頻等頻域參數。(3)模式識別即特征參數匹配過程。將原始信號經過處理提取出的特征參數與模板庫數據采用一定的規則進行比較,篩選出匹配度最高的模板后通過查表等手段即可得到最終的識別結果。由于電梯的使用人群各種各樣,所以在本設計中語音識別模塊應該針對非特定人群。本設計選用了LD3320實現將使用者語音信號轉變為控制芯片能識別的電信號。LD3320芯片作為一個較為常用的語音識別芯片,不僅是一個語音識別處理器,而且還集成了語音輸入接口(麥克風接口)和語音輸出接口(聲音播放設備接口)、模數轉換、數模轉換等外部電路,大大減輕了開發者的工作量。LD3320芯片中有內部RAM、Flash,開發者通過操作寄存器資源就可以實現相應的各種功能。
本設計的語音識別模塊不僅要實現語音識別的功能,還需要用輸出的識別信號控制相應繼電器動作。因此,語音識別模塊中不僅需要LD3320實現語音信號的識別,與此同時還需要一個單片機來實現整個模塊的控制。采用語音識別模塊和電梯主控分別采用單片機控制的方式主要是為了讓語音識別模塊和傳統電梯控制電路各自“獨立”開來,以便于使用此模塊去改造傳統電梯的控制方式時更加便于操作。在本次設計中并沒有單獨使用語音控制選層,而是將語音識別模塊的繼電器和相應的傳統電梯按鍵并聯起來,實現語音、按鍵并行的多元化控制方式,增加控制的可靠性和人性化。

圖1 語音識別電路
為了方便設計,基于LD3320的語音識別模塊采用數字電路電源、數字邏輯電路電源和模擬電路電源,均采用3.3V的電源供電。為了方便觀察芯片復位后是否上電,在3.3V電源和29號管腳直接串聯了一個LED,當芯片上電時該LED就會被點亮。與此同時,該串聯電路中串聯了一個1K的電阻,其作用是為了降低回路中的電流,以防止LED指示燈被燒壞。電路中MICP和MICN分別作為麥克風的正極端輸入和負極端輸入,用來輸入麥克風輸出的語音信號。SPOP和SPON分別作為揚聲器的正負極輸出,以此實現語音的播報功能。EQ1、EQ2和EQ3為揚聲器的外部控制端,通過調整R5和R6的電阻值可以實現揚聲器音量增益的外部調整。
本次設計以8層電梯的控制為例進行說明。硬件部分主要由負責全局計算和邏輯判斷等全局控制的主控芯片,主要由便于使用者觀察的顯示模塊(LED或點陣顯示)、電梯到層提示的蜂鳴器、繼電器模塊等組成。
主控電路如圖2所示,主要由主控單片機芯片、晶振電路和復位電路構成。單片機主控芯片選用主流的STC89C52芯片。復位操作則采用按鍵復位的形式,當系統需要進行復位操作時只需按下按鍵S1,電路便會提供一個實現復位功能需要的高電平給主控單片機STC89C52的RST引腳,從而實現復位操作。按鍵S1斷開后,電源則會開始對電容C1進行充電操作,此時輸入單片機RST引腳的高電平會“緩慢”降低,最終回到低電平位置,單片機則開始重新工作。

圖2 主控電路
圖3是蜂鳴器報警電路,此電路主要實現電梯到達相應樓層后提醒的功能。具體實現原理:當電梯到達指定樓層后,單片機STC89C52的P37引腳就會輸出一個低電平信號給三極管Q1的基極,此時三極管Q1就會導通,電源就會通過三極管給蜂鳴器供電,蜂鳴器便會報警提醒。

圖3 蜂鳴器報警電路
圖4是按鍵選層電路,該電路由8個按鍵組成。本次設計并未直接用語音識別模塊的繼電器將傳統按鍵代替,而是將兩者并聯,使用者可以根據自己的習慣對電梯進行選層等操作,與此同時還可以提高系統的可靠性。

圖4 按鍵選層電路
在系統硬件搭建完畢后,需要進行軟件設計。本系統的軟件設計主要包含語音識別模塊軟件設計和電梯主控部分軟件設計2部分。軟件設計主要采用的是模塊化的設計方式,也就是主程序通過調用各個具有一定獨立功能的子程序來實現既定功能。
語音識別模塊的軟件設計主要實現語音信號的識別、相應語音播報和控制繼電器動作等功能。語音識別的工作流程如下所示:
(1)進行初始化設置,對寄存器進行相應配置。
(2)根據需求寫入關鍵詞查詢列表。LD3320配備了50個詞條資源,本次設計以八層電梯為載體,所以LD3320具有的詞條資源可以滿足設計要求。在進行詞條列表設置時應注意,詞條必須是以語音命令的小寫漢語拼音形式寫入。與此同時,字與字之間應該用空格隔開,否則系統會將其視為一個字,從而產生錯誤。詞條長度不應過長,最長不能超過79個字節的拼音串,在本設計中采用的是1樓、2樓、3樓……的形式,詞條長度在規定范圍內。如“3樓”寫入時就應該為“san lou”。在LD3320中為每個詞條都配備了一個字節的存儲資源來對詞條進行編號,該編號并不要求連續或者不同。在某些應用場景中,我們可以將兩個或者多個詞條的編號設為一樣,以此來實現不同語音命令產生相同控制結果的功能,提高識別的效率和整體系統的人性化程度。
(3)進行語音識別。將麥克風采集到的語音信號進行相應處理后通過列表查詢的方式匹配對應的詞條。識別結果輸入單片機產生的相應控制信號,該信號經由相應的驅動電路實現對應繼電器的動作。
LD3220內部集成了模數轉換、數模轉換、功率放大等電路,可以方便地實現語音播報的功能。語音播報的實現流程主要包含以下幾個部分:
①初始化設置。
②進行內部音量設置。通過設置相應寄存器的值來實現播放音量的內部調整,該寄存器的值由4位二進制數表示。
③通過揚聲器播放相應語音。
電梯主控部分的工作流程主要包含以下幾點:
①初始化設置。
②語音識別模塊輸出識別結果,驅動其相應繼電器動作后會產生一個選層信號輸入電梯主控單片機STC89C52的對應引腳。首先,通過按鍵或者語音信號產生的各個選層信號將存入主控單片機為其配置的相應寄存器中。然后,主控單片機會根據設定好的控制策略,完成各個選層信號的優先級排序。最終結合驅動電路控制電梯到達指定樓層。
本文以LD3320語音識別芯片為基礎,設計了一種語音控制和按鍵控制相結合的電梯控制系統。該系統在傳統電梯按鍵控制的基礎上加入了語音控制,實現了電梯的非接觸、多元化的控制,使電梯使用更加便捷、衛生和人性化,與此同時,該系統整體識別率高、穩定性較強,具有一定的應用前景。