林世杰 曹曉東
緒論
語音信號處理的研究和技術進步促進了各相關學科和技術領域的發展,特別是認知科學、心理學和計算機科學。語音處理是一門集語音研究和信號處理于一體的混合學科。技術和應用的結合使語音信號處理在我們生活的許多領域都有了長足的發展,如語音識別聽寫、語音控制撥號、個人電話銀行等。
語音識別已經成為一種大勢所趨,只能在未來生存。許多具有基本識別功能的程序在網上也是開源的,但語音識別仍是國內外研究的重點,尤其是在漢語語義分析方面,仍存在許多障礙。對于普通網絡用戶來說,語音識別仍然是一種看不見摸不著的內部嵌入式程序。本文從現有的互聯網上的開源程序入手,分析了它們的算法和編程環境,旨在基于作者的編程能力,使語音識別程序具有比開源資源更多的功能和更廣闊的應用環境。
BP神經算法
人工神經網絡是一種信息處理系統,它有很多種模型。其中有一種用誤差傳播學習算法(Error Back Propagation即BP算法)進行訓練的多層前饋神經網絡,簡稱為BP網絡。BP神經算法特點:
l)分布式的信息存儲方式
神經網絡是以各個處理器本身的狀態和它們之間的連接形式存儲信息的,一個信息不是存儲在一個地方,而是按內容分布在整個網絡上。網絡上某一處不是只存儲一個外部信息,而是存儲了多個信息的部分內容。整個網絡對多個信息加工后才存儲到網絡各處,因此,它是一種分布式存儲方式。
2)大規模并行處理
BP神經網絡信息的存儲與處理(計算)是合二為一的,即信息的存儲體現在神經元互連的分布上,并以大規模并行分布方式處理為主,比串行離散符號處理的現代數字計算機優越。
3)自學習和自適應性
BP神經網絡各層直接的連接權值具有一定的可調性,網絡可以通過訓練和學習來確定網絡的權值,呈現出很強的對環境的自適應和對外界事物的自學習能力。
4)較強的魯棒性和容錯性
BP神經網絡分布式的信息存儲方式,使其具有較強的容錯性和聯想記憶功能,這樣如果某一部分的信息丟失或損壞,網絡仍能恢復出原來完整的信息,系統仍能運行。
設計思路分析
(1)通過麥克風輸入語音信息,將語音信息存入本地;
(2)把語音信息傳入到百度AI,返回文字信息;
(3)對文字進行解析,判斷文字是中文還是英文;
(4)調用百度AI翻譯,返回具體的翻譯信息。
確定BP算法的結構
確定了網絡層數、每層節點數、傳遞函數、初始權系數、學習算法等也就確定了BP網絡。確定這些選項時有一定的指導原則,但更多的是靠經驗和試湊。
1)隱層數的確定:
1998年Robert Hecht-Nielson證明了對任何在閉區間內的連續函數,都可以用一個隱層的BP網絡來逼近,因而一個三層的BP網絡可以完成任意的n維到m維的映照。因此我們從含有一個隱層的網絡開始進行訓練。
2)BP網絡常用傳遞函數:
BP網絡的傳遞函數有多種。Log-sigmoid型函數的輸入值可取任意值,輸出值在0和1之間;tan-sigmod型傳遞函數tansig的輸入值可取任意值,輸出值在-1到+1之間;線性傳遞函數purelin的輸入與輸出值可取任意值。BP網絡通常有一個或多個隱層,該層中的神經元均采用sigmoid型傳遞函數,輸出層的神經元則采用線性傳遞函數,整個網絡的輸出可以取任意值。
3)每層節點數的確定:
使用神經網絡的目的是實現攝像機輸出RGB顏色空間與CIE-XYZ色空間轉換,因此BP網絡的輸入層和輸出層的節點個數分別為3。下面主要介紹隱層節點數量的確定。
對于多層前饋網絡來說,隱層節點數的確定是成敗的關鍵。若數量太少,則網絡所能獲取的用以解決問題的信息太少;若數量太多,不僅增加訓練時間,更重要的是隱層節點過多還可能出現所謂“過渡吻合”(Overfitting)問題,即測試誤差增大導致泛化能力下降,因此合理選擇隱層節點數非常重要。
系統方案分析
用戶可以在任何狀態下啟動語音交互軟件,軟件啟動后,進入語音交互狀態,PC機通過麥克風獲取此語音數據,在將其進行語音識別之后,系統再將該識別出的命令重新轉化成語音請求用戶確認,在用戶進行過確認之后,系統把它封裝成一條語音指令,語音指令格式如圖3.2所示。然后PC通過網絡將其發送到主控制器上,主控制器上的計算機通過幀解析解析出其源MAC地址,將此源MAC地址與合法MAC地址列表中的每項進行對比,當發現其為不合法的MAC地址時,系統不進行任何響應,否則,系統將其重新進行紅外編碼,以實現對相應電器的控制。
語音識別的過程
通常一般的語音識別系統具有之前的事先處置鍛煉步驟和鍛煉完成后的判別這兩個階段。不管是最開始的鍛煉步驟還是鍛煉完成后的識別步驟,皆必須事先對輸入到程序內的原始聲音數據進行事先的處置,并提取特征。下面具體說明各個模塊的基本功能。
(1)預處理模塊,對系統檢測到的原始語音信號處理,濾除音頻文件中非有效或者是干擾的信息,比如背景噪聲、話筒雜聲等,并檢測音頻文件中有效的語音信號的端點,也就是確定一下有效的語音是從哪個點起始到哪個點收尾,對信號分段和預加重等處置辦法。
(2)特征提取模塊,這一模塊主要工作是要將語音的順序排列,以及計算特征值,方便為后續工作提取反應信號特征的關鍵特征參數。通常被作為語音識別特征參數使用的有幅度、過零率、能量、線性預測系數(LPC)、LPC倒譜系數(LPCC)、線譜對參數(LSP)、短時頻譜、共振峰頻率、反應人耳聽覺特征的Mel頻率倒譜系數(MFCC)等。特征的選擇和提取是系統構建的關鍵。
(3)訓練階段,使用者錄制好多次輸入音頻,程序使用上述步驟運行后求到特征矢量參數(序列),再通過特征建模模塊建立語音訓練的參考模式庫,或者對己在模式庫中的參考模型作適應性修正。
(4)識別階段,對用作測試的輸入語音進行相同的特征提取并與之前建立的模式庫中模板進行模式匹配,結果就是匹配后最像的及路徑最短的那個模版所代表的識別結果。
(5)后處理模塊,處理己得到的匹配結果,并最終得到模式匹配結果,綜合其他學科的專業知識(比如:語音學的語言模型、詞法、句法和語義信息等)的束縛求出想要的輸出結果。
參考文獻
[1]侯一民,周慧瓊,王政一.深度學習在語音識別中的研究進展綜述[J].計算機應用研究,2017,(08):1-9.
[2]鄧云蹤.百度語音識別系統入選MIT2016十大突破技術口叼.人民郵電,2016—02,26(008)
[3]程洋.語音識別算法研究及DSP實現[D].安徽理工大學,2015.
[4]盧永輝.語音識別技術的關鍵問題研究[D].陜西師范大學,2014.
[5]A.Si,H.V.Leong,R.H.Lau.CHECK:A Document Plagiarism Detection System.Journal of the ACM Symposium for Applied Computing,2007,8(6):70-77.
[6]麥好.機器學習實踐指南[M]:案例應用解析.機械工業出版社,2014.