maix asr(自动语音识别)
本文档在 MaixPy 0.5.1_128 minimum_speech_with_ide_support 固件测试通过,使用前请确保录音功能/调用模型可用。
这是一个基于声学模型的语音识别模块,用户设置拼音组成的词汇加载到模块中,就可以开始录音识别用户输入的词汇,并返回可能匹配的词汇列表。
2021年02月01日最近收到一些反馈,确认有个别同学在 IDE 的下运行不出结果,这时请切换到菜单》终端中运行才可以看到结果。
1. 使用方法
警告 不会【使用录音】和【调用模型】的同学,请先去学习前置技能再来使用本篇文档。
- 烧录声学模型
TODO 之后存放到下载站统一链接。
从这里获取声学模型maix_asr_2900k_0x500000, 烧录到 0x500000 地址即可。
没有烧模型就加载模块会 core dump ,不要跑来问怎么报错了。
- 创建录音设备
本模块支持所有 Maix 系列硬件使用,我们只需要配置一个 I2S.DEVICE_0 设备,并设置 CHANNEL_0 通道到录音输入就可以了,如果是 Cube 和 amigo 则需要先配置具体的音频解码芯片,再打开 I2C 录音设备。
from Maix import GPIO, I2S
from fpioa_manager import fm
fm.register(20,fm.fpioa.I2S0_IN_D0, force=True)
fm.register(18,fm.fpioa.I2S0_SCLK, force=True) # dock 32
fm.register(19,fm.fpioa.I2S0_WS, force=True) # dock 30
rx = I2S(I2S.DEVICE_0)
rx.channel_config(rx.CHANNEL_0, rx.RECEIVER, align_mode=I2S.STANDARD_MODE)
rx.set_sample_rate(16000)
print(rx)
- 创建 maix_asr 的辅助类,可以跳过不看。
from speech_recognizer import asr
class maix_asr(asr):
asr_vocab = ["lv", "shi", "yang", "chun", "yan", "jing", "da", "kuai", "wen", "zhang", "de", "di", "se", "si", "yue", "lin", "luan", "geng", "xian", "huo", "xiu", "mei", "yi", "ang", "ran", "ta", "jin", "ping", "yao", "bu", &#