目前,語音識別技術的發展十分迅速,按照識別對象的類型可以分為特定人和非特定人語音識別。特定人是指識別對象為專門的人,非特定人是指識別對象是針對大多數用戶,一般需要采集多個人的語音進行錄音和訓練,經過學習從而達到較高的識別率。
我們采用DFRobot的中文語音識別模塊,它的核心則是我們大家都熟知的LD3320,LD3320語音識別芯片是一顆基于非特定人語音識別(SIASR)技術的芯片。該芯片上集成了高精度的A/D和D/A接口,不再需要外接輔助的Flash和RAM,識別的關鍵詞語列表是可以動態編輯的。
它是一款只需要在主控MCU的程序中設定好要識別的關鍵詞語列表并動態地把這些關鍵詞語以字符的形式傳送到芯片內部,就可以對用戶說出的關鍵詞語進行識別。該模塊可以設置50項候選識別句,每個識別句可以是單字,詞組或短句,長度為不超過10個漢字或者79個字母的拼音串,為了提高識別精準度,開發者還可以設置“垃圾關鍵字”,使得該模塊遇到這些“垃圾關鍵字”則重新識別,可由一個系統支持多種場景。
不過需要說明的是,使用環境的噪聲會影響到VoiceRecognition的語音識別效果。另外,如果使用者的聲音過小的話,它無法精準判斷哪里應該“斷句”。VoiceRecognition語音識別模塊采用疊層設計,可以直接插接到Arduino控制器上,用戶使用Arduino便可以快速設計產品原型,例如:電磁爐、微波爐、洗衣機、智能家電操作,照明系統的聲控等等。
語音識別流程采用中斷方式工作,其工作流程分為初始化、寫入關鍵詞、開始識別和響應中斷等。用ARDUINOIDE編寫。調試完成后通過串口進行燒錄,控制LD3320完成語音識別,并將識別結果上傳至Arduinomega168控制器。
注:文章內的所有配圖皆為網絡轉載圖片,侵權即刪!