0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M5Stack Unit ASRの独自ファームウェアを生成する

Last updated at Posted at 2025-03-05

はじめに

M5Stack Unit ASRのファームウェアを作成するには、智能公元(smartpi.cn)ページを利用する必要があります。いつかは他言語化される可能性もありますが、現在は中国語のみです。ブラウザーの翻訳機能などを使えば大体意味はわかるものの、使い方をまとめておきます。

ユーザー登録

まず、ユーザーを登録します。右上の「免费注册」が「無料でユーザー登録」です。「登录」がユーザー登録後のログインです。

image.png

「昵称」にニックネーム、「手机号或邮箱」にメールアドレスを入力して、「发送验证码」ボタンを押すと、入力したメールアドレスに検証用の番号が送られます。
届いた番号を「验证码」に、「密码」と「确认密码」の両方に登録したいパスワードを入力して、「我已阅读并接受用户协议与隐私政策」にチェックを入れてプライバシーポリシー同意の上、「同意并注册」ボタンを押して登録します。

image.png

ユーザー登録が完了すれば、ログインして利用できます。

image.png

最初のファームウェア作成

最初はM5Stack Unit ASRの Unit ASR Custom Firmware Generation and Flashing ページから Unit ASR Config EN TemplateUnit ASR Config CN Template 、あるいは、こちらの Unit ASR Config JP Template をダウンロードして使います。

左のメニュー「产品管理」下の「所有产品」を開き、画面右の「导入产品」を押して上記のファイルをインポートします。

image.png

image.png

「查看详情」を押して、詳細を確認します。SDKの状態が「待生成」となっていれば、「更多」から「生成SDK」でSDKを生成します。

image.png

ステータスが変わります。3分くらいでSDK(ファームウェア)が生成されます。生成前に「查看」で内容の確認、編集ができます。「继承」で複製することができます。

image.png

生成が完了すると、「下载固件」でファームウェアをダウンロードします。

image.png

ファームウェアの編集

  • ファームウェアの編集は以下の設定があります。

    1. 前端信号处理(フロントエンド信号処理)
    2. Pin脚配置(ピン設定)
    3. 唤醒词自定义(ウェイクワード・カスタマイズ)
    4. 自选协议配置
    5. 命令词自定义(コマンドワード・カスタマイズ)
    6. 发音人配置(話者設定)
    7. 其它配置(その他設定)
    8. 个性化音频(パーソナライズ音声)
    9. 优化配置(最適化設定)

1.前端信号处理(フロントエンド信号処理)

image.png

麦克风配置: マイク構成、以下の選択肢があるがUnit ASRはマイクが一つのため「单MIC」

  • 单MIC: 単一マイク
  • 双MIC: 二つのマイク

应用场景: 適用シナリオ、通常は「日文通用Pro5(占1.3M空间)-V01149-v2」を選択

  • 日文通用Pro5(占1.3M空间)-V01149-v2: 一般的な環境で利用
  • 安静环境(占1.3M空间)-V00585: 静かな環境で利用 →「双MIC」のみ選択可能

产品特性: 製品の特長、「单MIC」で選択できるのは以下。Unit ASRは「音声認識」が標準

  • 仅语音识别: 音声認識
  • 语音识别+自学习: 音声認識+自己学習、オフラインで10以下のコマンドを学習させることができるとのこと
  • 语音识别+深度降噪: 音声認識+徹底的なノイズ低減、周囲のノイズが多い状況での利用を想定とのこと
  • 语音识别+声纹识别: 音声認識+声紋認識、別途オプション契約が必要な模様
  • 语音识别+男女声纹识别: 音声認識+男性と女性の声紋認識、別途オプション認証が必要な模様
  • 语音识别+AEC打断(限单MIC): 音声認識+AEC割り込み(単一マイクのみ)、長い発話/音楽再生中に割り込み
  • 语音识别+自学习+AEC打断(限单MIC): 音声認識+自己学習+AEC割り込み(単一マイクのみ)、長い発話/音楽再生中に割り込み
  • 哭声检测: 泣き声検出、別途オプション認証が必要な模様、この機能選択時は音声認識は使えない
  • 鼾声检测: いびき検出、別途オプション認証が必要な模様、この機能選択時は音声認識は使えない
  • 文字转语音: テキスト読み上げ、別途オプション認証が必要な模様

自然说: 機械学習を利用した自然は音声合成と思われるが、日本語では選択不可

  • 不支持: サポートしない

2.Pin脚配置(ピン設定)

M5Stack Unit ASRではGPIO等は使用できないため無効です。

image.png

UART0_TXの速度、ビット数、ストップビット、パリティビットが変更できます。
UART0_RXのヘッダー(AA 55)、トレイラー(55 AA)が変更できます。

image.png

3.唤醒词自定义(ウェイクワード・カスタマイズ)

ここでウェイクワードを設定することができます。5.命令词自定义でもウェイクワードを設定することができ、デフォルトのファームウェアではそちらで設定されていて、ここでは使っていません。「rqwerqwerqwerqwerqwerq」というダミー値が設定されています。

image.png

4.自选协议配置

設定項目がありません。

5.命令词自定义(コマンドワード・カスタマイズ)

音声認識、音声合成のワード設定を行います。

image.png

  • 基础信息: 基本情報タブ、コマンドバイト(0x00~0xFF)とコマンド/応答を割り当てます

    • 序号: 連番
    • 行为: 行為、識別用の英数字文字列
    • 触发方式: トリガー方法
      • 命令词: コマンドワード、音声認識によりトリガー
      • 串口输入: シリアルポート入力、シリアルに(M5Stack側から)データを送信してトリガー
      • GPIO输入: GPIO入力、Unit ASRではGPIO入力は利用できない
      • ADC输入: ADC入力、Unit ASRではADC入力は利用できない
      • 脉冲输入: パルス入力、Unit ASRではパルス入力は利用できない
      • 事件触发: イベントトリガー
        • 退出唤醒: ウェイクアップ終了
          • 语音触发: 音声トリガー
          • 自动触发: 自動トリガー
          • 接口触发: インターフェーストリガー
        • 系统启动: システムの起動
          • 上电启动: 電源オン起動
          • 重置启动: リセット起動
        • 播音开始: 発話開始
        • 播音结束: 発話終了
        • 定时器超时: タイムアウト
        • 自学习事件: 自己学習イベント
        • 声纹识别事件: 声紋認識イベント
        • 声源定位事件: 音源定位イベント
      • 附加条件: 追加条件
    • 命令词: コマンドワード
    • 回复语: 応答
    • 操作: 操作、削除、詳細設定
  • 控制详情: コントロールの詳細タブ、トリガー時の動作を設定します

    • 序号: 連番、基本情報タブの値を表示
    • 行为: 行為、識別用の英数字文字列、基本情報タブの値を表示
    • 命令词: コマンドワード、ここで追加/変更が可能、複数指定可能、音声認識とシリアル入力でトリガーするなど
    • 控制类型: コントロールの種類、複数指定可能
      • 端口输出: ポート出力(シリアル、GPIOの出力)
      • 播放语音: 音声発話
        • 打断播报: 再生の割り込み
      • 系统设置: システム設定
        • 播放控制: 発話制御
          • 停止播放: 再生停止
          • 最小音量: 音量を最小にする
          • 最大音量: 音量を最大にする
          • 中等音量: 音量を中にする
          • 增加音量: 音量を上げる
          • 减少音量: 音量を下げる
          • 设为静音: ミュート
          • 取消静音: ミュート解除
          • 无回复播报: 復帰報告なし
          • 有回复播报: 復帰報告あり
          • 免打扰模式: じゃましないモード
          • 正常播报模式: 通常放送モード
        • 识别控制: 識別制御
          • 退出唤醒: ウェイクアップ終了
          • 进入唤醒: ウェイクアップに入る
          • 允许语音识别: 音声認識を有効にする
          • 关闭语音识别: 音声認識を無効にする
          • 允许识别词: 指定した単語の認識を許可する
          • 禁止识别词: 指定した単語の認識を不可にする
          • 禁止超时退出唤醒: タイムアウト終了ウェイクアップを無効にする
          • 允许超时退出唤醒: タイムアウト終了ウェイクアップを有効にする
        • 重启控制: リセット制御
          • 重置重启: リセット再起動
        • 定时器控制: タイマー制御
          • 启动定时器
          • 停止定时器
        • 流程控制: プロセス制御
          • 跳转行为
        • 声纹识别: 音声認識
          • (学習等を行わせることができる、利用不可)
        • 声源定位: 音源定位
          • (定位の取得)
      • 变量设置:
    • 动作: アクション
    • 动作参数: アクションパラメータ
    • 操作: 操作、削除、詳細設定
  • 变量定义: 変数の定義タブ
    制御に使う変数を定義します、int、char、double、unsigned charの型があります

  • 定时器: タイマー・タブ
    タイマーを定義します

  • 语音导航: 音声ナビゲーション・タブ

image.png

  • 免唤醒的命令词(唤醒词加上免唤醒的命令词,总数不能超过20条):ウェイクアップを必要としないコマンドワード(ウェイクアップワードとウェイクアップを必要としないコマンドワードの合計数は20以下)

    上記で登録したコマンドワードは、通常ウェイクワードで起動した後に認識します。ウェイクワードの指定は、3.唤醒词自定义(ウェイクワード・カスタマイズ)で指定する方法と、5.命令词自定义(コマンドワード・カスタマイズ)の識別制御で、コマンドワード入力時にウェイクアップするという指定の方法があります。後者の場合は、ここでウェイクアップワード不要のコマンドワードとして指定することになります。

  • 防止误识别的命令词(不能和唤醒词、命令词重复,多条词条之间用“|”隔开):コマンドワードの誤認を防ぐ (ウェイクアップワードやコマンドワードと重複することはできません。複数の単語は「|」で区切られます)

6.发音人配置(話者設定)

日本語の話者は櫻子さんのみです。

image.png

7.其它配置(その他設定)

image.png

8.个性化音频(パーソナライズ音声)

音声合成/読み上げを、文字列ではなくwav/mp3の音声ファイルで設定できます。日本語の音声合成は問題があるので、こちらの利用を検討した方がよいかもしれません。

image.png

こちらはmp3を登録した例。wavも対応しているらしいが、うまくアップロードできなかった。(フォーマットは16k/16ビット/1チャンネルと思われるが)

image.png

9.优化配置(最適化設定)

閾値等を詳細に設定できます。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?