https://gitee.com/gitee-128/ASR-PRO-U8G2/tree/main
不下载模型 语音就是天问51唤醒我
不使用喇叭 电流为33MA
ASR_PRO.PDF
PA4 PG_EN 编程模式与正常模式 启动时间差异 850MS -350MS ;程序更新模式(默认上拉)
PC4 BOOT_SEL :SRAM 启动 FLASH 启动
MUTE 控制8002芯片的使能 (8002芯片低电平使能
UART 外接5V 原本为3.3V 但为保证可行性而使用5V 上拉 10K (不上拉也可以运行,就是可能慢点)
内部有电源管理芯片 可输出1.1V 3.3V电压 但电流只有10ma
TEST_EN 测试引脚
RSTn 用于重启
8002芯片的 SHUTDOWN 引脚(1) 原理图上含有电阻 跟直接接地(两种)
PG_EN引脚有两种 直接空与接电阻(空并不影响)
asrpro ssd1306
移植u8g2过程
分为 sw hw 硬件模拟与软件模拟
分为spi 与I2c两种模式
SSD1306 SPI SOFTWARE
u8g2的移植过程(使用网上有的移植过程)
修改核心代码适应asrpro
uint8_t u8x8_avr_gpio_and_delay(u8x8_t *u8x8, uint8_t msg, uint8_t arg_int, void *arg_ptr)
{
// Re-use library for delays
switch(msg)
{
//ms
case U8X8_MSG_DELAY_MILLI:
delay(1);
break;
//10 us
case U8X8_MSG_DELAY_10MICRO:
delay10us();
break;
//1 ns
case U8X8_MSG_DELAY_NANO:
delay1us();
break;
case U8X8_MSG_DELAY_100NANO:
delay1us();
break;
case U8X8_MSG_GPIO_AND_DELAY_INIT: // called once during init phase of u8g2/u8x8
ssd1306_spi_init();
break; // can be used to setup pins
case U8X8_MSG_GPIO_SPI_CLOCK: // Clock pin: Output level in arg_int
if(arg_int)
digitalWrite(SCK,1);
else
digitalWrite(SCK,0);
break;
case U8X8_MSG_GPIO_SPI_DATA: // MOSI pin: Output level in arg_int
if(arg_int)
digitalWrite(MOSI,1);
else
digitalWrite(MOSI,0);
break;
case U8X8_MSG_GPIO_CS: // CS (chip select) pin: Output level in arg_int
if(arg_int)
digitalWrite(CS,1);
else
digitalWrite(CS,0);
break;
case U8X8_MSG_GPIO_DC: // DC (data/cmd, A0, register select) pin: Output level in arg_int
if(arg_int)
digitalWrite(DC,1);
else
digitalWrite(DC,0);
break;
case U8X8_MSG_GPIO_RESET: // Reset pin: Output level in arg_int
default:
break;
}
return 1;
}
第一步 下载u8g2的源代码
第二步 修改 delay and 函数
第三步 添加头文件
显示 (只有2m 4m内存,无法对大视频文件进行显示,从而使用将视频文件转为相应bdf文件缩小规格)
使用u8g2进行显示(有相应的比较完整的库)
使用ssd1306 显示器 spi sw(软件模拟spi显示)
显示 动画
SPI I2C(SOFT SPI ;SOFT I2C
U8G2 移植过程(移植过程参考 u8g2移植教程)
添加头文件:
核心代码:
控制外部模块pca9865
SOFTI2C
唤醒语句 时间
enter_wakeup(5000);
方言 识别
命令式指令识别
唤醒词识别模式
学习唤醒词 学习命令词 方言
asr_pro.pdf官方文档
(二)学习命令词
用唤醒词(默认或已学习的)唤醒语音助手,然后说“学习命令词”,根据提示来学
习新的命令词。
在自学习状态下学习指令,语音会进行提示:
(二)学习命令词
用唤醒词(默认或已学习的)唤醒语音助手,然后说“学习命令词”,根据提示来学
习新的命令词。
在自学习状态下学习指令,语音会进行提示:
学习状态中,保持安静,请说第一条要学习的指令
(三)删除唤醒词和命令词
用唤醒词(默认或已学习的)唤醒语音助手,然后说出“我要删除”,根据提示来删除新
学习的唤醒词/命令词。
提示:删除唤醒词还是命令词
MP3格式 :mono 16kbps 16000 (*按官方替换wav说明,MP3无法对上可能错误
修改wav mp3语音
修改voice目录下的mp3
或是wav目录下添加 格式参考mp3
一键换词
一键换播放音
启动
串口控制
python
pwm 设置
pinMode PWM_enble
asrpro\asr_pro_sdk\projects\cwsl_sample\src\wiring.c
ADC
i2c
spi
uart