ASR Module

这是 ASR 模块的驱动库。

支持以下产品:

ASRModule

UiFlow2 示例

ASR 应用示例

在 UiFlow2 中打开 asr_core2_example.m5f2 项目。

该示例演示如何使用 ASR 模块获取当前指令词和指令编号,并在你说出“hello”时触发事件以执行所需操作。

UiFlow2 代码块:

example.png

示例输出:

None

MicroPython 示例

ASR 应用示例

该示例演示如何使用 ASR 模块获取当前指令词和指令编号,并在你说出“hello”时触发事件以执行所需操作。

MicroPython 代码块:

 1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD
 2#
 3# SPDX-License-Identifier: MIT
 4
 5import os, sys, io
 6import M5
 7from M5 import *
 8import m5ui
 9import lvgl as lv
10from module import ASRModule
11import time
12
13
14page0 = None
15label0 = None
16label1 = None
17label2 = None
18module_asr_0 = None
19
20
21def module_asr_0_hello_event(args):
22    global page0, label0, label1, label2, module_asr_0
23    module_asr_0.send_message(0x5A)
24
25
26def setup():
27    global page0, label0, label1, label2, module_asr_0
28
29    M5.begin()
30    Widgets.setRotation(1)
31    m5ui.init()
32    page0 = m5ui.M5Page(bg_c=0xFFFFFF)
33    label0 = m5ui.M5Label(
34        "label0",
35        x=1,
36        y=69,
37        text_c=0x000000,
38        bg_c=0xFFFFFF,
39        bg_opa=0,
40        font=lv.font_montserrat_14,
41        parent=page0,
42    )
43    label1 = m5ui.M5Label(
44        "label1",
45        x=1,
46        y=103,
47        text_c=0x000000,
48        bg_c=0xFFFFFF,
49        bg_opa=0,
50        font=lv.font_montserrat_14,
51        parent=page0,
52    )
53    label2 = m5ui.M5Label(
54        "label2",
55        x=1,
56        y=138,
57        text_c=0x000000,
58        bg_c=0xFFFFFF,
59        bg_opa=0,
60        font=lv.font_montserrat_14,
61        parent=page0,
62    )
63
64    page0.screen_load()
65    module_asr_0 = ASRModule(2, tx=27, rx=34)
66    module_asr_0.add_command_word(
67        module_asr_0.search_command_num("hello"), "hello", module_asr_0_hello_event
68    )
69
70
71def loop():
72    global page0, label0, label1, label2, module_asr_0
73    M5.update()
74    label0.set_text(str((str("Is Receive:") + str((module_asr_0.get_received_status())))))
75    label1.set_text(str((str("Command Num:") + str((module_asr_0.get_current_command_num())))))
76    label2.set_text(str((str("Command Word:") + str((module_asr_0.get_current_command_word())))))
77    time.sleep(1)
78
79
80if __name__ == "__main__":
81    try:
82        setup()
83        while True:
84            loop()
85    except (Exception, KeyboardInterrupt) as e:
86        try:
87            m5ui.deinit()
88            from utility import print_error_msg
89
90            print_error_msg(e)
91        except ImportError:
92            print("please update to latest firmware")

示例输出:

None

API参考

ASRModule

class module.asr.ASRModule(id=1, tx=-1, rx=-1, verbose=False)

基类:ASRUnit

语音识别硬件模块。

参数:
  • id (int) – 用于通信的 UART 端口编号,默认值为 2。

  • tx (int) – TX 引脚编号。

  • rx (int) – RX 引脚编号。

  • verbose (bool) – 是否启用详细输出,默认值为 False。

UiFlow2 代码块:

init.png

MicroPython 代码块:

from unit import ASRUnit

# Initialize with UART1, TX on pin 2, RX on pin 1
asr = ASRModule(id=2, tx=2, rx=1)