@@ -13,6 +13,7 @@ enum ModelRegistry {
1313 struct ASRModel {
1414 let id : String
1515 let name : String
16+ let description : String
1617 let url : URL
1718 let archiveType : ArchiveType
1819 let framework : InferenceFramework
@@ -22,65 +23,74 @@ enum ModelRegistry {
2223 /// Default model used during onboarding.
2324 static let defaultModelId = " whisperkit-tiny.en "
2425
25- /// All available ASR models (tar.gz for fast native gzip extraction on iOS/macOS).
26+ /// Curated ASR models with consumer-friendly names (tar.gz for fast native gzip extraction on iOS/macOS).
2627 static let asrModels : [ ASRModel ] = [
2728 // ─── WhisperKit (Apple Neural Engine via Core ML) ───────────────
28- // Optimized: runs on the Neural Engine, freeing CPU for other tasks.
29- // Lower memory footprint and better battery efficiency.
3029 ASRModel (
3130 id: " whisperkit-tiny.en " ,
32- name: " Whisper Tiny EN " ,
31+ name: " Fast " ,
32+ description: " Fastest transcription on Apple Neural Engine — low battery and memory. Best for quick notes. " ,
3333 url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/whisperkit-tiny.en.tar.gz " ) !,
3434 archiveType: . tarGz,
35- framework: . whisperKit ,
35+ framework: . whisperKitCoreML ,
3636 sizeBytes: 70_000_000
3737 ) ,
3838 ASRModel (
3939 id: " whisperkit-base.en " ,
40- name: " Whisper Base EN " ,
40+ name: " Accurate " ,
41+ description: " Higher accuracy on Neural Engine. Uses more memory. Best for longer dictation. " ,
4142 url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/whisperkit-base.en.tar.gz " ) !,
4243 archiveType: . tarGz,
43- framework: . whisperKit ,
44+ framework: . whisperKitCoreML ,
4445 sizeBytes: 134_000_000
4546 ) ,
4647
4748 // ─── ONNX (CPU via sherpa-onnx) ────────────────────────────────
48- // CPU-intensive: runs entirely on CPU cores.
49- // Higher memory usage and battery consumption.
5049 ASRModel (
5150 id: " asr-moonshine-tiny-en-int8 " ,
52- name: " Moonshine Tiny EN (int8) " ,
51+ name: " Compact (CPU) " ,
52+ description: " Quantized int8 model on CPU. Good if Neural Engine is busy. " ,
5353 url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-moonshine-tiny-en-int8.tar.gz " ) !,
5454 archiveType: . tarGz,
5555 framework: . onnx,
5656 sizeBytes: 118_000_000
5757 ) ,
58- ASRModel (
59- id: " asr-moonshine-base-en-int8 " ,
60- name: " Moonshine Base EN (int8) " ,
61- url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-moonshine-base-en-int8.tar.gz " ) !,
62- archiveType: . tarGz,
63- framework: . onnx,
64- sizeBytes: 273_000_000
65- ) ,
6658 ASRModel (
6759 id: " sherpa-onnx-whisper-tiny.en " ,
68- name: " Whisper Tiny EN " ,
60+ name: " Whisper CPU " ,
61+ description: " Standard Whisper on CPU. Maximum device compatibility. " ,
6962 url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-whisper-tiny.en.tar.gz " ) !,
7063 archiveType: . tarGz,
7164 framework: . onnx,
7265 sizeBytes: 75_000_000
7366 ) ,
74- ASRModel (
75- id: " asr-parakeet-tdt-ctc-110m-en-int8 " ,
76- name: " Parakeet TDT-CTC 110M EN (int8) " ,
77- url: URL ( string: " https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-nemo-parakeet_tdt_ctc_110m-en-36000-int8.tar.gz " ) !,
78- archiveType: . tarGz,
79- framework: . onnx,
80- sizeBytes: 126_000_000
81- ) ,
67+
68+ // ─── Commented out: too heavy or niche for consumer use ────────
69+ // ASRModel(
70+ // id: "asr-moonshine-base-en-int8",
71+ // name: "Moonshine Base EN (int8)",
72+ // description: "Larger Moonshine model. 273 MB — heavy for most devices.",
73+ // url: URL(string: "https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-moonshine-base-en-int8.tar.gz")!,
74+ // archiveType: .tarGz,
75+ // framework: .onnx,
76+ // sizeBytes: 273_000_000
77+ // ),
78+ // ASRModel(
79+ // id: "asr-parakeet-tdt-ctc-110m-en-int8",
80+ // name: "Parakeet TDT-CTC 110M EN (int8)",
81+ // description: "Niche NVIDIA Parakeet model.",
82+ // url: URL(string: "https://github.com/RunanywhereAI/sherpa-onnx/releases/download/runanywhere-models-v2/sherpa-onnx-nemo-parakeet_tdt_ctc_110m-en-36000-int8.tar.gz")!,
83+ // archiveType: .tarGz,
84+ // framework: .onnx,
85+ // sizeBytes: 126_000_000
86+ // ),
8287 ]
8388
89+ /// Look up the consumer-facing description for a model ID.
90+ static func description( for modelId: String ) -> String ? {
91+ asrModels. first { $0. id == modelId } ? . description
92+ }
93+
8494 /// Register all ASR models with the RunAnywhere SDK.
8595 static func registerAll( ) {
8696 for model in asrModels {
0 commit comments