Arduino中借助LU-ASR01实现语音识别
LU-ASR01是一款采用深度学习算法的离线语音识别开发板,无需联网即可独立运行。它具备自动识别中文语音输入并进行相应处理的能力。此开发板拥有1路输出的串口TX。该开发板需在天问Block IDE(http://twen51.com/new/twen51/index.php)中开发,该IDE支持图形化编程。
本文以Arduino Uno和NodeMCU(ESP-12F)两款开发板为例,展示在Arduino开发环境下,如何借助LU-ASR01实现语音识别。
Arduino Uno
接线
LU_ASR01 | Arduino Uno |
5v | 5v |
G | GND |
TX | RX<-0 |
LU-ASR01编程
只需在天问Block IDE中做出如下配置,LU-ASR01就会在自动识别到关键词后,通过串口发出指定信号,以供Arduino Uno接收。
代码
选择“Arduino Uno”开发板
char serial_information = '0';
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
serial_information = Serial.read();
Serial.print("收到的数据为: ");
Serial.println(serial_information);
}
}
现象
在说出唤醒词“环境监测”的10秒中内,依次说出“温度”、“湿度”、“二氧化碳”、“光照强度”后,Arduino Uno便会接收到LU-ASR01传来的串口信号:
NodeMCU
接线
ESP-12F | LU_ASR01 |
3v3 | 5V |
GND | G |
RX | TX |
LU-ASR01编程
只需在天问Block IDE中做出如下配置,LU-ASR01就会在自动识别到关键词后,通过串口发出指定信号,以供NodeMCU接收。
代码
选择“NodeMCU 0.9 (ESP-12 Module)”开发板
char serial_information = '0';
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available() > 0)
{
serial_information = Serial.read();
Serial.print("收到的数据为: ");
Serial.println(serial_information);
}
}
现象
依次说出“开灯”、“关灯”、“自动模式”、“手动模式”后,NodeMCU便会接收到LU-ASR01传来的串口信号: