# NPU 탑재 MCU로 온디바이스 음성 인식: STM32N6 음향 모델
NPU가 통합된 STM32N6 마이크로컨트롤러는 임의의 음성 인식을 위한 실시간 음향 모델링을 가능하게 합니다. 전력 소모는 단 0.215W에 불과하며, dev_clean에서 PER 5.3%, 500ms 오디오 처리에 52ms만 소요됩니다. int8 양자화 모델은 클라우드나 인터넷 없이 오프라인으로 작동해 소형 기기에 딱 맞습니다.
음성 인식 시스템 구조
시스템은 메모리와 정확도를 최적화하기 위해 세 가지 구성 요소로 나뉩니다:
- 음향 모델: 원시 오디오 신호를 음소 스트림으로 변환합니다. 이 자원 집약적인 부분은 STM32N6 NPU에서 실행됩니다.
- 디코더: 사전과 언어 문법을 사용해 음소를 단어로 그룹화합니다.
- 리스코어링: 맥락을 활용해 가설을 정제하여 정확한 결과를 높입니다.
우리는 음향 모델—핵심 부분—을 구현하고 테스트했습니다. 디코더와 리스코어링은 진행 중이며, 자원 소모가 적습니다.
데모 모드에서 모델은 임의의 구절을 실시간으로 처리합니다. 인터프리터가 룩업 테이블을 통해 음소를 단어로 매핑하며, 원시 음소와 해석된 단어를 함께 표시합니다. 현재 설정은 어휘를 제한하지만, 언어 모델링이 포함된 완전한 디코더는 모든 구절을 처리할 수 있습니다.
전력 소모 및 하드웨어 사양
활성 추론 중 총 전력은 조정 없이 0.215W입니다:
| 구성 요소 | 전력 소모 |
|----------------------------|-----------|
| NPU + Cortex-M55 | 160 mW |
| 외부 메모리 (Flash + PSRAM)| 45 mW |
| 외부 MCU 핀 | ~10 mW |
| 총계 | ~215 mW |
NPU 활용률은 10.4%이며, Cortex-M55는 멜-스펙트로그램에 거의 사용되지 않습니다. 코어 슬립 모드, 클럭 스로틀링, NPU 최대 부하 등의 최적화가 가능합니다. 웨이크워드 → 인식 → 슬립 시나리오에서 백그라운드 전력은 배터리 수명을 크게 연장합니다.
LibriSpeech와 온보드 마이크 녹음에서 생성된 멜-스펙트로그램은 노이즈 속에서도 음성 패턴을 유지합니다. 노이즈 필터링은 다음 작업입니다.
정확도 지표 및 성능
모델: 850만 매개변수, LibriSpeech로 훈련, int8 양자화.
| 지표 | 값 |
|--------------------------|----------|
| PER (dev_clean) | 5.3% |
| PER (dev_other) | 14.4% |
| 양자화 손실 (dev_other / dev_clean) | 0.4% / 0.15% |
| NPU 추론 (500ms 오디오) | 52 ms |
| 전체 지연 시간 | 985 ms |
PER(Phone Error Rate)은 음소 수준 오류를 측정합니다. 지표는 온디바이스에서 실행: 검증 데이터셋을 NPU로 처리하고 UART로 결과 출력. 지연 시간에는 예측을 위한 485ms "룩어헤드" 창이 포함됩니다.
경쟁 모델 비교
| 모델 | 크기 | PER (test_clean) | WER (dev_clean) |
|--------------------------|----------|------------------|-----------------|
| STM32N6 음향 모델 | 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 |
STM32N6 모델은 wav2vec/HuBERT의 1/11 크기로 5.51% PER을 달성합니다. 72개 음소로 MCU에서 실시간 실행—어려운 과제입니다. 디코더 적용 시 예상 WER: 8~16M 매개변수로 dev_other에서 16~25%.
자원 사용량 및 확장성
사용량: RAM 18%, NPU 10.4%. 모델 크기를 4배 늘리거나 병렬 작업 추가 여유가 충분합니다. 전력 조정으로 배터리 수명 더 연장 가능.
진행 중:
- 확률적 단어 선택 음소 디코더.
- 맥락 인식 수정 언어 모델.
- NPU 입력 전 노이즈 억제.
NPU 탑재 MCU 응용 분야
긴 음성 입력(100MB 이상 필요)에는 부적합하지만, 키워드 스포팅(KWS)을 능가: 임의 구절 처리.
- 스마트 홈: "거실 온도 올려줘" → 공간과 설정 추출.
- 데이터 입력: "혈압 132" → 숫자 + 맥락.
- 산업: 공작기계에서 "속도 20%".
- 의료: 모니터에서 "식후 혈당".
- 물류: "B12 선반 — 3박스".
- 운송: 오프라인 "기지로 이동".
- 장난감: 클라우드 없이 아이 음성.
- 보조 기술: 의지 음성 제어.
주요 요약
- STM32N6 음향 모델: dev_clean PER 5.3%, 0.215W, 실시간.
- 850만 매개변수, int8 양자화로 정확도 손실 미미.
- KWS 초월: 템플릿 아닌 임의 음성.
- 확장성: RAM 18%, NPU 10.4%.
- 최적 영역: 오프라인 명령 및 데이터 입력.
— Editorial Team
아직 댓글이 없습니다.