新着研究 / Audio
小型マイコンで自由語彙の音声認識を動かすOído、精度を保つ量子化と実機の待ち時間
Oído
概要
- ニューラル加速器のないESP32-S3で、英語の自由語彙認識を端末内で実行する。
- 八ビット量子化とメモリ帯域を意識した処理で、LibriSpeechの誤り率を全精度に近く保った。
- 実機はまだ音声の速度に追いつかず、ストリーミングも最終文の待ち時間と精度の交換関係を持つ。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、Oídoの仕組み
- 01マイクの音声
- 02音響特徴へ変換
- 03整数量子化で推論
- 04端末内で文字化
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
低価格のマイコンで動く音声認識は、決められた単語や命令の判定に限られがちだ。自由な言い回しを扱うには外部へ音声を送る構成が必要になり、通信や継続的な処理費用が発生する。
Oídoは小型端末だけで自由語彙の文字起こしを行う推論エンジンだ。自由語彙とは、事前に登録した命令一覧だけに出力を制限しないことを指す。モデルの計算量に加え、少ない内部メモリと重みの転送帯域をどう使うかが課題になる。
手法
入力音声から音響特徴を作り、約1,300万パラメータのConformer-CTCを実行する。Conformerは時間的な局所特徴と離れた音の関係を組み合わせるモデルだ。重み、各フレームの中間値、注意計算を八ビット整数で扱い、チップの並列整数命令を利用する。量子化は数値の表現を小さくして計算と保存を軽くする操作である。
処理を時間ブロックにまとめ、重みをフラッシュや外部メモリから繰り返し読む量を減らす。現在の計算部分は内部メモリに置き、端末内の小型言語モデルも文字列の選択へ使える。ストリーミング版では過去の状態を保持して部分文を表示するが、実機が処理に追いつかない分の未処理音声は残る。
新規性
専用のニューラル加速器を持たない一般的なESP32-S3で、小型の自由語彙認識モデルを実行する点が中心だ。モデルを小さくするだけでなく、重みの配置と帯域に合わせたスケジュールを設計している。
整数計算の精度、エミュレーションの一致、実機の処理速度を分けて報告する。ストリーミングでも最終結果が出るまでの実測を示し、命令数から推定した速度だけで利用可能性を主張しない。
従来手法との違い
LibriSpeechでは八ビット版が全精度モデルとの差を小さく保つ。同じチップのメーカー認識器や、ノートPCで全精度動作するWhisper tiny.en、Moonshine tinyなどとも誤り率を比較している。
ただし比較の実行環境や試験部分集合は異なる。四ビット化は保存を減らすが、単純な学習後量子化では誤りが増え、量子化を意識した追加学習が必要だった。小さい形式が常に同じ精度と速度を得るわけではない。
実験結果
著者らの八ビット計算によるLibriSpeech test-clean/test-otherの単語誤り率は3.70%と8.23%で、全精度との差は最大0.12ポイントだった。端末内言語モデルを加えると3.33%と7.15%になる。単語誤り率は置換、削除、挿入の誤りを数える指標だ。
実機の一コア処理は音声時間の約1.97倍を要し、四秒の命令の終了後に約8.7秒待つ。ストリーミング版は3.6〜10.6秒の音声に対し最終文まで4.1〜11.1秒で、誤り率は4.86%と11.03%だった。本文の計算精度試験と実機遅延の条件は区別されている。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案は、通信が不安定な場所で短い英語の作業メモを端末内で文字化する道具だ。入力は発話、出力は確認可能な文字列とする。発話後に表示を読み、作業者が誤りを直して記録へ送る流れを想定する。
即時反応を要する操作命令より、待ち時間を許容できる記録作業から試す。端末内処理で音声を外へ送らない構成は選べるが、製品全体の保存や送信の設計は別に必要になる。日本語への対応はこの結果から保証できない。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案では、論文と同じチップ条件で短い発話を用意し、元の認識器とOídoを比較する。八ビットの一括処理を基準にし、ストリーミングと四ビット版をそれぞれ追加して精度と待ち時間を測る。
実際の専門語、機械音、残響を含む録音で単語誤り率と修正時間を記録する。音声の長さごとの最終表示遅延、メモリ使用量も確認する。部分表示が出ることと、確定文字列が業務に間に合うことを別の基準で判断する。
限界と課題
著者らは実機で二コアのスケジュールが誤った結果を出すため無効にしている。現状は実時間認識ではなく、ストリーミングでも音声に追いつけない分だけ待ち時間が増える。競合する話者や強い残響も難しい条件だ。
スペイン語の比較は学習領域が一致する提案モデルとゼロショットのWhisperという条件差がある。編集上は、日本語学習の要件、長い連続発話、電力、現場用語の誤りを確認したい。モデルやコードの公開は、製品への適合を単独で保証しない。
出典
元のタイトル・要旨を確認する(英語)
Oído: Open-Vocabulary Speech Recognition on a $5 Microcontroller without a Neural Accelerator
Speech recognition on low-cost microcontrollers is, in practice, limited to keyword spotting or a fixed list of commands. We present Oído, an inference engine that runs open-vocabulary English speech recognition entirely on an ESP32-S3 (240 MHz dual-core Xtensa LX7, 512 KB of SRAM, 8 MB of PSRAM, 16 MB of flash, no neural accelerator). Oído executes a 13M-parameter Conformer-CTC model with int8 weights, per-frame dynamic int8 activations and int8 attention on the chip's SIMD instructions, with a schedule designed around flash and PSRAM bandwidth. On LibriSpeech test-clean/test-other the on-device arithmetic reaches 3.70%/8.23% word error rate (WER), within 0.12 points of full precision, and 3.33%/7.15% with an on-chip 1.3M-parameter language model; a transducer head gives 2.99%/6.67% and an int4 variant fits in 8.3 MB. This is 2.3-2.8x fewer errors than the vendor's recognizer on the same chip, and fewer than Whisper tiny.en and Moonshine tiny in full precision on a laptop, including in real noise and reverberation. Measured on a physical board, the firmware runs at 1.97x the duration of the audio on one core, with transcripts identical to an instruction-exact emulator: accurate, but not yet real time (a 4 s command is transcribed about 8.7 s after it ends). The two-core schedule gives wrong results on silicon and is disabled. A streaming variant shows partial text while the speaker talks and delivers the final text 4.1-11.1 s after clips of 3.6-10.6 s (7.2-22.4 s in utterance mode) at 4.86%/11.03% WER; a Spanish model makes 34-60% fewer errors than multilingual Whisper tiny. Code and models are released.
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。収集:2026-10-12




