Speech Recognition On-Device AI Benchmark Whisper Moonshine Parakeet SenseVoice Qwen3 ASR Offline Transcription Android iOS macOS Windows

오프라인 음성 전사 벤치마크: Android/iOS/macOS/Windows에서 16개 모델 비교

Akinori Nakajima - VoicePing 8 분 읽기
오프라인 음성 전사 벤치마크: Android/iOS/macOS/Windows에서 16개 모델 비교

Android, iOS, macOS, Windows에서 16개 온디바이스 음성인식 모델과 9개 추론 엔진에 대한 종합 벤치마크

소스 코드:

개요

Android, iOS, macOS, Windows 전 플랫폼에서 16개 온디바이스 음성인식 모델을 9개 추론 엔진에 걸쳐 벤치마크하여 추론 속도(tok/s), 실시간 계수(RTF), 메모리 사용량을 측정했습니다. 본 벤치마크는 속도만 측정하며 전사 정확도(WER/CER)는 평가하지 않습니다. 주요 발견: 추론 엔진 선택에 따라 동일 모델의 성능이 51배까지 달라질 수 있으며(Android에서 sherpa-onnx vs whisper.cpp), Moonshine Tiny와 SenseVoice Small이 전 플랫폼에서 가장 빠른 추론을 달성하고, WhisperKit CoreML은 4GB iOS 기기에서 Whisper Tiny 이상 모델이 크래시합니다. 모든 벤치마크 앱과 결과는 오픈소스입니다.

동기

음성 기반 엣지 애플리케이션을 개발하는 개발자들은 조합 선택 문제에 직면합니다. 수십 개의 ASR 모델(31MB Whisper Tiny부터 1.8GB Qwen3 ASR까지), 여러 추론 엔진(ONNX Runtime, CoreML, whisper.cpp, MLX), 4개 이상의 타겟 플랫폼이 있으며, 각 조합이 크게 다른 속도와 메모리 특성을 보입니다. 기존 모델 벤치마크는 대부분 서버 GPU에서의 결과를 보고하며, 실제로 배포하는 소비자용 모바일 및 노트북 하드웨어에서의 결과가 아닙니다.

본 벤치마크는 배포 선택 문제에 직접 대응합니다. 각 타겟 플랫폼에서 어떤 모델+엔진 조합이 실시간 전사를 구현하는지, 메모리 제약은 어떠한지를 실측 데이터로 제시합니다.

방법론

Android, iOS, macOS 벤치마크는 JFK 취임 연설을 반복한 30초 WAV 파일(16kHz, 모노, PCM 16비트)을 사용합니다. Windows 벤치마크는 동일 음원의 11초 발췌본을 사용합니다(상세 내용은 Windows 섹션 참조).

측정 지표(속도만 해당 — 전사 정확도/WER는 측정하지 않음):

  • 추론 시간: 엔진 호출부터 결과 반환까지의 실측 시간
  • tok/s: 초당 출력 단어 수 (높을수록 빠름)
  • RTF: 실시간 계수 — 처리 시간과 오디오 길이의 비율 (1.0 미만 = 실시간보다 빠름)

테스트 기기:

기기RAMOS
Samsung Galaxy S10Exynos 98208 GBAndroid 12 (API 31)
iPad Pro 3세대A12X Bionic4 GBiOS 17+
MacBook AirApple M432 GBmacOS 15+
노트북Intel Core i5-1035G18 GBWindows (CPU 전용)

Android 결과

기기: Samsung Galaxy S10, Android 12, API 31

Android 추론 속도 — 초당 토큰 수

모델엔진파라미터크기지원 언어추론 시간tok/sRTF결과
Moonshine Tinysherpa-onnx27M~125 MB영어1,363 ms42.550.05
SenseVoice Smallsherpa-onnx234M~240 MBzh/en/ja/ko/yue1,725 ms33.620.06
Whisper Tinysherpa-onnx39M~100 MB99개 언어2,068 ms27.080.07
Moonshine Basesherpa-onnx61M~290 MB영어2,251 ms25.770.08
Parakeet TDT 0.6B v3sherpa-onnx600M~671 MB유럽 25개 언어2,841 ms20.410.09
Android Speech (오프라인)SpeechRecognizer시스템내장50개 이상 언어3,615 ms1.380.12
Android Speech (온라인)SpeechRecognizer시스템내장100개 이상 언어3,591 ms1.390.12
Zipformer Streamingsherpa-onnx streaming20M~73 MB영어3,568 ms16.260.12
Whisper Base (.en)sherpa-onnx74M~160 MB영어3,917 ms14.810.13
Whisper Basesherpa-onnx74M~160 MB99개 언어4,038 ms14.360.13
Whisper Smallsherpa-onnx244M~490 MB99개 언어12,329 ms4.700.41
Qwen3 ASR 0.6B (ONNX)ONNX Runtime INT8600M~1.9 GB30개 언어15,881 ms3.650.53
Whisper Turbosherpa-onnx809M~1.0 GB99개 언어17,930 ms3.230.60
Whisper Tiny (whisper.cpp)whisper.cpp GGML39M~31 MB99개 언어105,596 ms0.553.52
Qwen3 ASR 0.6B (CPU)Pure C/NEON600M~1.8 GB30개 언어338,261 ms0.1711.28
Omnilingual 300Msherpa-onnx300M~365 MB1,600개 이상 언어44,035 ms0.051.47

16개 중 15개 통과 — OOM 0건. 유일한 실패(Omnilingual 300M)는 영어 언어 감지 관련 알려진 모델 한계입니다.

Android 엔진 비교: 동일 모델, 다른 백엔드

Whisper Tiny 모델에서 추론 백엔드에 따라 극적인 성능 차이가 발생합니다.

백엔드추론 시간tok/s속도 배율
sherpa-onnx (ONNX)2,068 ms27.0851배
whisper.cpp (GGML)105,596 ms0.551배 (기준)

동일 Whisper Tiny 모델에서 Android의 sherpa-onnx가 whisper.cpp보다 51배 빠릅니다 — 추론 런타임 선택이 얼마나 중요한지 보여주는 핵심 발견입니다.

iOS 결과

기기: iPad Pro 3세대, A12X Bionic, 4 GB RAM

iOS 추론 속도 — 초당 토큰 수

모델엔진파라미터크기지원 언어tok/s상태
Parakeet TDT v3FluidAudio (CoreML)600M~600 MB (CoreML)유럽 25개 언어181.8
Zipformer 20Msherpa-onnx streaming20M~46 MB (INT8)영어39.7
Whisper Tinywhisper.cpp39M~31 MB (GGML Q5_1)99개 언어37.8
Moonshine Tinysherpa-onnx offline27M~125 MB (INT8)영어37.3
Moonshine Basesherpa-onnx offline61M~280 MB (INT8)영어31.3
Whisper BaseWhisperKit (CoreML)74M~150 MB (CoreML)영어19.6❌ 4GB OOM
SenseVoice Smallsherpa-onnx offline234M~240 MB (INT8)zh/en/ja/ko/yue15.6
Whisper Basewhisper.cpp74M~57 MB (GGML Q5_1)99개 언어13.8
Whisper SmallWhisperKit (CoreML)244M~500 MB (CoreML)99개 언어6.3❌ 4GB OOM
Qwen3 ASR 0.6BPure C (ARM NEON)600M~1.8 GB30개 언어5.6
Qwen3 ASR 0.6B (ONNX)ONNX Runtime (INT8)600M~1.6 GB (INT8)30개 언어5.4
Whisper TinyWhisperKit (CoreML)39M~80 MB (CoreML)99개 언어4.5
Whisper Smallwhisper.cpp244M~181 MB (GGML Q5_1)99개 언어3.9
Whisper Large v3 Turbo (압축)WhisperKit (CoreML)809M~1 GB (CoreML)99개 언어1.9❌ 4GB OOM
Whisper Large v3 TurboWhisperKit (CoreML)809M~600 MB (CoreML)99개 언어1.4❌ 4GB OOM
Whisper Large v3 Turbowhisper.cpp809M~547 MB (GGML Q5_0)99개 언어0.8⚠️ RTF >1
Whisper Large v3 Turbo (압축)whisper.cpp809M~834 MB (GGML Q8_0)99개 언어0.8⚠️ RTF >1

WhisperKit OOM 경고: 4GB 기기에서 WhisperKit CoreML은 Whisper Base 이상 모델에서 크래시(OOM)가 발생합니다. OOM 표시된 모델의 tok/s 값은 크래시 전에 측정된 것으로, 완전한 성공적 실행을 나타내지 않습니다. whisper.cpp는 동일 모델을 OOM 없이 처리하지만 처리량은 낮습니다.

macOS 결과

기기: MacBook Air M4, 32 GB RAM

macOS 추론 속도 — 초당 토큰 수

모델엔진파라미터크기지원 언어tok/s상태
Parakeet TDT v3FluidAudio (CoreML)600M~600 MB (CoreML)유럽 25개 언어171.6
Moonshine Tinysherpa-onnx offline27M~125 MB (INT8)영어92.2
Zipformer 20Msherpa-onnx streaming20M~46 MB (INT8)영어77.4
Moonshine Basesherpa-onnx offline61M~280 MB (INT8)영어59.3
SenseVoice Smallsherpa-onnx offline234M~240 MB (INT8)zh/en/ja/ko/yue27.4
Whisper TinyWhisperKit (CoreML)39M~80 MB (CoreML)99개 언어24.7
Whisper BaseWhisperKit (CoreML)74M~150 MB (CoreML)영어23.3
Apple SpeechSFSpeechRecognizer시스템내장50개 이상 언어13.1
Whisper SmallWhisperKit (CoreML)244M~500 MB (CoreML)99개 언어8.7
Qwen3 ASR 0.6B (ONNX)ONNX Runtime (INT8)600M~1.6 GB (INT8)30개 언어8.0
Qwen3 ASR 0.6BPure C (ARM NEON)600M~1.8 GB30개 언어5.7
Whisper Large v3 TurboWhisperKit (CoreML)809M~600 MB (CoreML)99개 언어1.9
Whisper Large v3 Turbo (압축)WhisperKit (CoreML)809M~1 GB (CoreML)99개 언어1.5
Qwen3 ASR 0.6B (MLX)MLX (Metal GPU)600M~400 MB (4-bit)30개 언어미측정
Omnilingual 300Msherpa-onnx offline300M~365 MB (INT8)1,600개 이상 언어0.03❌ 영어 미지원

macOS에서 OOM 문제 없음 — 32GB RAM으로 WhisperKit CoreML 기반 Whisper Large v3 Turbo를 포함한 모든 모델이 정상 실행됩니다.

Windows 결과

기기: Intel Core i5-1035G1 @ 1.00 GHz (4C/8T), 8 GB RAM, CPU 전용

Windows 추론 속도 — 초당 단어 수

모델엔진파라미터크기추론 시간Words/sRTF
Moonshine Tinysherpa-onnx offline27M~125 MB435 ms50.60.040
SenseVoice Smallsherpa-onnx offline234M~240 MB462 ms47.60.042
Moonshine Basesherpa-onnx offline61M~290 MB534 ms41.20.049
Parakeet TDT v2sherpa-onnx offline600M~660 MB1,239 ms17.80.113
Zipformer 20Msherpa-onnx streaming20M~73 MB1,775 ms12.40.161
Whisper Tinywhisper.cpp39M~80 MB2,325 ms9.50.211
Omnilingual 300Msherpa-onnx offline300M~365 MB2,360 ms0.215
Whisper Basewhisper.cpp74M~150 MB6,501 ms3.40.591
Qwen3 ASR 0.6Bqwen-asr (C)600M~1.9 GB13,359 ms1.61.214
Whisper Smallwhisper.cpp244M~500 MB21,260 ms1.01.933
Whisper Large v3 Turbowhisper.cpp809M~834 MB92,845 ms0.28.440
Windows SpeechWindows Speech APIN/A0 MB

11초 JFK 취임 연설 발췌 오디오(22단어)로 테스트. 모든 모델은 x86_64 CPU에서만 동작(i5-1035G1, 4C/8T) — GPU 가속 없음. Parakeet TDT v2는 빠른 추론(17.8 words/s)과 구두점 출력을 모두 지원하는 점이 주목할 만합니다.

한계

  • 속도만 측정: 본 벤치마크는 추론 속도만 측정하며 전사 정확도(WER/CER)는 평가하지 않습니다. 정확도는 모델, 언어, 오디오 조건에 따라 다르므로 개발자는 대상 사용 사례에 맞게 별도로 평가해야 합니다.
  • 단일 오디오 샘플: 모든 플랫폼에서 JFK 취임 연설 녹음 하나를 사용합니다. 다른 오디오 특성(노이즈, 억양, 분야별 어휘)에서는 결과가 달라질 수 있습니다.
  • Windows 클립 길이: Windows는 다른 플랫폼의 30초 대비 11초 오디오 클립을 사용하므로, 크로스 플랫폼 속도 비교 시 이 차이를 고려해야 합니다.
  • iOS OOM 값: OOM 표시된 iOS 모델의 tok/s 값은 크래시 전에 측정된 것으로 완전한 성공적 실행을 나타내지 않습니다.

향후 연구

  • 정확도 벤치마크 추가: 다국어 데이터셋과 잡음 환경에서의 WER/CER을 속도 지표와 함께 측정.
  • 오디오 조건 확대: 단일 음성 샘플 대신 장시간 오디오, 화자 중첩, 분야별 어휘(회의, 콜센터, 산업용) 추가.
  • 양자화 전수 조사: 엔진 전반에 걸친 INT8/INT4 및 혼합 정밀도 변형 벤치마크로 메모리/속도/정확도 트레이드오프 분석.
  • 소형 Qwen3-ASR 모델: 속도 향상이 품질 저하를 정당화하는지 검증하기 위한 Qwen3-ASR-0.6B 및 향후 1B 미만 체크포인트 테스트.
  • 전력 및 발열 프로파일링: 지속적 온디바이스 전사 워크로드에서의 배터리 소모 및 지속 성능 측정.

결론

온디바이스 음성 전사는 주요 모바일 및 데스크톱 플랫폼 전반에서 실시간을 초과하는 속도를 달성합니다. 추론 엔진의 선택은 모델 선택만큼 중요하며, Android에서는 sherpa-onnx가, Apple 플랫폼에서는 CoreML이 단순 CPU 추론 대비 10~50배의 속도 향상을 제공합니다. 가장 빠른 모델 중에서는 Moonshine Tiny(영어) 또는 Whisper Tiny(다국어)와 적절한 엔진의 조합이 최소한의 메모리 비용으로 실시간 전사를 달성합니다. 모델 선택 시 본 벤치마크에서 측정하지 않은 전사 정확도(WER)도 함께 고려해야 합니다.

참고 자료

저장소:

모델:

추론 엔진:

이 기사 공유

VoicePing 무료로 시작하기

AI 번역으로 언어 장벽을 넘어보세요. 지금 무료로 시작하세요.

무료로 시작