Zpět na domů

NPU na MCU pro řeč: STM32N6 a akustika

Článek popisuje implementaci akustického modelu rozpoznávání řeči na mikrokontroléru STM32N6 s NPU. Dosaženo PER 5,3% na dev_clean při spotřebě 0,215 W a inferenci 52 ms. Srovnání s velkými modely, plány na dekodér a použití v autonomních zařízeních.

Rozpoznávání řeči na mikrokontroléru: STM32N6 NPU v akci
Advertisement 728x90

Mikrokontroléry s NPU pro lokální rozpoznávání řeči: akustický model na STM32N6

Mikrokontrolér STM32N6 s integrovaným NPU umožňuje realizovat akustický model rozpoznávání libovolné řeči v reálném čase. Spotřeba energie je pouze 0,215 W, PER na dev_clean činí 5,3 %, inference na 500 ms audia zabere 52 ms. Model je kvantizován na int8, funguje bez cloudu a internetu, ideální pro kompaktní zařízení.

Architektura systému rozpoznávání

Systém je rozdělen do tří komponent pro optimalizaci paměti a přesnosti:

  • Akustický model: převádí surový audiosignál do proudu fonémů. Nejnáročnější část, realizovaná na NPU STM32N6.
  • Dekodér: agreguje fonémy do slov podle slovníku a gramatiky jazyka.
  • Rescoring: koriguje hypotézy s ohledem na kontext pro zvýšení pravděpodobnosti správného výsledku.

Realizován a otestován byl akustický model – základní prvek. Dekodér a rescoring jsou ve vývoji, jsou kompaktnější a vyžadují méně zdrojů.

Google AdInline article slot

V demo režimu model zpracovává libovolné fráze v reálném čase. Interpretátor mapuje fonémy na slova podle tabulky, zobrazuje surové fonémy i interpretovaná slova. Současný přístup omezuje slovník; plnohodnotný dekodér s jazykovým modelem rozšíří možnosti na libovolné fráze.

Spotřeba energie a hardwarové parametry

Při aktivním inference je celková spotřeba 0,215 W bez optimalizací:

| Komponenta | Spotřeba |

Google AdInline article slot

|-----------------------------|----------|

| NPU + Cortex-M55 | 160 mW |

| Vnější paměť (Flash + PSRAM)| 45 mW |

Google AdInline article slot

| Vnější piny MCU | ~10 mW |

| Celkem | ~215 mW |

NPU je zatíženo na 10,4 %, Cortex-M55 se používá minimálně pro mel-spektrogram. Možné optimalizace: spánkový režim jádra, snížení frekvence, plné zatížení NPU. Ve scénáři wake-word → rozpoznání → sleep je pozadí spotřeba minimální, zajišťuje dlouhou autonomii.

Mel-spektrogramy z LibriSpeech a nahrávky z mikrofonu desky zachovávají strukturu řeči i přes šum. Filtrace šumu je dalším krokem.

Metriky přesnosti a výkon

Model: 8,5 mil. parametrů, trénován na LibriSpeech, kvantizován na int8.

| Metrika | Hodnota |

|----------------------------|-----------|

| PER (dev_clean) | 5,3 % |

| PER (dev_other) | 14,4 % |

| Ztráta při kvantizaci (dev_other / dev_clean) | 0,4 % / 0,15 % |

| Inference NPU (500 ms audia) | 52 ms |

| Celková latence | 985 ms |

PER (Phone Error Rate) – chyby na úrovni fonémů. Metriky získány na zařízení: validační dataset prošel NPU, výsledky přes UART. Latence zahrnuje 485 ms „okno do budoucnosti“ pro predikci.

Srovnání s konkurencí

| Model | Velikost | PER (test_clean) | WER (dev_clean) |

|---------------------------|-----------|------------------|-----------------|

| STM32N6 acoustics | 8,5M | 5,51 | — |

| wav2vec 2.0 Base | 95,04M | 5,74 | 6,43 |

| HuBERT Base | 94,68M | 5,41 | 6,42 |

| QuartzNet 5x5 | 6,7M | — | 5,39 |

Model na STM32N6 dosahuje PER 5,51 % při velikosti 11× menší než wav2vec/HuBERT. Běží v reálném čase na MCU, používá 72 fonémů – náročná úloha. Očekávaný WER s dekodérem: 16–25 % na dev_other při 8–16M parametrech.

Zdroje a škálovatelnost

Obsazeno: RAM – 18 %, NPU – 10,4 %. Rezerva umožňuje zvětšit model 4×, přidat paralelní úlohy. Optimalizace spotřeby prodlouží autonomii.

Ve vývoji:

  • Fonémový dekodér s pravděpodobnostním výběrem slov.
  • Jazykový model pro kontextovou korekci.
  • Potlačení šumu před vstupem do NPU.

Aplikace MCU s NPU

Není pro dlouhou diktovku (>100 MB), ale překonává KWS: rozpoznává libovolné fráze.

  • Chytrá domácnost: „Udělej v obýváku tepleji" → extrakce místnosti, parametru.
  • Vstup dat: „Tlak 132" → číslo + kontext.
  • Průmysl: „Rychlost 20 %" u stroje.
  • Zdraví: „Glukóza po jídle" v tlakoměru.
  • Logistika: „Police B12 – 3 krabice".
  • Doprava: „Na základnu" bez internetu.
  • Hračky: Dětská řeč bez cloudu.
  • Adaptivní zařízení: Hlasové ovládání protéz.

Klíčové body

  • Akustický model na STM32N6: PER 5,3 % (dev_clean), 0,215 W, reálný čas.
  • Velikost 8,5M parametrů, int8 kvantizace s minimálními ztrátami.
  • Překonává KWS: libovolná řeč, ne šablony.
  • Škálovatelné: RAM 18 %, NPU 10,4 % zatížení.
  • Níše: autonomní příkazy, vstup dat bez cloudu.

— Editorial Team

Advertisement 728x90

Číst dál