?

基于樹莓派的智能語音控制系統的設計

2018-08-31 05:54西北民族大學吳先梅藍俊歡馬小莉杜福聰
電子世界 2018年16期
關鍵詞:樹莓舵機編程

西北民族大學 安 瑩 吳先梅 藍俊歡 馬小莉 杜福聰

1 引言

在現在這個社會,智能語音識別控制已成為發展最熱門的領域,智能語音識別控制也將是最近幾年來的一種必然趨勢,因此,語音識別技術和智能控制的進步與其相互之間的互動相結合將是一個非常有意義的設計理念。

語音識別技術是以語音作為一個研究對象,通過采集到的語音信號來讓機器自動識別、處理并理解人類口頭語言的一種技術。語音識別技術通過對語音信號的采集和處理使機器能夠識別的程度,然后接收相應的文本并執行命令。它將聲學、語言學、語音學、信息理論交叉學和模式識別與神經生物學理論完美的結合起來。語音識別技術正逐步成為計算機信息處理技術的一種至關重要的技術,它的使用已成為一個非常有競爭力的高新技術行業。

2 國內市場前景

在當今社會智能化成為熱門主題,智能化控制更是重中之重。為了便利人們生活,語音識別開始流行起來,通過語音識別能更快捷、更方便的幫助人們達到最想要做的事情。

語音識別控制隨著產業的發展,智能語音識別控制的功能越來越豐富,語音識別控制的對象不斷擴大,語音識別控制的聯動場景要求越來越高,其不斷發展到各種領域之中,可以說智能語音識別技術幾乎可以涵蓋所有傳統的弱電行業,市場發展前景誘人。

本項目設計一種基于樹莓派的智能語音控制系統,采用功能強大的樹莓派作為主控芯片,通過語音識別系統來把識別的語音數據傳給樹莓派,然后樹莓派依據語音系統發送的不同內容來控制不同的子系統,例如可以語音識別來控制LED燈、風扇、門等操作。

3 語音識別功能

語音識別的基本原理如下圖所示。語音識別包括兩個階段:訓練階段和識別階段。無論是訓練還是識別,都需要對輸入語音的信號進行預處理和提取其特征值。訓練階段所做的具體工作是采集許多的語音語料,經過不斷地處理和提取后得到特征矢量參數,最后通過特征建立數學模型來達到建立訓練語音的參考模型庫的目的。而識別階段所做的主要任務就是將輸入語音的特征矢量參數和參考模型庫中的參考模型進行類似的度量比較,然后把類似的度最高的輸入語音特征矢量作為識別結果輸出。

這樣,最后就達到了語音識別的目的,其流程如圖1所示:

圖1 語音識別流程

4 硬件基礎功能

語音識別控制系統:語音識別是一門交叉學科,也被稱為自動語音識別,其任務是將人類的語言中的話語的聲信號轉換為計算機可以識別處理的信號,我們通過識別不同的信號來使語音模塊給樹莓派產生不同的信號來供給樹莓派來識別和采集。

本項目主控芯片采用樹莓派,相比傳統STC89C51芯片、MC-9S12XS128芯片和K60N512VM100芯片等芯片相比具有更高的性能與功能,且其代碼使用Linux系統下的Python語言相比傳統的C語言更具有語音簡便、庫函數豐富、功能強大和操作方便的優點等。

樹莓派:樹莓派是類似于一種微型的便攜電腦,又是基于ARM的,以至少4G以上內存的存儲卡為內存硬盤,燒錄Linux系統,本項目采用樹莓派作為主控,采用其Python環境下的Python語言進行編程。

被控制子系統模塊:能通過語音控制系統來打開的LED燈、還能控制舵機的轉動來帶動各種物體的轉動以及風扇的開關等。

本項目的大體流程如圖2所示:

圖2 語音控制系統大體流程

5 軟件基礎功能

應用Linux的Python編程編寫。本項目采用的樹莓派,其內置Linux系統,在安裝了Python的環境下,使用Python語言來進行程序的編寫及對樹莓派的控制。

Python語言介紹:

Python具有非常廣泛的庫。它常被昵稱為膠水語言,基本上能夠把任何語言編寫的各種函數(例如C/C++)很簡單地連接在一起。最廣泛的一種使用情形就是,使用網上的專門的Python快速生成程序的軟件(有時可以是程序的最后界面等),然后對其中有特殊需求的部分,采用更方便的語言來編寫,比如3D游戲中的圖形渲染中的插件里,性能需求就非常地高,就能夠使用C/C++重新編寫程序,再使用其它方法把它包裝為Python能夠使用的額外的庫文件。其中要知道的是在我們使用額外的庫文件可能需要考慮不同電腦系統的兼容性問題,某些平臺有可能出現不兼容的情況。

Python語言編程:

Python就為我們提供了很多豐富和功能強大的基礎代碼庫,覆蓋了網絡、文件、GUI、數據庫、文本等許多的東西,又被抽象地稱作“內置電池(batteries included)”。用Python進行編寫程序,很多功能不需要從頭開始編寫,只有有一定的編程基礎,就可以使用現成的庫文件實現就行。一般的樹莓派里的Python的源為國外源,用過修改源可以加快、方便的下在我們所需要的庫,在初始的Python環境下,我們使用Python的apt-get下載各種基本包來安裝,然后使用Linux命令建立.py的文件來存儲程序,通過Python指令來執行控制樹莓派進行各種操作。

PWM控制舵機:

PWM即脈寬調制控制技術,通過樹莓派模仿PWM方波的周期,調節其占空比的多少來控制舵機轉動的角度,一般原理為使用一個定時器定時20ms,然后通過高低電平的切換,使高電平所占的時間模仿方形脈沖,然后調節高電平脈沖的時間來控制舵機轉動的角度也就是所謂的占空比的調節舵機轉動角度。

6 設計的方案

本項目使用樹莓派作為主控芯片,通過路由器的局域網WIFI下來對樹莓派進行操作,使用Linux命令來編寫代碼,使樹莓派不僅可以接受來自語音模塊傳遞的信號,還能通過不同的信號對不同的模塊進行控制,通過語音識別的不同信號來分別控制LED燈的亮滅、控制風扇的開啟與關閉,并且通過PWM控制舵機轉動來控制門的開啟與關閉等操作。

猜你喜歡
樹莓舵機編程
編程,是一種態度
元征X-431實測:奔馳發動機編程
編程小能手
紡織機上誕生的編程
含齒隙彈載舵機的全局反步模糊自適應控制
基于樹莓派的騎行智能頭盔設計
基于dsPIC單片機的飛艇舵機控制實現
基于樹莓派的遠程家居控制系統的設計
基于高速同步485總線通信的多通道舵機控制器設計
響應面法優化紅樹莓酒發酵工藝
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合