Oído: Open-Vocabulary Speech Recognition on a $5 Microcontroller without a Neural Accelerator

📄 arXiv: 2610.13447v1 📥 PDF

作者: Daniel Varela Sánchez, Guillermo Martín-Coello Juárez

分类: cs.SD, cs.CL, eess.AS

发布日期: 2026-10-09

备注: 11 pages. Code, models and raw board measurements: https://github.com/lokutor-ai/oido


💡 一句话要点

提出Oído以实现低成本微控制器上的开放词汇语音识别

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)

关键词: 语音识别 微控制器 开放词汇 Conformer-CTC 低成本 嵌入式系统 机器学习

📋 核心要点

  1. 现有低成本微控制器的语音识别能力受限,通常只能进行关键词检测,无法实现开放词汇识别。
  2. Oído通过在ESP32-S3微控制器上实现Conformer-CTC模型,提供了一种高效的开放词汇语音识别解决方案。
  3. 实验结果表明,Oído在LibriSpeech数据集上的字错误率显著低于现有识别器,且在实际应用中表现良好。

📝 摘要(中文)

在低成本微控制器上,语音识别通常仅限于关键词检测或固定命令列表。本文提出了Oído,一个在ESP32-S3微控制器上运行的开放词汇英语语音识别推理引擎。Oído执行一个13M参数的Conformer-CTC模型,使用int8权重和动态int8激活,能够在芯片的SIMD指令上高效运行。实验结果显示,在LibriSpeech数据集上,Oído的字错误率(WER)为3.70%/8.23%,并且在使用1.3M参数的语言模型时,WER进一步降低至3.33%/7.15%。该系统在实际噪声和混响环境下表现优异,且在物理板上运行时,转录延迟为音频时长的1.97倍。代码和模型已公开发布。

🔬 方法详解

问题定义:本文旨在解决低成本微控制器上开放词汇语音识别的挑战,现有方法通常只能处理固定命令,无法满足更广泛的应用需求。

核心思路:Oído的核心思路是利用ESP32-S3微控制器的计算能力,运行一个经过优化的Conformer-CTC模型,以实现高效的语音识别。通过使用int8权重和动态激活,Oído能够在资源受限的环境中进行推理。

技术框架:Oído的整体架构包括数据输入、模型推理和输出三个主要模块。输入模块负责音频数据的采集,模型推理模块执行Conformer-CTC模型,输出模块则生成文本转录。

关键创新:Oído的主要创新在于其在没有神经加速器的情况下,成功在微控制器上实现开放词汇语音识别,且字错误率显著低于同类产品。

关键设计:在技术细节上,Oído使用了13M参数的Conformer-CTC模型,采用int8权重和动态激活,优化了内存和带宽的使用,确保在ESP32-S3上高效运行。

🖼️ 关键图片

img_0
img_1
img_2

📊 实验亮点

Oído在LibriSpeech数据集上的字错误率为3.70%/8.23%,在使用1.3M参数语言模型时进一步降低至3.33%/7.15%。与同芯片的厂商识别器相比,Oído减少了2.3-2.8倍的错误率,且在实际噪声和混响环境下表现优异。

🎯 应用场景

Oído的研究成果具有广泛的应用潜力,特别是在智能家居、可穿戴设备和低成本机器人等领域。通过实现开放词汇的语音识别,Oído能够提升人机交互的自然性和灵活性,推动语音技术在更多场景中的应用。

📄 摘要(原文)

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.