diff --git a/app/audio.py b/app/audio.py index c430f53..e086b00 100644 --- a/app/audio.py +++ b/app/audio.py @@ -72,7 +72,10 @@ async def normalize(self, source: Path, destination: Path, maximum_seconds: int) destination.unlink(missing_ok=True) raise InvalidAudioError(_safe_ffmpeg_message(stderr)) try: - self._validate_wave(destination, maximum_seconds) + # Reading the whole PCM file and summing its squares is tens of + # milliseconds of pure CPU for a minute of audio. On the event loop + # that stalls every other request in flight, so it runs on a worker. + await asyncio.to_thread(self._validate_wave, destination, maximum_seconds) except Exception: destination.unlink(missing_ok=True) raise @@ -105,12 +108,26 @@ def _check_wave_properties(self, recording: wave.Wave_read, maximum_seconds: int def _check_silence(self, samples: array[int]) -> None: if not samples: raise InvalidAudioError("Recording contains no audio frames.") - energy = sum(sample * sample for sample in samples) - rms = math.sqrt(energy / len(samples)) - if rms < SILENCE_RMS_THRESHOLD: + if _root_mean_square(samples) < SILENCE_RMS_THRESHOLD: raise SilentAudioError("Recording appears to be silent.") +def _root_mean_square(samples: array[int]) -> float: + """RMS amplitude, vectorized when numpy is present. + + numpy arrives with every engine extra but the core install does without it, + so the pure-Python sum stays as the fallback rather than becoming a new + hard dependency of the gateway. + """ + try: + import numpy + except ImportError: + energy = sum(sample * sample for sample in samples) + return math.sqrt(energy / len(samples)) + block = numpy.frombuffer(samples, dtype=numpy.int16).astype(numpy.float64) + return float(numpy.sqrt(numpy.square(block).mean())) + + def validate_audio_upload_headers( content_type: str | None, content_length: int | None, max_bytes: int ) -> str: diff --git a/app/catalog.py b/app/catalog.py index f6fe4bf..3d883ad 100644 --- a/app/catalog.py +++ b/app/catalog.py @@ -112,6 +112,24 @@ MOONSHINE_KO_SIZE_BYTES = 71_815_486 MOONSHINE_UK_SIZE_BYTES = 141_001_214 DISTIL_LARGE_V3_SIZE_BYTES = 1_515_408_824 +FASTER_WHISPER_LARGE_V3_TURBO_SIZE_BYTES = 1_621_669_956 +FASTER_WHISPER_LARGE_V3_SIZE_BYTES = 3_090_839_273 +FASTER_WHISPER_MEDIUM_SIZE_BYTES = 1_530_575_217 +FASTER_WHISPER_MEDIUM_EN_SIZE_BYTES = 1_530_460_562 +ACCURATE_QUALITY = "Accurate" +# Turbo is not the most accurate Whisper — the Open ASR Leaderboard puts it at +# 6.36 average WER against full Large v3's 5.78 — so it must not claim to be in +# a picker that also offers Large v3 and the Q5 build of those same weights. +TURBO_QUALITY = "Large-model accuracy · fast decoder" +WHISPERKIT_COMPRESSED_LARGE_ID = "whisperkit:openai_whisper-large-v3-v20240930_626MB" +DISTIL_LARGE_V35_SIZE_BYTES = 1_516_487_390 +WHISPER_TURBO_REPLACEMENT_ID = "whisper.cpp:ggml-large-v3-turbo.bin" +WHISPER_TURBO_RETIREMENT_REASON = ( + "Whisper Large v3 Turbo replaces this tier: the same encoder with four decoder layers " + "instead of 32, so it is smaller and several times faster. It is not more accurate — the " + "Open ASR Leaderboard puts Turbo about 0.6 WER points behind full Large v3 on English " + "and up to 2 behind on German — but Medium trails both, so nothing here is given up." +) HINGLISH_MODEL_SIZE_BYTES = 574_041_195 # Qwen3-ASR's upstream card lists 30 languages plus Chinese dialects. The @@ -253,6 +271,15 @@ def _pin_model(cls, model: CatalogModel, record: Any) -> CatalogModel: class _WhisperModelBuilders: + @classmethod + def retirement(cls, kwargs: dict[str, Any]) -> dict[str, Any]: + """The retirement triple, so each Whisper builder spells it once.""" + return { + "retired": bool(kwargs.get("retired", False)), + "replacement_id": kwargs.get("replacement_id"), + "retirement_reason": kwargs.get("retirement_reason"), + } + @classmethod def whisper_language_codes(cls, languages: str) -> tuple[str, ...]: return (ENGLISH_LANGUAGE_CODE,) if languages == ENGLISH_ONLY else WHISPER_LANGUAGES @@ -289,6 +316,7 @@ def whisper_cpp( ), decoder_language_code=kwargs.get("decoder_language_code"), license_name=str(kwargs.get("license_name", "See model source")), # noqa: WPS226 + **cls.retirement(kwargs), ) @classmethod @@ -314,6 +342,7 @@ def whisperkit( description="Core ML Whisper model optimized for Apple silicon.", source="WhisperKit", language_codes=cls.whisper_language_codes(cls._languages(args)), + **cls.retirement(kwargs), ) @classmethod @@ -333,7 +362,7 @@ def faster_whisper( languages=cls._languages(args), quality=str(args[2]), minimum_ram_gb=float(args[3]), - huggingface_repo=cls._faster_whisper_repo(key), + huggingface_repo=str(kwargs.get("repository") or cls._faster_whisper_repo(key)), huggingface_folder="", family="Whisper / CTranslate2", description=( @@ -345,6 +374,7 @@ def faster_whisper( language_codes=cls.whisper_language_codes(cls._languages(args)), license_name=str(kwargs.get("license_name", "See model source")), commercial_use=bool(kwargs.get("commercial_use", True)), + **cls.retirement(kwargs), ) @classmethod @@ -381,6 +411,11 @@ def _languages(cls, args: tuple[Any, ...]) -> str: @classmethod def _faster_whisper_repo(cls, key: str) -> str: + """Systran publishes the CTranslate2 conversions this engine loads. + + Entries whose conversion lives elsewhere (Whisper Large v3 Turbo has no + Systran build) pass `repository=` instead of matching this convention. + """ if key.startswith("distil-"): return f"Systran/faster-distil-whisper-{key.removeprefix('distil-')}" return f"Systran/faster-whisper-{key}" @@ -1578,6 +1613,43 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: _faster_whisper( "small", "faster-whisper Small", _megabytes("484"), MULTILINGUAL, BALANCED_QUALITY, 6 ), + _faster_whisper( + "large-v3-turbo", + "faster-whisper Large v3 Turbo", + FASTER_WHISPER_LARGE_V3_TURBO_SIZE_BYTES, + MULTILINGUAL, + TURBO_QUALITY, + 8, + repository="deepdml/faster-whisper-large-v3-turbo-ct2", + license_name=MIT_LICENSE, + ), + _faster_whisper( + "medium.en", + "faster-whisper Medium EN", + FASTER_WHISPER_MEDIUM_EN_SIZE_BYTES, + ENGLISH_ONLY, + ACCURATE_QUALITY, + 8, + license_name=MIT_LICENSE, + ), + _faster_whisper( + "medium", + "faster-whisper Medium", + FASTER_WHISPER_MEDIUM_SIZE_BYTES, + MULTILINGUAL, + ACCURATE_QUALITY, + 8, + license_name=MIT_LICENSE, + ), + _faster_whisper( + "large-v3", + "faster-whisper Large v3", + FASTER_WHISPER_LARGE_V3_SIZE_BYTES, + MULTILINGUAL, + MOST_ACCURATE_QUALITY, + VERY_HIGH_MEMORY_RAM_GB, + license_name=MIT_LICENSE, + ), _faster_whisper( "distil-small.en", "Distil-Whisper Small EN", @@ -1594,6 +1666,16 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: "Accurate · distilled", 8, ), + _faster_whisper( + "distil-large-v3.5", + "Distil-Whisper Large v3.5", + DISTIL_LARGE_V35_SIZE_BYTES, + ENGLISH_ONLY, + "Most accurate English · distilled", + 8, + repository="distil-whisper/distil-large-v3.5-ct2", + license_name=MIT_LICENSE, + ), _faster_whisper( "distil-large-v3", "Distil-Whisper Large v3", @@ -1602,6 +1684,13 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: "Most accurate · distilled", VERY_HIGH_MEMORY_RAM_GB, license_name=MIT_LICENSE, + retired=True, + replacement_id="faster-whisper:distil-large-v3.5", + retirement_reason=( + "v3.5 is the same architecture and within 1 MB of the same download, and it is the " + "one the Open ASR Leaderboard measures: 5.40 average WER, ahead of full Whisper " + "Large v3 at 5.78 and Turbo at 6.36." + ), ), _whisperkit( "openai_whisper-tiny", "WhisperKit Tiny", _megabytes("66"), MULTILINGUAL, FASTEST_QUALITY, 4 @@ -1645,6 +1734,13 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: MULTILINGUAL, BALANCED_QUALITY, 8, + retired=True, + replacement_id=WHISPERKIT_COMPRESSED_LARGE_ID, + retirement_reason=( + "On the same LibriSpeech run this scores 3.95% WER against 2.49% for the compressed " + "Large v3, which is 142 MB larger and needs no more memory. The compressed Small " + "build stays as the genuinely small option." + ), ), _whisperkit( "openai_whisper-large-v3-v20240930_626MB", @@ -1652,7 +1748,11 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: _megabytes("626"), MULTILINGUAL, MOST_ACCURATE_QUALITY, - HIGH_MEMORY_RAM_GB, + # Now the only full-quality WhisperKit tier, so it has to be offered to + # the 8 GB Macs that used to pick Small. A 626 MB Core ML model is well + # within that budget; the old 12 GB floor was inherited from the 1.6 GB + # build this entry replaces. + 8, ), _whisperkit( "openai_whisper-large-v3-v20240930_turbo", @@ -1661,6 +1761,13 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: MULTILINGUAL, MOST_ACCURATE_QUALITY, VERY_HIGH_MEMORY_RAM_GB, + retired=True, + replacement_id=WHISPERKIT_COMPRESSED_LARGE_ID, + retirement_reason=( + "Argmax's own evaluation runs both builds over the 2,620 LibriSpeech utterances: " + "2.40% WER here against 2.49% for the compressed build. Eight hundredths of a WER " + "point is not worth 984 MB of download and 16 GB of required RAM." + ), ), _whisper_cpp( "ggml-tiny.en.bin", @@ -1700,16 +1807,22 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: "whisper.cpp Medium EN", _megabytes("1500"), ENGLISH_ONLY, - "Accurate", + ACCURATE_QUALITY, HIGH_MEMORY_RAM_GB, + retired=True, + replacement_id=WHISPER_TURBO_REPLACEMENT_ID, + retirement_reason=WHISPER_TURBO_RETIREMENT_REASON, ), _whisper_cpp( "ggml-medium.bin", "whisper.cpp Medium", _megabytes("1500"), MULTILINGUAL, - "Accurate", + ACCURATE_QUALITY, HIGH_MEMORY_RAM_GB, + retired=True, + replacement_id=WHISPER_TURBO_REPLACEMENT_ID, + retirement_reason=WHISPER_TURBO_RETIREMENT_REASON, ), _whisper_cpp( "whisper-medium-q4_1.bin", @@ -1732,8 +1845,11 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: "whisper.cpp Large v3 Turbo", _megabytes("1620"), MULTILINGUAL, - MOST_ACCURATE_QUALITY, - VERY_HIGH_MEMORY_RAM_GB, + TURBO_QUALITY, + # Now the top whisper.cpp tier, so it has to be offered to the machines + # the retired Medium entries used to serve. A 1.6 GB f16 model needs + # about 2.5 GB resident, which a 12 GB host has to spare. + HIGH_MEMORY_RAM_GB, ), _whisper_cpp( "ggml-large-v3-q5_0.bin", @@ -1796,6 +1912,14 @@ def _github_release_page(cls, archive_url: str | None) -> str | None: MULTILINGUAL, MOST_ACCURATE_QUALITY, 24, + retired=True, + replacement_id="faster-whisper:large-v3", + retirement_reason=( + "These are the most accurate Whisper weights there are — 5.78 average WER on the " + "Open ASR Leaderboard against Turbo's 6.36 — but not at 3 GB and 24 GB of RAM " + "through a CLI that reloads them on every request. The faster-whisper entry runs " + "the same weights as a resident INT8 model instead." + ), ), ) @@ -1833,7 +1957,9 @@ def _high_ram_ids(cls, is_apple: bool) -> set[str]: return { f"{ENGINE_SHERPA_ONNX}:parakeet-tdt-0.6b-v3-int8", f"{ENGINE_SHERPA_ONNX}:parakeet-tdt-0.6b-v2-int8", - f"{ENGINE_FASTER_WHISPER}:small", + # Turbo is the one Whisper tier a CPU-only host can run at a usable + # speed: same encoder as Large v3, four decoder layers instead of 32. + f"{ENGINE_FASTER_WHISPER}:large-v3-turbo", f"{ENGINE_FASTER_WHISPER}:distil-medium.en", } diff --git a/app/engines.py b/app/engines.py index c1b41d9..37f5eb8 100644 --- a/app/engines.py +++ b/app/engines.py @@ -183,6 +183,7 @@ def _resolve_fallback(self, rc: runtime_config.RuntimeConfig) -> base.Transcript self.settings.whisper_binary, cpp_p, self.catalog_model_for_path(cpp_p), + cpu_threads=rc.cpu_threads, ) @@ -289,6 +290,7 @@ def _build_named( self.settings.whisper_binary, path or self.settings.whisper_model, self.resolver.catalog_model_for_path(path or self.settings.whisper_model), + cpu_threads=rc.cpu_threads, ) ) diff --git a/app/model_manager.py b/app/model_manager.py index 3af150d..b5ebe50 100644 --- a/app/model_manager.py +++ b/app/model_manager.py @@ -35,6 +35,10 @@ HF_BASE_URL = "https://huggingface.co" DEFAULT_HF_REVISION = "main" DOWNLOADING_STATUS = "downloading" +# What an on-disk install looks like, shared by the full scan and the single +# lookup so the two can never disagree about whether a model is installed. +WEIGHT_FILE_SUFFIXES: tuple[str, ...] = (".bin", ".gguf") +WHISPERKIT_CONFIG_FILE = "config.json" PARTIAL_DIRECTORY_SUFFIX = ".partial" COMPLETED_STATUS = "completed" # `?expand=true` is what makes the tree API report each file's SHA-256, but it @@ -171,9 +175,25 @@ def model_path(self, model: CatalogModel) -> Path: return self.models_dir / model.engine / model.key def installed_path(self, model_id: str) -> Path | None: - installed = {model.id: model for model in self.installed()} - entry = installed.get(model_id) - return entry.path if entry else None + """Locate one installed model without sizing every other one. + + `installed()` walks and sums every file under every model directory to + report sizes. Engine selection calls this on each request path that + rebuilds an engine and never looks at a size, so it resolves the path + from the catalog index and checks the same marker `installed()` does. + """ + path = self._path_for_id(model_id) + if path is None: + return None + model = self.catalog_model(model_id) + if model is None: + # A model outside the catalog: a weights file, or a WhisperKit + # folder, which counts as installed only once its config lands. + if path.suffix in WEIGHT_FILE_SUFFIXES: + return path if path.is_file() else None + return path if (path / WHISPERKIT_CONFIG_FILE).is_file() else None + marker = path / model.marker_file if model.marker_file else path + return path if marker.exists() else None # --------------------------------------------------------------- listing @@ -201,7 +221,7 @@ def installed(self) -> list[InstalledModel]: whisper_cpp_dir = self.models_dir / ENGINE_WHISPER_CPP if whisper_cpp_dir.is_dir(): for model_file in sorted(whisper_cpp_dir.iterdir()): - if not model_file.is_file() or model_file.suffix not in {".bin", ".gguf"}: + if not model_file.is_file() or model_file.suffix not in WEIGHT_FILE_SUFFIXES: continue if model_file in catalog_paths: continue @@ -220,7 +240,7 @@ def installed(self) -> list[InstalledModel]: whisperkit_dir = self.models_dir / ENGINE_WHISPERKIT if whisperkit_dir.is_dir(): for folder in sorted(whisperkit_dir.iterdir()): - if not folder.is_dir() or not (folder / "config.json").is_file(): + if not folder.is_dir() or not (folder / WHISPERKIT_CONFIG_FILE).is_file(): continue if folder in catalog_paths: continue @@ -643,7 +663,7 @@ def _path_for_id(self, model_id: str) -> Path | None: name = model_id[len("custom:") :] if Path(name).name != name or not name: return None - if name.endswith((".bin", ".gguf")): + if name.endswith(WEIGHT_FILE_SUFFIXES): return self.models_dir / ENGINE_WHISPER_CPP / name return self.models_dir / ENGINE_WHISPERKIT / name return None @@ -654,7 +674,7 @@ def _validate_custom_url(url: str) -> str: if parsed.scheme != "https": raise ValueError("Only HTTPS URLs are supported.") filename = Path(parsed.path).name - if not filename.endswith((".bin", ".gguf")): + if not filename.endswith(WEIGHT_FILE_SUFFIXES): raise ValueError("Custom models must be .bin or .gguf files.") return filename diff --git a/app/model_pins.json b/app/model_pins.json index 3a52928..b0cd3aa 100644 --- a/app/model_pins.json +++ b/app/model_pins.json @@ -13,10 +13,10 @@ "model.bin": "2a166925539a16005f14ff328359f9b9adb9dc4fb631bb3b227526862e93e2ef" } }, - "faster-whisper:distil-large-v3": { - "revision": "c3058b475261292e64a0412df1d2681c06260fab", + "faster-whisper:distil-large-v3.5": { + "revision": "9793ccc07920e0f830e1dba0343efcdf0ef8c903", "file_digests": { - "model.bin": "b79368e19b6623813609431a6e5ee309a71506701ebc49fd7820e692dec7c5f5" + "model.bin": "c58b88b8585ffcd2135fddaaf421ce72cb223b32edea70d156aed1dea319a119" } }, "faster-whisper:distil-medium.en": { @@ -31,6 +31,30 @@ "model.bin": "1187de3982cdcf962a2fb8f797e429fb4651b875b18fe9ce50b58b52fc9072b7" } }, + "faster-whisper:large-v3": { + "revision": "edaa852ec7e145841d8ffdb056a99866b5f0a478", + "file_digests": { + "model.bin": "69f74147e3334731bc3a76048724833325d2ec74642fb52620eda87352e3d4f1" + } + }, + "faster-whisper:large-v3-turbo": { + "revision": "4df90f75321148c3a29a9e2351b7ddf8f5b115a8", + "file_digests": { + "model.bin": "e76620f83d5f5b69efd3d87e3dc180c1bd21df9fbebacfd4335e5e1efcc018da" + } + }, + "faster-whisper:medium": { + "revision": "08e178d48790749d25932bbc082711ddcfdfbc4f", + "file_digests": { + "model.bin": "9b45e1009dcc4ab601eff815b61d80e60ce3fd8c74c1a14f4a282258286b51ae" + } + }, + "faster-whisper:medium.en": { + "revision": "a29b04bd15381511a9af671baec01072039215e3", + "file_digests": { + "model.bin": "11b220779aea4c6f3ce9d2549c8a95ea869ed84066864b999531ef53e594fe5b" + } + }, "faster-whisper:small": { "revision": "536b0662742c02347bc0e980a01041f333bce120", "file_digests": { @@ -370,14 +394,14 @@ "joiner-epoch-99-avg-1.int8.onnx": "e085d73b593cf9b0707f370dbd656d58327d3fe36d80d849202ef81df02cb01e" } }, - "whisper.cpp:ggml-base.bin": { - "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", - "sha256": "60ed5bc3dd14eea856493d334349b405782ddcaf0028d4b5df4088345fba2efe" - }, "whisper.cpp:ggml-apex-hinglish-q5_0.bin": { "revision": "d1de3ff618856e5675c47d3158ca820506fb4d9e", "sha256": "9d877151b15cec1feb9110cfbc0a3162cf377bcc0ab1935174226f461cf60f13" }, + "whisper.cpp:ggml-base.bin": { + "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", + "sha256": "60ed5bc3dd14eea856493d334349b405782ddcaf0028d4b5df4088345fba2efe" + }, "whisper.cpp:ggml-base.en.bin": { "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", "sha256": "a03779c86df3323075f5e796cb2ce5029f00ec8869eee3fdfb897afe36c6d002" @@ -386,18 +410,6 @@ "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", "sha256": "1fc70f774d38eb169993ac391eea357ef47c88757ef72ee5943879b7e8e2bc69" }, - "whisper.cpp:ggml-large-v3.bin": { - "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", - "sha256": "64d182b440b98d5203c4f9bd541544d84c605196c4f7b845dfa11fb23594d1e2" - }, - "whisper.cpp:ggml-medium.bin": { - "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", - "sha256": "6c14d5adee5f86394037b4e4e8b59f1673b6cee10e3cf0b11bbdbee79c156208" - }, - "whisper.cpp:ggml-medium.en.bin": { - "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", - "sha256": "cc37e93478338ec7700281a7ac30a10128929eb8f427dda2e865faa8f6da4356" - }, "whisper.cpp:ggml-small.bin": { "revision": "5359861c739e955e79d9a303bcbc70fb988958b1", "sha256": "1be3a9b2063867b937e64e2ec7483364a79917e157fa98c5d94b5c1fffea987b" @@ -415,7 +427,7 @@ "sha256": "921e4cf8686fdd993dcd081a5da5b6c365bfde1162e72b08d75ac75289920b1f" }, "whisperkit:openai_whisper-base": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "c4e096b2abd561f00b9b698401df3fbe1a0d0c8d2476ff19cb4e1995680e827e", "AudioEncoder.mlmodelc/coremldata.bin": "e316980638e2099e83cb1a93b903717dc12b3c2168d0ab69113764c3767696ba", @@ -431,7 +443,7 @@ } }, "whisperkit:openai_whisper-base.en": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "c4e096b2abd561f00b9b698401df3fbe1a0d0c8d2476ff19cb4e1995680e827e", "AudioEncoder.mlmodelc/coremldata.bin": "e316980638e2099e83cb1a93b903717dc12b3c2168d0ab69113764c3767696ba", @@ -447,7 +459,7 @@ } }, "whisperkit:openai_whisper-large-v3-v20240930_626MB": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "56793886ab1adb9ca8a4e335efbe8af6640f40d958ab2d29c3ad2d7d6f712e95", "AudioEncoder.mlmodelc/coremldata.bin": "ffa9eb76e8e9d9be75a4d527e5249e61d67fd43081c5aa110fd24efa6c8c5ea3", @@ -460,43 +472,8 @@ "TextDecoder.mlmodelc/weights/weight.bin": "d69700903d518ada33170ab77faaaf464496fb9ff65752c6d5a6109aa2fb02db" } }, - "whisperkit:openai_whisper-large-v3-v20240930_turbo": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", - "file_digests": { - "AudioEncoder.mlmodelc/analytics/coremldata.bin": "b58d36a7f4a729570b46b424ed8d847baefa07580e6cb9d47773ae738f8b845a", - "AudioEncoder.mlmodelc/coremldata.bin": "ffa9eb76e8e9d9be75a4d527e5249e61d67fd43081c5aa110fd24efa6c8c5ea3", - "AudioEncoder.mlmodelc/model.mlmodel": "c5eb570c19871d7b0c59e0a84718cc9c8cde77a94273886de87e866961262e2c", - "AudioEncoder.mlmodelc/weights/weight.bin": "98daf651a919978e28fe185daf55ce2f70085a8e59fa07fe8a4d08c87d368ae4", - "MelSpectrogram.mlmodelc/analytics/coremldata.bin": "c5be419f8622083ac7046306400643539f0e7577c843448c36defc090d41e7ce", - "MelSpectrogram.mlmodelc/coremldata.bin": "98efa1e351b759e078c4044668926d32bee886caf7596ae897e08e21da45565a", - "MelSpectrogram.mlmodelc/weights/weight.bin": "009d9fb8f6b589accfa08cebf1c712ef07c3405229ce3cfb3a57ee033c9d8a49", - "TextDecoder.mlmodelc/analytics/coremldata.bin": "47703aed03fbfa5128e118cfe6519024006f953a53e921d66003f1412c27996c", - "TextDecoder.mlmodelc/coremldata.bin": "605dad4099a82cf2c7afe93e6d8e322f1c16d4160ab27bd017ec2517b81c1bdd", - "TextDecoder.mlmodelc/model.mlmodel": "03b79e4355e814c56239ea809e5d8f6432d70d74256bc9d70c27184fe9fcec48", - "TextDecoder.mlmodelc/weights/weight.bin": "47b2703aa37448e09cf2f06e45984fabd5ded4c34ba3400cec38a5294af39dc1", - "TextDecoderContextPrefill.mlmodelc/analytics/coremldata.bin": "97639d36c7b137ea51c3c39b175911788f4d4a601ab03cd67a4b14164c3145e1", - "TextDecoderContextPrefill.mlmodelc/coremldata.bin": "2c159f5c862ec187092ea58e755d8c0b298952e22f3d75da023d7693c1c7389e", - "TextDecoderContextPrefill.mlmodelc/weights/weight.bin": "1310070082639173e9d81508c5f220692d489e85655aa6883cc1c7506da7fcfd" - } - }, - "whisperkit:openai_whisper-small": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", - "file_digests": { - "AudioEncoder.mlmodelc/analytics/coremldata.bin": "211457b92a0ced67bb8625efe39799a0030c4fc71eb87d7284ea81043caccde7", - "AudioEncoder.mlmodelc/coremldata.bin": "d68f152b6573ac55203a3dc8383730e6ecde685c7d2a88815b89820c88e35371", - "AudioEncoder.mlmodelc/model.mlmodel": "68ca04660b8b050c68ca54c27d97c47e4133bc591422cb7009de8922d56fb8c9", - "AudioEncoder.mlmodelc/weights/weight.bin": "fe35cef2c9406993a635639b16f373f6debb0215ac115b7bf93fa03c8e10310b", - "MelSpectrogram.mlmodelc/analytics/coremldata.bin": "7f77e6457285248f99cd7aa3fd4cc2efbb17733e63e7023ac53abe1f95785d07", - "MelSpectrogram.mlmodelc/coremldata.bin": "dabdc5aa69f6ef4d97dc9499f5c30514e00e96b53b750b33a5a6471363c71662", - "MelSpectrogram.mlmodelc/weights/weight.bin": "267017e533b5f542d195fd9a775f2ba649075128283ce8e86c63a2ec20de5b07", - "TextDecoder.mlmodelc/analytics/coremldata.bin": "39c0d6d55353bc61ef8071081bb958dd1ab7b0b7f2a3338a797f1a64211e084c", - "TextDecoder.mlmodelc/coremldata.bin": "b2ccd0b8920701386ab9554f7db47b43e55ee07863280ee5d829d5272839adc2", - "TextDecoder.mlmodelc/model.mlmodel": "7ea861c6dfdd866ed0f2e7fe0c3df7459daa44481cb25236e03698dd6d259391", - "TextDecoder.mlmodelc/weights/weight.bin": "bfea8044a8f38e8d33f56585b1e75ce023d3845e2a945e20480bd7e16558016e" - } - }, "whisperkit:openai_whisper-small_216MB": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "0c33d98d0f2046b711d75041260eb53fd0ca1c3226930a779fe9082bc4763449", "AudioEncoder.mlmodelc/coremldata.bin": "bb991927256c8b71c8f5df3eb652bd0d67d933d7c36da4e53a5eb15a0a635ca1", @@ -512,7 +489,7 @@ } }, "whisperkit:openai_whisper-tiny": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "0b25820e5b2ab0b0686b4bea147fb217d1d1bface45170ff4ffde01fa6864ae2", "AudioEncoder.mlmodelc/coremldata.bin": "142c33ade402fe41952059f175eb855093dfe09b5d2b84624a31e3a9952ed47d", @@ -528,7 +505,7 @@ } }, "whisperkit:openai_whisper-tiny.en": { - "revision": "97a5bf9bbc74c7d9c12c755d04dea59e672e3808", + "revision": "0f63a7800b00dd0226abd051b906c246e1907482", "file_digests": { "AudioEncoder.mlmodelc/analytics/coremldata.bin": "eaaaa6671a96a359a0bbd5e97885246dcc17f7435b6ffad8d871bb940964500b", "AudioEncoder.mlmodelc/coremldata.bin": "325b182d0a4266730a81795ae6b7a787b5111dd091500fc0c04dedf610015d46", diff --git a/app/models/faster_whisper.py b/app/models/faster_whisper.py index dcc4ee1..72ad150 100644 --- a/app/models/faster_whisper.py +++ b/app/models/faster_whisper.py @@ -1,18 +1,24 @@ from __future__ import annotations import asyncio -import os import time from importlib import util as importlib_util from pathlib import Path from typing import Any +from app import system from app.errors import EngineUnavailableError, TranscriptionProcessError from app.models.base import EngineHealth, EngineTranscription, TranscriptionOptions from app.runtime_config import AUTO_ENGINE TRANSCRIPTION_TIMEOUT_SECONDS = 180 MAXIMUM_ERROR_MESSAGE_LENGTH = 240 +# Silero VAD costs a few milliseconds and hands the decoder only the speech. +# A dictation clip is mostly the pause before and after the sentence, and the +# decoder is the expensive half on a CPU host, so skipping that silence is the +# largest single saving available here. +VAD_MINIMUM_SILENCE_MS = 500 +VAD_SPEECH_PAD_MS = 200 class FasterWhisperEngine: @@ -84,14 +90,11 @@ def _load_model_sync(self) -> Any: device = _resolved_device(self.device) comp_type = _resolved_compute_type(self.compute_type, device) - cpu_total = os.cpu_count() or 1 - default_threads = min(cpu_total, 8) - threads = self.cpu_threads or max(1, default_threads) return WhisperModel( str(self.model_path), device=device, compute_type=comp_type, - cpu_threads=threads, + cpu_threads=system.inference_thread_count(self.cpu_threads), num_workers=1, local_files_only=True, ) @@ -121,6 +124,20 @@ async def _run_inference(model: Any, audio_path: Path, options: TranscriptionOpt def _extract_text(model: Any, audio_path: Path, options: TranscriptionOptions) -> str: + """Decode the clip, retrying without VAD when VAD found no speech at all. + + The RMS gate in `app.audio` already rejects a silent recording, so an empty + VAD pass here means quiet-but-real speech that Silero was not confident + about. Decoding the whole clip is slower than the VAD path but it is the + difference between a transcript and a failure, so it is worth the retry. + """ + transcript = _decode(model, audio_path, options, use_vad=True) + if transcript: + return transcript + return _decode(model, audio_path, options, use_vad=False) + + +def _decode(model: Any, audio_path: Path, options: TranscriptionOptions, *, use_vad: bool) -> str: segments, _ = model.transcribe( str(audio_path), language=None if options.language == AUTO_ENGINE else options.language, @@ -128,7 +145,14 @@ def _extract_text(model: Any, audio_path: Path, options: TranscriptionOptions) - best_of=1, temperature=0, condition_on_previous_text=False, - vad_filter=False, + # Nothing downstream reads segment times — the gateway returns one joined + # string — so decoding timestamp tokens is work spent on output nobody uses. + without_timestamps=True, + vad_filter=use_vad, + vad_parameters={ + "min_silence_duration_ms": VAD_MINIMUM_SILENCE_MS, + "speech_pad_ms": VAD_SPEECH_PAD_MS, + }, ) valid_texts = [segment.text.strip() for segment in segments if segment.text.strip()] return " ".join(valid_texts).strip() diff --git a/app/models/sherpa_onnx.py b/app/models/sherpa_onnx.py index 9d287ae..ea0e796 100644 --- a/app/models/sherpa_onnx.py +++ b/app/models/sherpa_onnx.py @@ -1,7 +1,6 @@ from __future__ import annotations import asyncio -import os import re import time import wave @@ -11,7 +10,7 @@ from types import MappingProxyType from typing import Any -from app import catalog, errors +from app import catalog, errors, system from app.models.base import EngineHealth, EngineTranscription, TranscriptionOptions MODEL_METADATA = ".vocagateway-model.json" @@ -283,9 +282,7 @@ def __init__( self.supports_streaming: bool = ( catalog_model is not None and catalog_model.model_type == STREAMING_MODEL_TYPE ) - cpu_total = os.cpu_count() or 1 - default_threads = min(cpu_total, 8) - threads = cpu_threads or max(1, default_threads) + threads = system.inference_thread_count(cpu_threads) self._builder = _SherpaRecognizerBuilder(model_root, catalog_model, threads) async def create_stream(self) -> _SherpaOnnxStreamAdapter: @@ -391,17 +388,28 @@ def _load_recognizer_sync(self) -> Any: return self._builder.build() -def _read_wave_samples(audio_path: Path) -> tuple[int, list[float]]: +def _read_wave_samples(audio_path: Path) -> tuple[int, Any]: + """Read a PCM WAV file as the float waveform sherpa-onnx accepts. + + numpy turns this into two vector operations instead of one Python float per + sample — roughly half a million short-lived objects for a 30-second clip — + but it arrives with the `engines` extra rather than the core install, and + the test suite runs without that extra. So the stdlib comprehension stays + as the fallback, exactly as `app.audio` keeps one for its RMS gate. + """ with wave.open(str(audio_path), "rb") as source: if source.getsampwidth() != 2: raise ValueError("sherpa-onnx expects normalized 16-bit PCM WAV audio.") channels = source.getnchannels() sample_rate = source.getframerate() frames = source.readframes(source.getnframes()) - samples = memoryview(frames).cast("h") - if channels > 1: - samples = samples[::channels] - return sample_rate, [sample / PCM_SAMPLE_SCALE for sample in samples] + try: + import numpy + except ImportError: + samples = memoryview(frames).cast("h")[::channels] + return sample_rate, [sample / PCM_SAMPLE_SCALE for sample in samples] + block = numpy.frombuffer(frames, dtype=numpy.int16)[::channels] + return sample_rate, block.astype(numpy.float32) / PCM_SAMPLE_SCALE def _decode_wave(recognizer: Any, audio_path: Path) -> str: diff --git a/app/models/whisper_cpp.py b/app/models/whisper_cpp.py index 3e709d9..1c71b07 100644 --- a/app/models/whisper_cpp.py +++ b/app/models/whisper_cpp.py @@ -4,7 +4,7 @@ import tempfile from pathlib import Path -from app import scripts +from app import scripts, system from app.catalog import CatalogModel from app.errors import EngineUnavailableError, LanguageUnsupportedError, TranscriptionProcessError from app.models.base import EngineHealth, TranscriptionOptions @@ -12,15 +12,29 @@ TRANSCRIPTION_TIMEOUT_SECONDS = 75 MAXIMUM_ERROR_MESSAGE_LENGTH = 200 +# whisper-cli defaults to a beam of 5 with 5 greedy candidates, which is tuned for +# batch transcription of long recordings. Dictation clips are short and the decoder +# dominates on a CPU-only host, so the gateway narrows the search: measured on a +# 17 s clip with ggml-tiny.en and the GPU disabled, `-t -bs 2 -bo 2` cut the +# run from 1.83 s to 0.77 s with no change to the transcript. Temperature fallback +# stays on — it is what rescues a degenerate segment from a repetition loop. +DECODER_BEAM_SIZE = 2 +DECODER_BEST_OF = 2 class WhisperCppEngine: def __init__( - self, binary: Path, model: Path, catalog_model: CatalogModel | None = None + self, + binary: Path, + model: Path, + catalog_model: CatalogModel | None = None, + *, + cpu_threads: int = 0, ) -> None: self.binary = binary self.model = model self.catalog_model = catalog_model + self.cpu_threads = system.inference_thread_count(cpu_threads) async def health(self) -> EngineHealth: ready = self.binary.is_file() and self.model.is_file() @@ -42,6 +56,7 @@ async def transcribe(self, audio_path: Path, options: TranscriptionOptions) -> s audio_path, output_stem, self._decoder_language(options.language), + self.cpu_threads, ) await _execute_whisper_cpp(arguments) transcript = _read_output_text(output_stem.with_suffix(".txt")) @@ -76,10 +91,12 @@ async def _require_ready(self) -> None: def _build_arguments( - binary: Path, model: Path, audio: Path, output: Path, language: str + binary: Path, model: Path, audio: Path, output: Path, language: str, threads: int ) -> list[str]: arguments = [str(binary), "-m", str(model), "-f", str(audio)] arguments.extend(["-otxt", "-of", str(output), "-np", "-nt"]) + arguments.extend(["-t", str(threads)]) + arguments.extend(["-bs", str(DECODER_BEAM_SIZE), "-bo", str(DECODER_BEST_OF)]) if language != "auto": arguments.extend(["-l", language]) return arguments diff --git a/app/system.py b/app/system.py index a170383..b3d66e0 100644 --- a/app/system.py +++ b/app/system.py @@ -18,6 +18,16 @@ DEFAULT_VOCAMAC_APPLICATION_PATH = Path("/Applications/VocaMac.app") GIBIBYTE = 1024**3 MEBIBYTE = 1024 +# ggml and CTranslate2 split work evenly across the threads they are given, so a +# thread pinned to an efficiency core (or descheduled by a cgroup quota) holds the +# whole batch back. Threads are therefore counted in physical performance cores, +# clamped by the container quota, and capped: past this point the per-layer sync +# cost outweighs the extra core on every model this catalog ships. +MAXIMUM_INFERENCE_THREADS = 8 +# No CPU this gateway targets runs more than two threads per core, so a +# reported topology claiming fewer cores than that is not believable and is +# treated as a floor rather than a count. See `_linux_physical_cpus`. +MAXIMUM_THREADS_PER_CORE = 2 # Engines that cannot run on every host, and the requirement the WebUI shows. # The desktop-app adapters are the strictest: Handy ships for macOS, and VocaMac @@ -201,6 +211,26 @@ def _linux_ram_gb(cls) -> float: class _CpuSets: + @classmethod + def inference_threads(cls, configured: int = 0) -> int: + """Threads an inference engine should use on this host. + + `configured` is the operator's explicit override from the WebUI; 0 means + "decide for me", which is the default every engine starts with. + """ + if configured > 0: + return configured + logical = os.cpu_count() or 1 + cores = min(cls.physical_cpu_count(logical), int(cls.effective_cpu_count(logical)) or 1) + return max(1, min(cores, MAXIMUM_INFERENCE_THREADS)) + + @classmethod + def physical_cpu_count(cls, logical_cpus: int) -> int: + """Physical cores, preferring performance cores on Apple silicon.""" + if platform.system() == "Darwin": + return cls._darwin_physical_cpus(logical_cpus) + return cls._linux_physical_cpus(logical_cpus) + @classmethod def effective_cpu_count(cls, logical_cpus: int) -> float: limits = [float(logical_cpus)] @@ -208,6 +238,44 @@ def effective_cpu_count(cls, logical_cpus: int) -> float: cls._append_cpuset(limits) return round(min(limits), 2) + @classmethod + def _darwin_physical_cpus(cls, logical_cpus: int) -> int: + for key in ("hw.perflevel0.physicalcpu", "hw.physicalcpu"): + raw = _SysProbe.sysctl(key) + if raw.isdigit() and int(raw) > 0: + return int(raw) + return logical_cpus + + @classmethod + def _linux_physical_cpus(cls, logical_cpus: int) -> int: + try: + cpuinfo = Path("/proc/cpuinfo").read_text(encoding=UTF8_ENCODING) + except OSError: + return logical_cpus + cores = cls._cpuinfo_cores(cpuinfo) + if not cores: + return logical_cpus + # Some hypervisors report one identical (physical id, core id) pair for + # every vCPU. Believing that would run a 16-vCPU guest single-threaded, + # so a count that implies more than two threads per core is discarded. + return max(len(cores), logical_cpus // MAXIMUM_THREADS_PER_CORE) + + @classmethod + def _cpuinfo_cores(cls, cpuinfo: str) -> set[tuple[str, str]]: + """Unique (physical id, core id) pairs, which is one entry per real core.""" + cores: set[tuple[str, str]] = set() + package = "" + for line in cpuinfo.splitlines(): + key, _, entry = line.partition(KEY_VALUE_SEPARATOR) + label = key.strip().lower() + if label == "processor": + package = "" + elif label == "physical id": + package = entry.strip() + elif label == "core id": + cores.add((package, entry.strip())) + return cores + @classmethod def _append_quota(cls, limits: list[float]) -> None: try: @@ -488,6 +556,7 @@ def _linux_cpuinfo(cls) -> str: detect_system = _HostDetector.detect +inference_thread_count = _CpuSets.inference_threads engine_requirement = _EngineHost.requirement engine_runs_on = _EngineHost.runs_on engine_runs_here = _EngineHost.runs_here diff --git a/docs/models.md b/docs/models.md index 4552deb..fa26ffd 100644 --- a/docs/models.md +++ b/docs/models.md @@ -2,7 +2,7 @@ # Models and languages -Every model in the catalog (66 of them), what it speaks, and which models cover a given language. Generated from `app/catalog.py`, so it always matches the catalog the gateway actually ships. +Every model in the catalog (65 of them), what it speaks, and which models cover a given language. Generated from `app/catalog.py`, so it always matches the catalog the gateway actually ships. The WebUI Models tab shows the same information per card, with a language filter. Use this page to pick a model before installing anything. @@ -52,9 +52,13 @@ CTranslate2 Whisper. Kept resident; the broad multilingual fallback. | faster-whisper Base | 145 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | faster-whisper Small EN | 484 MB | English | — | See model source | | faster-whisper Small | 484 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | +| faster-whisper Large v3 Turbo | 1.62 GB | [100 languages](#language-set-100-0b8e4ee5) | — | MIT | +| faster-whisper Medium EN | 1.53 GB | English | — | MIT | +| faster-whisper Medium | 1.53 GB | [100 languages](#language-set-100-0b8e4ee5) | — | MIT | +| faster-whisper Large v3 | 3.09 GB | [100 languages](#language-set-100-0b8e4ee5) | — | MIT | | Distil-Whisper Small EN | 332 MB | English | — | See model source | | Distil-Whisper Medium EN | 789 MB | English | — | See model source | -| Distil-Whisper Large v3 | 1.52 GB | English | — | MIT | +| Distil-Whisper Large v3.5 | 1.52 GB | English | — | MIT | ### moonshine @@ -92,14 +96,11 @@ GGML models through the standalone `whisper-cli` binary. | whisper.cpp Base | 142 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | whisper.cpp Small EN | 466 MB | English | — | See model source | | whisper.cpp Small | 466 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | -| whisper.cpp Medium EN | 1.50 GB | English | — | See model source | -| whisper.cpp Medium | 1.50 GB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | Whisper Medium Q4 | 492 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | whisper.cpp Large v3 Turbo | 1.62 GB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | Whisper Large v3 Q5 | 1.08 GB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | Breeze ASR Q5 | 1.08 GB | Mandarin Chinese, English | — | Apache 2.0 | | Hinglish — Roman (Experimental) | 574 MB | Hinglish — Roman | — | Apache 2.0 | -| whisper.cpp Large v3 | 3.00 GB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | ### whisperkit @@ -112,9 +113,7 @@ Core ML, **macOS only**. Hidden on Linux and in containers. | WhisperKit Base | 145 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | WhisperKit Base EN | 145 MB | English | — | See model source | | WhisperKit Small (compressed) | 216 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | -| WhisperKit Small | 484 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | | WhisperKit Large v3 Turbo (compressed) | 626 MB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | -| WhisperKit Large v3 Turbo | 1.61 GB | [100 languages](#language-set-100-0b8e4ee5) | — | See model source | ### mlx-audio @@ -169,7 +168,7 @@ Mandarin Chinese, Japanese, Thai, Russian, Korean, Indonesian, Vietnamese, Yue C ### 100 languages -Used by: MLX Whisper Large v3 Turbo 4-bit, Whisper Large v3 Q5, Whisper Medium Q4, WhisperKit Base, WhisperKit Large v3 Turbo, WhisperKit Large v3 Turbo (compressed), WhisperKit Small, WhisperKit Small (compressed), WhisperKit Tiny, faster-whisper Base, faster-whisper Small, faster-whisper Tiny, whisper.cpp Base, whisper.cpp Large v3, whisper.cpp Large v3 Turbo, whisper.cpp Medium, whisper.cpp Small, whisper.cpp Tiny. +Used by: MLX Whisper Large v3 Turbo 4-bit, Whisper Large v3 Q5, Whisper Medium Q4, WhisperKit Base, WhisperKit Large v3 Turbo (compressed), WhisperKit Small (compressed), WhisperKit Tiny, faster-whisper Base, faster-whisper Large v3, faster-whisper Large v3 Turbo, faster-whisper Medium, faster-whisper Small, faster-whisper Tiny, whisper.cpp Base, whisper.cpp Large v3 Turbo, whisper.cpp Small, whisper.cpp Tiny. Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgarian, Bengali, Tibetan, Breton, Bosnian, Catalan, Czech, Welsh, Danish, German, Greek, English, Spanish, Estonian, Basque, Persian, Finnish, Faroese, French, Galician, Gujarati, Hausa, Hawaiian, Hebrew, Hindi, Croatian, Haitian Creole, Hungarian, Armenian, Indonesian, Icelandic, Italian, Japanese, Javanese, Georgian, Kazakh, Khmer, Kannada, Korean, Latin, Luxembourgish, Lingala, Lao, Lithuanian, Latvian, Malagasy, Maori, Macedonian, Malayalam, Mongolian, Marathi, Malay, Maltese, Burmese, Nepali, Dutch, Norwegian Nynorsk, Norwegian, Occitan, Punjabi, Polish, Pashto, Portuguese, Romanian, Russian, Sanskrit, Sindhi, Sinhala, Slovak, Slovenian, Shona, Somali, Albanian, Serbian, Sundanese, Swedish, Swahili, Tamil, Telugu, Tajik, Thai, Turkmen, Tagalog, Turkish, Tatar, Ukrainian, Urdu, Uzbek, Vietnamese, Yiddish, Yoruba, Cantonese, Mandarin Chinese. @@ -178,91 +177,91 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria 109 languages, alphabetically. Expand one to see every model that covers it. A model marked `auto language` will not let you pin this language explicitly — it decides for itself.
-Afrikaans (af) — 18 models +Afrikaans (af) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Albanian (sq) — 18 models +Albanian (sq) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Amharic (am) — 18 models +Amharic (am) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Arabic (ar) — 25 models +Arabic (ar) — 24 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -276,78 +275,75 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Armenian (hy) — 18 models +Armenian (hy) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Assamese (as) — 18 models +Assamese (as) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Azerbaijani (az) — 20 models +Azerbaijani (az) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -356,26 +352,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Bashkir (ba) — 20 models +Bashkir (ba) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -384,78 +379,75 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Basque (eu) — 18 models +Basque (eu) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Belarusian (be) — 18 models +Belarusian (be) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Bengali (bn) — 21 models +Bengali (bn) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Bengali Streaming Zipformer | sherpa-onnx | 94 MB | streaming | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | @@ -465,78 +457,75 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Bosnian (bs) — 18 models +Bosnian (bs) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Breton (br) — 18 models +Breton (br) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Bulgarian (bg) — 21 models +Bulgarian (bg) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -546,26 +535,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Burmese (my) — 20 models +Burmese (my) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -574,26 +562,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Cantonese (yue) — 22 models +Cantonese (yue) — 21 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -604,52 +591,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Catalan (ca) — 18 models +Catalan (ca) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Croatian (hr) — 21 models +Croatian (hr) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -659,26 +644,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Czech (cs) — 24 models +Czech (cs) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -691,26 +675,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Danish (da) — 24 models +Danish (da) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -723,26 +706,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Dutch (nl) — 24 models +Dutch (nl) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -755,20 +737,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-English (en) — 48 models +English (en) — 47 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | @@ -780,7 +758,11 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | faster-whisper Small EN | faster-whisper | 484 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | | Distil-Whisper Medium EN | faster-whisper | 789 MB | — | -| Distil-Whisper Large v3 | faster-whisper | 1.52 GB | — | +| Distil-Whisper Large v3.5 | faster-whisper | 1.52 GB | — | +| faster-whisper Medium EN | faster-whisper | 1.53 GB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -808,29 +790,27 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | | Breeze ASR Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium EN | whisper.cpp | 1.50 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Tiny EN | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Base EN | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Estonian (et) — 21 models +Estonian (et) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -840,41 +820,36 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Faroese (fo) — 18 models +Faroese (fo) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -892,13 +867,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Finnish (fi) — 24 models +Finnish (fi) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -911,26 +889,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-French (fr) — 24 models +French (fr) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -943,78 +920,75 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Galician (gl) — 18 models +Galician (gl) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Georgian (ka) — 18 models +Georgian (ka) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-German (de) — 26 models +German (de) — 25 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1029,26 +1003,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Greek (el) — 23 models +Greek (el) — 22 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1060,26 +1033,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Gujarati (gu) — 20 models +Gujarati (gu) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1088,130 +1060,125 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Haitian Creole (ht) — 18 models +Haitian Creole (ht) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Hausa (ha) — 18 models +Hausa (ha) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Hawaiian (haw) — 18 models +Hawaiian (haw) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Hebrew (he) — 18 models +Hebrew (he) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Hindi (hi) — 24 models +Hindi (hi) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1224,15 +1191,11 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -1246,13 +1209,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Hungarian (hu) — 24 models +Hungarian (hu) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1265,52 +1231,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Icelandic (is) — 18 models +Icelandic (is) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Indonesian (id) — 23 models +Indonesian (id) — 22 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1322,26 +1286,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Italian (it) — 24 models +Italian (it) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1354,26 +1317,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Japanese (ja) — 27 models +Japanese (ja) — 26 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1389,15 +1351,11 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -1412,28 +1370,27 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Javanese (jw) — 18 models +Javanese (jw) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -1448,28 +1405,27 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Kannada (kn) — 18 models +Kannada (kn) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -1484,13 +1440,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Kazakh (kk) — 20 models +Kazakh (kk) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1499,26 +1458,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Khmer (km) — 20 models +Khmer (km) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1527,26 +1485,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Korean (ko) — 26 models +Korean (ko) — 25 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1561,15 +1518,11 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -1584,13 +1537,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Lao (lo) — 20 models +Lao (lo) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1599,52 +1555,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Latin (la) — 18 models +Latin (la) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Latvian (lv) — 20 models +Latvian (lv) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -1653,52 +1607,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Lingala (ln) — 18 models +Lingala (ln) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Lithuanian (lt) — 20 models +Lithuanian (lt) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -1707,52 +1659,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Luxembourgish (lb) — 18 models +Luxembourgish (lb) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Macedonian (mk) — 21 models +Macedonian (mk) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1762,52 +1712,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Malagasy (mg) — 18 models +Malagasy (mg) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Malay (ms) — 23 models +Malay (ms) — 22 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1819,52 +1767,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Malayalam (ml) — 18 models +Malayalam (ml) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Maltese (mt) — 20 models +Maltese (mt) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -1873,26 +1819,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Mandarin Chinese (zh) — 27 models +Mandarin Chinese (zh) — 26 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -1908,52 +1853,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | | Breeze ASR Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Maori (mi) — 18 models +Maori (mi) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Marathi (mr) — 20 models +Marathi (mr) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1962,26 +1905,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Mongolian (mn) — 20 models +Mongolian (mn) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -1990,26 +1932,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Nepali (ne) — 20 models +Nepali (ne) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2018,26 +1959,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Norwegian (no) — 19 models +Norwegian (no) — 18 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Nemotron 3.5 ASR Streaming 0.6B INT8 | sherpa-onnx | 682 MB | streaming, auto language | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | @@ -2045,67 +1985,61 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Norwegian Nynorsk (nn) — 18 models +Norwegian Nynorsk (nn) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Occitan (oc) — 18 models +Occitan (oc) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -2120,13 +2054,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Pashto (ps) — 20 models +Pashto (ps) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2135,26 +2072,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Persian (fa) — 23 models +Persian (fa) — 22 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2166,26 +2102,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Polish (pl) — 24 models +Polish (pl) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2198,26 +2133,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Portuguese (pt) — 24 models +Portuguese (pt) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2230,26 +2164,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Punjabi (pa) — 20 models +Punjabi (pa) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2258,26 +2191,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Romanian (ro) — 24 models +Romanian (ro) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2290,26 +2222,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Russian (ru) — 28 models +Russian (ru) — 27 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2326,130 +2257,125 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Sanskrit (sa) — 18 models +Sanskrit (sa) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Serbian (sr) — 18 models +Serbian (sr) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Shona (sn) — 18 models +Shona (sn) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Sindhi (sd) — 18 models +Sindhi (sd) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Sinhala (si) — 20 models +Sinhala (si) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2458,26 +2384,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Slovak (sk) — 21 models +Slovak (sk) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -2487,26 +2412,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Slovenian (sl) — 20 models +Slovenian (sl) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Parakeet TDT 0.6B v3 INT8 | sherpa-onnx | 672 MB | — | @@ -2515,52 +2439,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Somali (so) — 18 models +Somali (so) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Spanish (es) — 26 models +Spanish (es) — 25 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2575,26 +2497,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Sundanese (su) — 20 models +Sundanese (su) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2603,52 +2524,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Swahili (sw) — 18 models +Swahili (sw) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Swedish (sv) — 24 models +Swedish (sv) — 23 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2661,26 +2580,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Tagalog (tl) — 21 models +Tagalog (tl) — 20 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Moonshine Tagalog Tiny Streaming | moonshine | 32 MB | streaming | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | @@ -2690,26 +2608,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Tajik (tg) — 20 models +Tajik (tg) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2718,26 +2635,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Tamil (ta) — 20 models +Tamil (ta) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2746,52 +2662,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Tatar (tt) — 18 models +Tatar (tt) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Telugu (te) — 20 models +Telugu (te) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2800,26 +2714,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Thai (th) — 23 models +Thai (th) — 22 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2831,52 +2744,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Tibetan (bo) — 18 models +Tibetan (bo) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Turkish (tr) — 22 models +Turkish (tr) — 21 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -2887,52 +2798,50 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Turkmen (tk) — 18 models +Turkmen (tk) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Ukrainian (uk) — 22 models +Ukrainian (uk) — 21 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Parakeet TDT 0.6B v3 | mlx-audio | 2.51 GB | Apple silicon | | Moonshine Ukrainian | moonshine | 141 MB | personal use | @@ -2943,26 +2852,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Urdu (ur) — 20 models +Urdu (ur) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -2971,15 +2879,11 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
@@ -2994,13 +2898,16 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria
-Uzbek (uz) — 20 models +Uzbek (uz) — 19 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | Dolphin Base CTC INT8 | sherpa-onnx | 104 MB | auto language | | Dolphin Small CTC INT8 | sherpa-onnx | 250 MB | auto language | @@ -3009,26 +2916,25 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Vietnamese (vi) — 25 models +Vietnamese (vi) — 24 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | MLX Qwen3-ASR 0.6B 4-bit | mlx-audio | 713 MB | Apple silicon | | MLX Qwen3-ASR 1.7B 4-bit | mlx-audio | 1.61 GB | Apple silicon | @@ -3042,93 +2948,86 @@ Afrikaans, Amharic, Arabic, Assamese, Azerbaijani, Bashkir, Belarusian, Bulgaria | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Welsh (cy) — 18 models +Welsh (cy) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Yiddish (yi) — 18 models +Yiddish (yi) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
-Yoruba (yo) — 18 models +Yoruba (yo) — 17 models | Model | Engine | Download | Flags | | --- | --- | ---: | --- | | faster-whisper Tiny | faster-whisper | 75 MB | — | | faster-whisper Base | faster-whisper | 145 MB | — | | faster-whisper Small | faster-whisper | 484 MB | — | +| faster-whisper Medium | faster-whisper | 1.53 GB | — | +| faster-whisper Large v3 Turbo | faster-whisper | 1.62 GB | — | +| faster-whisper Large v3 | faster-whisper | 3.09 GB | — | | MLX Whisper Large v3 Turbo 4-bit | mlx-audio | 469 MB | Apple silicon | | whisper.cpp Tiny | whisper.cpp | 75 MB | — | | whisper.cpp Base | whisper.cpp | 142 MB | — | | whisper.cpp Small | whisper.cpp | 466 MB | — | | Whisper Medium Q4 | whisper.cpp | 492 MB | — | | Whisper Large v3 Q5 | whisper.cpp | 1.08 GB | — | -| whisper.cpp Medium | whisper.cpp | 1.50 GB | — | | whisper.cpp Large v3 Turbo | whisper.cpp | 1.62 GB | — | -| whisper.cpp Large v3 | whisper.cpp | 3.00 GB | — | | WhisperKit Tiny | whisperkit | 66 MB | — | | WhisperKit Base | whisperkit | 145 MB | — | | WhisperKit Small (compressed) | whisperkit | 216 MB | — | -| WhisperKit Small | whisperkit | 484 MB | — | | WhisperKit Large v3 Turbo (compressed) | whisperkit | 626 MB | — | -| WhisperKit Large v3 Turbo | whisperkit | 1.61 GB | — |
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 4fe23bd..48ab93f 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -156,7 +156,10 @@ request. Check: - the active engine is `sherpa-onnx`, Moonshine, or `faster-whisper`, not the per-request `whisper.cpp` CLI - Precision is INT8 and CPU threads is 0 or no higher than the effective CPU - allocation shown on Overview + allocation shown on Overview. Leave it at 0 unless you are deliberately + capping the gateway: 0 means the engine counts the host's physical cores, + clamped by the container's CPU quota, so it neither oversubscribes a cgroup + nor spreads a batch across hyperthread siblings that then hold it back - the container has not been assigned a fractional CPU quota - Tiny/Base is used before Small/Medium on low-power servers - for capable hardware, the `native`, `cuda`, or `vulkan` Compose profile is @@ -165,6 +168,20 @@ request. Check: Do not run multiple profile services together: they share port 8765 and the model volume. SenseVoice Small INT8 is the smallest portable multilingual choice, while Parakeet TDT INT8 covers 25 European languages with punctuation. + +If you need Whisper itself rather than one of the faster architectures, the +choice is between two tiers, and it is a speed/accuracy trade rather than a +free win. On the Open ASR Leaderboard's English average, full Whisper Large v3 +scores 5.78 WER and Large v3 Turbo 6.36; on German the gap is wider, 4.00 +against 6.12. Turbo keeps Large v3's encoder and replaces its 32-layer decoder +with four, so it is roughly 1.7x faster and half the download. Pick Turbo when +latency matters, full Large v3 when accuracy does — as a faster-whisper model +either way, so the weights stay resident between requests. + +Distil-Whisper Large v3.5 beats both on English (5.40) at the same size, if you +do not need other languages. The whisper.cpp Medium builds and the 3 GB +whisper.cpp Large v3 are retired; an installed copy keeps working and the WebUI +points at its replacement. Moonshine English Tiny/Small Streaming are fast Linux options; Tiny prioritizes latency and Small balances speed with accuracy. Other Moonshine languages use the batch upload path after recording. The app automatically diff --git a/pyproject.toml b/pyproject.toml index eae4ba1..029f100 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,11 @@ dependencies = [ [project.optional-dependencies] engines = [ "faster-whisper>=1.2,<2", + # sherpa-onnx declares no dependencies of its own, so numpy would otherwise + # reach this extra only by way of faster-whisper's onnxruntime. Both engine + # call sites work without it; naming it here keeps the vectorized path + # guaranteed for real deployments instead of incidental. + "numpy>=1.21,<3", "moonshine-voice>=0.1.5,<0.2", "sherpa-onnx>=1.13.4,<2", "sherpa-onnx-bin>=1.13.4,<2", @@ -101,6 +106,8 @@ module = [ "faster_whisper.*", "moonshine_voice", "moonshine_voice.*", + # Arrives with the `engines` extra; both call sites fall back without it. + "numpy", "pysbd", "pysbd.*", "qrcode", diff --git a/scripts/harvest-model-pins.py b/scripts/harvest-model-pins.py index 59d33b8..d686644 100755 --- a/scripts/harvest-model-pins.py +++ b/scripts/harvest-model-pins.py @@ -211,9 +211,14 @@ def main() -> int: except (OSError, json.JSONDecodeError): existing = {} - models = [m for m in _BASE_CATALOG if m.id.startswith(args.only)] + # Retired entries are refused by `start_download`, so a pin for one can + # never be checked against a fresh download and only rots in the file. + models = [m for m in _BASE_CATALOG if m.id.startswith(args.only) and not m.retired] print(f"Harvesting pins for {len(models)} model(s)\n") - records: dict[str, Any] = dict(existing) + live_ids = {model.id for model in _BASE_CATALOG if not model.retired} + records: dict[str, Any] = { + model_id: record for model_id, record in existing.items() if model_id in live_ids + } pinned = skipped = 0 for model in models: print(f" {model.id}") diff --git a/tests/test_audio.py b/tests/test_audio.py index 7f8bd75..e60e175 100644 --- a/tests/test_audio.py +++ b/tests/test_audio.py @@ -1,11 +1,16 @@ from __future__ import annotations +import builtins +import math +import random import wave +from array import array from pathlib import Path import pytest +from pytest import MonkeyPatch -from app.audio import FFmpegNormalizer +from app.audio import FFmpegNormalizer, _root_mean_square from app.errors import InvalidAudioError, SilentAudioError MAXIMUM_RECORDING_DURATION_SECONDS = 120 @@ -48,3 +53,32 @@ async def test_silence_is_rejected(tmp_path: Path) -> None: await FFmpegNormalizer().normalize( source, tmp_path / "output.wav", MAXIMUM_RECORDING_DURATION_SECONDS ) + + +def _pure_python_rms(samples: array[int]) -> float: + return math.sqrt(sum(sample * sample for sample in samples) / len(samples)) + + +@pytest.mark.parametrize("sample_count", [1, 5, 1000, 48_000]) +def test_both_rms_paths_agree_exactly(sample_count: int, monkeypatch: MonkeyPatch) -> None: + """The vectorized path must not shift the silence threshold. + + numpy comes in with the engine extras and is missing from a core install, + so the two branches decide the same recordings are silent or they disagree + about which uploads the gateway rejects. + """ + random.seed(sample_count) + samples = array("h", [random.randint(-32768, 32767) for _ in range(sample_count)]) + expected = _pure_python_rms(samples) + + assert _root_mean_square(samples) == pytest.approx(expected) + + real_import = builtins.__import__ + + def without_numpy(name: str, *arguments: object, **keywords: object) -> object: + if name == "numpy": + raise ImportError(name) + return real_import(name, *arguments, **keywords) # type: ignore[arg-type] + + monkeypatch.setattr(builtins, "__import__", without_numpy) + assert _root_mean_square(samples) == pytest.approx(expected) diff --git a/tests/test_faster_whisper.py b/tests/test_faster_whisper.py index 9416b0e..051e53a 100644 --- a/tests/test_faster_whisper.py +++ b/tests/test_faster_whisper.py @@ -8,7 +8,7 @@ from pytest import MonkeyPatch from app.models.base import EngineTranscription, TranscriptionOptions -from app.models.faster_whisper import FasterWhisperEngine +from app.models.faster_whisper import FasterWhisperEngine, _decode, _extract_text class _Segment: @@ -60,3 +60,37 @@ async def test_faster_whisper_keeps_one_model_loaded( "local_files_only": True, } ] + + +class _VadOnlyModel: + """Stands in for a model whose VAD pass finds nothing to decode.""" + + def __init__(self, _: str, **options: object) -> None: + self.vad_flags: list[object] = [] + + def transcribe(self, _: str, **options: object) -> tuple[list[_Segment], object]: + self.vad_flags.append(options["vad_filter"]) + if options["vad_filter"]: + return [], object() + return [_Segment()], object() + + +def test_the_vad_pass_runs_first_and_skips_the_silence() -> None: + model = _VadOnlyModel("model") + _decode(model, Path("audio.wav"), TranscriptionOptions("en", "raw"), use_vad=True) + + assert model.vad_flags == [True] + + +def test_a_quiet_clip_that_vad_rejects_is_decoded_in_full_instead() -> None: + """The RMS gate upstream already refused true silence. + + An empty VAD pass therefore means quiet speech Silero was unsure about, and + a slower full decode beats returning a transcription failure for it. + """ + model = _VadOnlyModel("model") + + text = _extract_text(model, Path("audio.wav"), TranscriptionOptions("en", "raw")) + + assert text == "persistent result" + assert model.vad_flags == [True, False] diff --git a/tests/test_inference_threads.py b/tests/test_inference_threads.py new file mode 100644 index 0000000..684d784 --- /dev/null +++ b/tests/test_inference_threads.py @@ -0,0 +1,123 @@ +"""Thread-count policy shared by every CPU inference engine.""" + +from __future__ import annotations + +import pytest +from pytest import MonkeyPatch + +from app import system + +# Some hypervisors report an identical topology line for every vCPU. +CPUINFO_DEGENERATE_TOPOLOGY = "".join( + f"processor\t: {index}\nphysical id\t: 0\ncore id\t\t: 0\n" for index in range(16) +) +CPUINFO_TWO_CORES_FOUR_THREADS = """\ +processor\t: 0 +physical id\t: 0 +core id\t\t: 0 +processor\t: 1 +physical id\t: 0 +core id\t\t: 1 +processor\t: 2 +physical id\t: 0 +core id\t\t: 0 +processor\t: 3 +physical id\t: 0 +core id\t\t: 1 +""" + + +def test_an_explicit_operator_choice_wins() -> None: + assert system.inference_thread_count(3) == 3 + + +def test_threads_are_capped_so_synchronisation_does_not_dominate( + monkeypatch: MonkeyPatch, +) -> None: + monkeypatch.setattr(system.os, "cpu_count", lambda: 128) + monkeypatch.setattr(system._CpuSets, "physical_cpu_count", classmethod(lambda cls, _: 64)) + monkeypatch.setattr(system._CpuSets, "effective_cpu_count", classmethod(lambda cls, _: 64.0)) + + assert system.inference_thread_count() == system.MAXIMUM_INFERENCE_THREADS + + +def test_a_container_quota_holds_the_count_down(monkeypatch: MonkeyPatch) -> None: + """`os.cpu_count()` reports the host's cores, not the cgroup's share.""" + monkeypatch.setattr(system.os, "cpu_count", lambda: 64) + monkeypatch.setattr(system._CpuSets, "physical_cpu_count", classmethod(lambda cls, _: 32)) + monkeypatch.setattr(system._CpuSets, "effective_cpu_count", classmethod(lambda cls, _: 2.0)) + + assert system.inference_thread_count() == 2 + + +def test_at_least_one_thread_is_always_requested(monkeypatch: MonkeyPatch) -> None: + monkeypatch.setattr(system.os, "cpu_count", lambda: 1) + monkeypatch.setattr(system._CpuSets, "physical_cpu_count", classmethod(lambda cls, _: 0)) + monkeypatch.setattr(system._CpuSets, "effective_cpu_count", classmethod(lambda cls, _: 0.4)) + + assert system.inference_thread_count() == 1 + + +def test_hyperthread_siblings_are_not_counted_as_cores() -> None: + cores = system._CpuSets._cpuinfo_cores(CPUINFO_TWO_CORES_FOUR_THREADS) + + assert len(cores) == 2 + + +@pytest.mark.parametrize("cpuinfo", ["", "processor\t: 0\n"]) +def test_a_cpuinfo_without_core_ids_falls_back_to_the_logical_count( + cpuinfo: str, monkeypatch: MonkeyPatch +) -> None: + """A kernel that reports no topology must not leave the engine single-threaded.""" + assert system._CpuSets._cpuinfo_cores(cpuinfo) == set() + + monkeypatch.setattr( + system.Path, + "read_text", + lambda self, **keywords: cpuinfo, # noqa: ARG005 + ) + assert system._CpuSets._linux_physical_cpus(6) == 6 + + +def test_an_unreadable_cpuinfo_falls_back_to_the_logical_count( + monkeypatch: MonkeyPatch, +) -> None: + def unreadable(self: object, **keywords: object) -> str: + raise OSError("no /proc") + + monkeypatch.setattr(system.Path, "read_text", unreadable) + assert system._CpuSets._linux_physical_cpus(6) == 6 + + +def test_a_degenerate_hypervisor_topology_does_not_go_single_threaded( + monkeypatch: MonkeyPatch, +) -> None: + """One reported core for sixteen vCPUs is a bogus topology, not a 1-core host. + + Trusting it would run every engine single-threaded — a several-fold + regression against simply counting logical CPUs — with no diagnostic. + """ + assert len(system._CpuSets._cpuinfo_cores(CPUINFO_DEGENERATE_TOPOLOGY)) == 1 + + monkeypatch.setattr( + system.Path, + "read_text", + lambda self, **keywords: CPUINFO_DEGENERATE_TOPOLOGY, # noqa: ARG005 + ) + assert system._CpuSets._linux_physical_cpus(16) == 8 + + +def test_a_believable_topology_is_still_trusted(monkeypatch: MonkeyPatch) -> None: + """The floor must not undo the point of counting cores at all.""" + monkeypatch.setattr( + system.Path, + "read_text", + lambda self, **keywords: CPUINFO_TWO_CORES_FOUR_THREADS, # noqa: ARG005 + ) + assert system._CpuSets._linux_physical_cpus(4) == 2 + + +def test_a_processor_block_without_a_package_does_not_inherit_the_previous_one() -> None: + mixed = "processor\t: 0\nphysical id\t: 0\ncore id\t\t: 0\nprocessor\t: 1\ncore id\t\t: 0\n" + + assert system._CpuSets._cpuinfo_cores(mixed) == {("0", "0"), ("", "0")} diff --git a/tests/test_model_manager.py b/tests/test_model_manager.py index d00d601..57a2bee 100644 --- a/tests/test_model_manager.py +++ b/tests/test_model_manager.py @@ -12,7 +12,12 @@ import pytest from app import model_manager -from app.catalog import DEFAULT_CATALOG, RETIRED_CATALOG, CatalogModel +from app.catalog import ( + DEFAULT_CATALOG, + RETIRED_CATALOG, + CatalogModel, + recommended_ids, +) from app.model_manager import ( DownloadInProgressError, ModelIntegrityError, @@ -21,6 +26,7 @@ UnknownModelError, normalize_sha256, ) +from app.system import SystemInfo TINY_FILE_SIZE_BYTES = 11 TINY_FOLDER_SIZE_BYTES = 30 @@ -232,7 +238,7 @@ def test_catalog_includes_all_moonshine_lan_aaa() -> None: entries["faster-whisper:distil-medium.en"].huggingface_repo == "Systran/faster-distil-whisper-medium.en" ) - assert entries["faster-whisper:distil-large-v3"].license_name == "MIT" + assert entries["faster-whisper:distil-large-v3.5"].license_name == "MIT" def test_retired_moonshine_installation_remains_manageable(tmp_path: Path) -> None: @@ -1171,3 +1177,142 @@ def test_language_names_are_escaped() -> None: ) assert "