TWEN-ASR ONE 語音識別系列教程(1)—運行第一個程式
提示:作者使用 TWEN-ASR ONE V1.0開發板進行開發學習,
文章目錄
- 前言
- 一、TWEN-ASR開發板介紹
- 二、程式撰寫、下載、除錯
- 三、運行測驗
- 四、總結
前言
????語音識別這個詞,相信大家都不陌生,現在流行的智能音箱基本都有語音識別功能,如Alex、小愛音箱、天貓精靈、小度音箱等等,市面上語音識別的模塊也很多,主要分為兩大類在線語音識別和離線語音識別,前面提到的智能音箱,需要在線才有靈魂,智能音箱可以控制家電,而控制的家電的產品都需要進入相應的生態圈,對于開發者而言,也許會跟我遇到這樣的問題:
????(1)喚醒詞不能更改;
????(2)離線控制功能受限;
????(3)只能按照智能音箱廠商協議進行產品,
????然而有這么一個芯片,可以任意修改喚醒詞,可以離線語音識別控制,可以快速撰寫程式,這個芯片就是TWEN-ASR,本篇文章將使用TWEN ASR ONE V1.0開發板,進行語音識別和控制測驗,主要內容有:
- TWEN-ASR開發板介紹;
- 程式撰寫、下載、除錯;
- TWEN-ASR運行測驗,
一、TWEN-ASR開發板介紹
????開發板板載一顆 RGB 燈,引出 26 個 IO,外接喇叭和麥克風,用于快速驗證語音產品功能,芯片內置腦神經網路處理器 BNPU,支持 200 條命令詞以內的本地語音識別,內置 CPU核和高性能低功耗 Audio Codec 模塊,集成多路 UART、IIC、SPI、PWM、GPIO 等外圍控制介面,可以開發各類高性價比單芯片智能語音產品方案[1],

????TWEN-ASR ONE 資源豐富,個人覺得可惜的是沒有復位按鍵,除了主板還有麥克風、揚聲器,如下圖1.2,1.3所示,


還有下載程式需要用到的下載器,如下圖1.4所示,

二、程式撰寫、下載、除錯
????(1)安裝天問Block軟體, 天問Block開發軟體主推影像化編程,當然也可以進行字符編程,其中,天問Block下載網址,安裝完成后,編程選擇設備為TWEN-ASR,如下圖所示,

????(2)程式撰寫, 首先打開范例代碼1.第一個云因識別程式.hd,默認是圖形化編程,

- 圖形代碼

從代碼我們可以看出,程式分兩塊,一塊是初始化,另一塊是ASR_CODE,初始化程式是上電時運行一次,而ASR_CODE是回圈運行,
初始化程序:
???? 1、 播報音設定, 可以設定不同的男聲、女生,選擇還是很多的,設定時,還可以聽到聲音,有點像手機換鈴聲,點擊鈴聲就會播放鈴聲的聲音,音量和語速根據自己的喜好選擇即可,

???? 2、 添加歡迎詞設定, 歡迎詞是上電的時候會播報,
???? 3、 添加退出語音設定, 一段時間沒有語音操作后,模塊會播報退出語音,然后需要喚醒詞喚醒,
???? 4、 添加識別詞(喚醒詞), 喚醒詞是喚醒模塊作業的識別詞,
???? 5、 添加識別詞(命令詞), 命令詞是需要喚醒后作業的識別詞,
- 字符代碼
與前面的圖形化編程代碼對應如下:
#include "asr.h"
#include "setup.h"
uint32_t snid;
void ASR_CODE();
//{ID:250,keyword:"命令詞",ASR:"最大音量",ASRTO:"音量調整到最大"}
//{ID:251,keyword:"命令詞",ASR:"中等音量",ASRTO:"音量調整到中等"}
//{ID:252,keyword:"命令詞",ASR:"最小音量",ASRTO:"音量調整到最小"}
/*描述該功能...
*/
void ASR_CODE(){
if((snid) == 4){
digitalWrite(13,1);
}
if((snid) == 6){
digitalWrite(13,0);
}
}
void setup()
{
//{speak:小蝶-清新女聲,vol:10,speed:10}
//{playid:10001,voice:歡迎使用智能管家,用智能管家喚醒我,}
//{playid:10002,voice:我退下了,用智能管家喚醒我}
//{ID:2,keyword:"喚醒詞",ASR:"智能管家",ASRTO:"我在"}
//{ID:4,keyword:"命令詞",ASR:"打開紅燈",ASRTO:"好的,馬上打開紅燈"}
//{ID:6,keyword:"命令詞",ASR:"關閉紅燈",ASRTO:"好的,馬上關閉紅燈"}
}
程式實作的功能是語音識別到打開紅燈會打開紅燈,識別到關閉紅燈會關閉紅燈, RGB電路如下:

在程式中,PWM4(Pin13)高低電平就是控制紅燈的亮滅,
????(3)程式下載, 首先確保線路連接正常,如下圖2.6所示,然后需要生成模型,最后編譯下載,





下載完成后,就會播放歡迎詞,
三、運行測驗
程式下載完成后,就會播報歡迎詞,
ASR:歡迎使用智能管家,用智能管家喚醒我,
我:智能管家
ASR:我在
我:打開紅燈
ASR:好的,馬上打開紅燈

我:關閉紅燈

ASR:好的,馬上關閉紅燈
????語音識別反應很快,基本上一說完就反應過來,而且聲音小的時候也可以反應過來,第一個程式語音識別開燈和關燈,效果還是不錯的,
四、總結
????本文介紹了基于TWEN-ASR-ONE開發板,實作的語音識別功能,并且進行控制開燈和關燈操作,整過程序還是比較簡單,圖形化編程很直觀,閱讀代碼功能對初學者來說,基本上沒有什么問題,字符代碼,可以讓我們過度到圖形化代碼編程,TWEN-ASR-ONE開發語音識別編程很簡單,歡迎詞、退出語音、命令識別詞、喚醒識別詞可以自定義,還可以進行不同聲音、音量、語速選擇,總體來說,對于DIY功能基本夠用,
參考文章:
[1] TWen-ASR-ONE 快速上手說明 V1.0(twen_asr.pdf)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287683.html
標籤:其他
上一篇:簡易霓虹燈控制器
