瘋殼AI人臉及語音識別教程3-3語音傳輸與解析顯示

詳情地址:https://fengke.club/GeekMart/views/offline/ai
購買鏈接:https://fengke.club/GeekMart/su_fKw7Nb7oC.jsp
視頻地址:https://fengke.club/GeekMart/su_f9cTSxNsp.jsp
官方QQ羣:457586268

語音傳輸與解析顯示

TLV320AIC3254支持I2C和SPI接口,這裏用到I2C對TLV320AIC3254的寄存器進行配置,用IAR打開AI_ASR裏面的工程,如圖1.0.1所示爲CC3200初始化I2C部分代碼。
在這裏插入圖片描述

圖1.0.1 初始化I2C部分代碼
對TLV320AIC3254的初始化函數,如圖1.0.2所示。
在這裏插入圖片描述

圖1.0.2 TLV320AIC3254初始化
通過該函數可以設置設備的ID、採樣位數、採樣速率、音頻通道、音頻輸出以及音頻輸入的增益。
本次實驗使用UDP連接的方式進行通信。使用CC3200配置爲UDP模式的代碼如圖1.0.3所示。
在這裏插入圖片描述

圖1.0.3 CC3200U配置UDP模式
打開common.h,連接的路由器名稱及密碼如圖1.0.4所示,特別注意的是要修改加密方式OPEN、WEP或者WPA。
在這裏插入圖片描述

圖1.0.4 路由器相關信息
連接服務器的IP地址及端口如圖1.0.5所示。在network.c找到HOST_IP_ADDR可在宏定義中修改IP地址,修改usPort的值可以修改端口。
在這裏插入圖片描述

圖1.0.5 服務器的IP地址及端口
IP地址用16進制來表示,例如:“192”對應16進制的“0xc0”、“168”對應16進制的“0xa8”、“05”對應16進制的“0x05”、“05”對應16進制的“0x05”,合起來就是0xc0a80505(192.168.5.5)。
Network任務主要是實現網絡連接,所以該任務主要實現CC3200連接上路由器,建立UDP。任務如圖1.0.6所示。
在這裏插入圖片描述

圖1.0.6 Network任務
在ConnectToNetwork()函數內有一個函數WlanConnect()通過該函數可以連接上Common.h的宏定義中的路由器,WlanConnect()函數如圖1.0.7所示。
在這裏插入圖片描述

圖1.0.7 WlanConnect函數
CreateUdpServer()函數則是建立udp服務器,該函數如圖1.0.8所示。
在這裏插入圖片描述

圖1.0.8 CreateUdpServer函數
Microphone任務主要是爲了實現音頻板卡語音的採集以及把語音信號通過udp發送出去的事項。
通過該任務下的GetBufferSize(pRecordBuffer)函數便可以把音頻板卡的駐極體上的聲音信號採集回來存儲在pRecordBuffer這個緩衝區中。GetBufferSize()函數如圖1.0.9所示。
在這裏插入圖片描述

圖1.0.9 GetBufferSize函數
通過該任務下的sendto()函數可以把採集到語音信號發送到服務器端。
通過Speaker任務可以把由服務器端識別回來的字符串接收回來,並顯示在12864液晶屏幕上。Speaker任務如圖1.1.0所示。
在這裏插入圖片描述
圖1.1.0 Speaker任務
通過sl_RecvFrom便可接收到解析好的語音字符串,然後通過12864液晶屏顯示出來。
如圖1.1.1爲12864的初始化部分代碼
在這裏插入圖片描述
圖1.1.1 12864初始化代碼
通過該函數可以初始化設定12864的對比度、掃屏方向等。如圖1.1.2爲12864的顯示GB2312字庫的代碼。
在這裏插入圖片描述

圖1.1.2 12864顯示GB2312字庫的代碼
編譯代碼下載Bin文件到CC3200上(具體可參考GPIO小節),下載成功之後將撥碼開關再撥回去,由於用到串口UART1調試的接收,需要把USB轉TTL電平的CH340的供電端以及收發端接上,把CH340G_VCC撥到ON,接收端RXD撥到ON如圖1.1.3所示。
在這裏插入圖片描述

圖1.1.3 下載完成的後的撥碼開關示意圖
由於該實驗需要用到音頻板卡,故需要把音頻板卡插在板子左下方的雙排針處,同時還需要把排針連接CC3200的撥碼開關撥上,即需要把板子中間靠右的8路撥碼的6、7、8(LED燈)撥到ON(1在上一步中已經撥到了ON)。除此之外,本次實驗還用到了12864液晶顯示器,還需要把配套的液晶顯示器接上,配套的液晶顯示器的引腳與板子IO的連接關係如表1.0.1所示。
表1.0.1 12864與開發板連接關係
在這裏插入圖片描述

最後插上USB線。最後板子上的撥碼及接線狀態如圖1.1.4所示。
在這裏插入圖片描述

圖1.1.4 接線示意圖
把USB接上電腦,打開串口調試助手,選擇相應的串口號(不同的電腦不同),波特率選擇115200,打開串口,按下復位。收到如圖1.1.5所示信息則代表音頻板卡初始化通過。
在這裏插入圖片描述

圖1.1.5 音頻板卡初始化通過
當接收到如圖1.1.6所示的串口打印信息時,則代表CC3200已經連上了指定的路由器。
在這裏插入圖片描述

圖1.1.6 連接上路由器
拿起板卡對着駐極體說出想要識別的語音(普通話),等待一會後12864液晶,便會顯示出相應的字符。
在本次實驗中是以不斷地採集駐極體處的聲音待服務器解析後回傳字符串的方式進行的,故需要等待的時間較長(約10s~20s)。
如圖1.1.7所示,對駐極體說出“明天天氣怎麼樣”,等待一會後12864液晶屏幕便會顯示出由服務器的識別返回的字符。
在這裏插入圖片描述

圖1.1.7 實驗現象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章