maix asr
本文档在 MaixPy 0.5.1_128 minimum_speech_with_ide_support 固件测试通过,使用前请确保录音功能/调用模型可用。
这是一个基于声学模型的语音识别模块,用户设置拼音组成的词汇加载到模块中,就可以开始录音识别用户输入的词汇,并返回可能匹配的词汇列表。
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", "li", "liang", "zai", "yong", "dao", "shang", "xia", "fan", "teng", "dong", "she", "xing", "zhuang", "ru", "hai", "tun", "zhi", "tou", "you", "ling", "pao", "hao", "le", "zha", "zen", "me", "zheng", "cai", "ya", "shu", "tuo", "qu", "fu", "guang", "bang", "zi", "chong", "shui", "cuan", "ke", "shei", "wan", "hou", "zhao", "jian", "zu