Repository navigation
Releases: Neywa-Labs/mlx-audio-swift
Releases · Neywa-Labs/mlx-audio-swift
Release list
v0.1.8
What's Changed
- Add VoxCPM TTS model by @lucasnewman in #319
- Add Phonon-2.5 models by @lucasnewman in #314
- Add OuteTTS model by @lucasnewman in #320
- Qwen3-TTS: keep the ICL prompt in the talker's dtype by @ahuzmeza in #315
- Cache packages to speed up CI by @lucasnewman in #323
- Add Higgs Audio v2 TTS model by @lucasnewman in #322
- Add rumik-oss TTS model by @lucasnewman in #321
- Add Higgs Audio v3 TTS model by @lucasnewman in #324
- Summarize models in README by @lucasnewman in #325
- Add Bark TTS model by @lucasnewman in #326
- Add Audio8 TTS model by @lucasnewman in #327
- Add VibeVoice Realtime model by @lucasnewman in #328
- Add KugelAudio model by @lucasnewman in #329
- Add Ming TTS model by @lucasnewman in #330
- Add Ming-3.0 TTS Tiny model by @lucasnewman in #331
- Add VibeVoice TTS model by @lucasnewman in #332
- IndexTTS: give the mel sequence the reference's positions by @ahuzmeza in #316
- Add LongCat TTS model by @lucasnewman in #337
- Add ZONOS2 TTS model by @lucasnewman in #338
- Add Audio8 hybrid TTS model by @lucasnewman in #339
- Add MeloTTS model by @lucasnewman in #340
- Add Voxtral TTS by @lucasnewman in #342
- Add Confucius4-TTS model by @lucasnewman in #341
- Add TADA TTS model by @lucasnewman in #344
- Add Ming Omni TTS model by @lucasnewman in #343
- Whisper: fix words lost at the 30 s cuts in long audio by @ahuzmeza in #345
- Parakeet: fix streaming repeating the whole transcript after a chunk merge by @ahuzmeza in #346
- Add OmniVoice 8-bit and voice-cloning helpers by @petik3 in #335
- Add Nemotron 3.5 Transcribe STT model by @lucasnewman in #348
- Fix blocking behavior when streaming with STT models by @lucasnewman in #349
- Qwen3-TTS: fix the upsample bias counted twice at chunk joins by @ahuzmeza in #350
- Updates for mlx-swift 0.33.0 by @lucasnewman in #359
- Soprano: fix ordinals read as "trillion" by @ahuzmeza in #358
- Mimi: fix attention seeing past its context window (PocketTTS cloning drops the first word) by @ahuzmeza in #357
- loadAudioArray: fix stereo files keeping only the left channel by @ahuzmeza in #355
- VoxCPM2: fix Chinese text coming out garbled by @ahuzmeza in #356
- Adopt MaterializedArray by @lucasnewman in #360
- Whisper, Cohere Transcribe: fix streaming resending the whole transcript on non-Latin text by @ahuzmeza in #351
- Qwen3-TTS: fix reference audio ignored when no transcript is given by @ahuzmeza in #352
- Kokoro, KittenTTS: fix English numbers read wrong or skipped by @ahuzmeza in #353
- Kokoro: fix accented letters in English text being dropped by @ahuzmeza in #354
- Canary: fix language names dropping the language tokens by @ahuzmeza in #361
- Mel spectrogram: drop the extra last frame, as Python does by @T0mSIlver in #363
- FireRedASR2: fix long audio dropping sentences and looping by @ahuzmeza in #362
- GLM-ASR: fix audio after 30 s being dropped by @ahuzmeza in #365
- Canary: fix long audio drifting and stopping early by @ahuzmeza in #364
- Add missing MLXFFT dependency to MLXAudioSTT by @ahuzmeza in #366
- Marvis, Mimi: fix the crash on reference audio of some lengths by @ahuzmeza in #367
- Mimi: fix resetState keeping the end of the previous clip by @ahuzmeza in #368
New Contributors
Full Changelog: v0.1.7...v0.1.8
v0.1.7
What's Changed
- VoxtralRealtime streaming encoder: write KV rows into preallocated storage by @T0mSIlver in #272
- Nemotron streaming: compute only new mel frames; keep MLX's buffer cache between steps by @T0mSIlver in #274
- VoxtralRealtime streaming: reuse the mel Hann window instead of rebuilding it per append by @T0mSIlver in #271
- VoxtralRealtime generateStream: build deltas from token bytes by @T0mSIlver in #273
- Fix speaking rate in non-streaming Qwen3-TTS generation by @lucasnewman in #290
- Irodori-TTS: add v4.1 and v4.1-MF (MeanFlow) support by @jonpol01 in #284
- Fix partial model downloads returning as valid from the HF cache by @lucasnewman in #291
- Nemotron streaming: reuse decoder and encoder work that has not changed by @T0mSIlver in #275
- Build against mlx-swift main (#469): Parakeet and Qwen3-TTS compile calls by @T0mSIlver in #292
- STT: forward the loadModel cache to the six loaders that dropped it by @T0mSIlver in #293
- Qwen3-ASR: cap maxTokens per chunk, not per file by @T0mSIlver in #294
- Add Mega-ASR model by @lucasnewman in #299
- Add Phonon 2 STT model by @lucasnewman in #297
- Whisper: add a translate task to STTGenerateParameters by @T0mSIlver in #295
- Add Granite Speech TurboCTC STT model by @lucasnewman in #298
- Add Fun-ASR-Nano STT model by @lucasnewman in #300
- Add Higgs Audio v3 STT model by @lucasnewman in #301
- Add Parakeet Redux STT model by @lucasnewman in #302
- Core: reuse a cached snapshot that has no config.json by @T0mSIlver in #296
- Add Granite Speech 4.1 and 5.0 STT models by @lucasnewman in #303
- Add Nemotron-VoiceChat codec by @lucasnewman in #304
- Add MiMo codec by @lucasnewman in #305
- TTS: Kokoro and Kitten text processors use the loadModel cache by @T0mSIlver in #307
- Add Qwen2-Audio model by @lucasnewman in #306
- Add offline Voxtral Mini support by @lucasnewman in #308
- Add VibeVoice ASR support by @lucasnewman in #309
- Add MiMo ASR model by @lucasnewman in #311
- Add Ming 3.0 ASR Tiny model by @lucasnewman in #312
- Add MOSS-Music model by @lucasnewman in #313
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- support for dia by @Lazarus-931 in #262
- Add VoxCPM2 TTS model (2B params, 48kHz, voice cloning) by @sb1992 in #175
- Fix parallel test runner by @lucasnewman in #282
- Remove dependencies on MLXLMCommon / MLXLLM by @lucasnewman in #287
- Add Gradium Phonon TTS model by @lucasnewman in #288
- Add translation example by @lucasnewman in #289
New Contributors
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed
- Update for mlx-swift / mlx-swift-lm by @lucasnewman in #281
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed
- Fix float32 leak in VoxtralRealtime streaming by @T0mSIlver in #226
- VoxtralRealtime streaming: incremental mel/conv front end (O(N²) → O(N) per utterance) by @T0mSIlver in #230
- VoxtralRealtime streaming: stop clearing the Metal buffer pool on every step by @T0mSIlver in #229
- Route Qwen3-ASR text attention through attentionWithCacheUpdate by @iannellomarco in #228
- Hoist per-layer-invariant attention inputs out of the Voxtral layer loops by @T0mSIlver in #231
- Honor Chatterbox emotion override with default conditioning by @yanchenko in #234
- VoxtralRealtime: load checkpoints with a quantized tied embedding by @T0mSIlver in #232
- Quantized KV cache for MOSS-Transcribe-Diarize (opt-in, memory-bounded long-form) by @iannellomarco in #225
- Add reproducible OmniVoice generation seed by @yanchenko in #233
- OmniVoice: honor task cancellation during generation by @raghakot in #227
- Stream Fish Speech progressively by @steipete in #237
- Support English Nemotron streaming checkpoints by @obra in #236
- Fix quantized Whisper checkpoint loading by @Parassharmaa in #235
- OmniVoice: emit per-step denoise progress through generateStream by @raghakot in #219
- Kokoro: expose the per-phoneme durations
generatealready computes by @SAPSentinel in #239 - fix(package): exclude SileroVAD README from the MLXAudioVAD target by @Pietroski in #250
- FireRedASR2: fix beam search topK gathering across rows by @Kn0688 in #253
- STT: scale fbank input to int16 unconditionally in FireRedASR2/SenseVoice by @Kn0688 in #256
- feat: add Breeze TTS 2 support by @dychen1 in #255
- Fix Qwen3-ASR mel frontend: Slaney mel scale + periodic Hann window by @ZigZagYea in #247
- support for spark-tts by @Lazarus-931 in #261
- Fix Spark tests in CI by @lucasnewman in #268
- VoxtralRealtime streaming: drop conv and adapter rows once they are consumed by @T0mSIlver in #263
- VoxtralRealtime decoder: append KV rows in place instead of rebuilding the window by @T0mSIlver in #264
- VoxtralRealtime streaming: decode the transcript one token at a time by @T0mSIlver in #265
- Improve padding for Qwen3-ASR batched inference by @lucasnewman in #269
- Fix test failures and remove trivial tests by @lucasnewman in #276
New Contributors
- @T0mSIlver made their first contribution in #226
- @iannellomarco made their first contribution in #228
- @yanchenko made their first contribution in #234
- @raghakot made their first contribution in #227
- @steipete made their first contribution in #237
- @obra made their first contribution in #236
- @Parassharmaa made their first contribution in #235
- @SAPSentinel made their first contribution in #239
- @Pietroski made their first contribution in #250
- @Kn0688 made their first contribution in #253
- @dychen1 made their first contribution in #255
- @ZigZagYea made their first contribution in #247
- @Lazarus-931 made their first contribution in #261
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed
- Fill in some missing codecs by @lucasnewman in #96
- Add Echo TTS by @lucasnewman in #97
- Add FireRed ASR 2 by @lucasnewman in #98
- Add SenseVoice (ASR/AER/LID) by @lucasnewman in #99
- Add Chatterbox Turbo by @lucasnewman in #102
- Update README.md by @Blaizzy in #104
- Add Fish Audio S2 Pro model by @lucasnewman in #106
- Add README for Qwen3 TTS by @lucasnewman in #107
- Fix Parakeet multilingual recognition (Russian/non-English) by @beshkenadze in #108
- Allow autodetecting language for Qwen3 ASR by @lucasnewman in #110
- feat: add MLXAudioG2P — neural ByT5 + dictionary lexicons by @beshkenadze in #121
- feat: add StyleTTS2 shared blocks, ALBERT encoder, and English G2P by @beshkenadze in #122
- feat: add KittenTTS text-to-speech model by @beshkenadze in #123
- feat: add Kokoro TTS with multilingual support by @beshkenadze in #124
- Add MLXFast dependency for MLXAudioCodecs by @noorbhatia in #128
- Add missing MLXFast dependency to MLXAudioSTT by @Hurryitup in #132
- Adding fromModelDirectory methods to various models by @ptsochantaris in #144
- fix: Kokoro 8-bit crash on quantized weight layout and NaN durations by @beshkenadze in #136
- Add Cohere Transcribe STT support by @beshkenadze in #129
- fix: Parakeet int8 Compatibility Fix by @RaihanulHaque in #145
- fix: Qwen3 TTS - handle mixed types in spkId and spkIsDialect for CustomVoice model by @Ichigo3766 in #146
- feat: speaker embedding support for Qwen3-TTS CustomVoice models by @Ichigo3766 in #148
- fix(cohere): load unmodified Python-produced quantized checkpoints by @beshkenadze in #153
- [Qwen3 TTS] Cache reference audio between generations by @lucasnewman in #125
- Add context support to Qwen3 ASR by @lucasnewman in #126
- fix: pass textProcessor through in KokoroModel.fromPretrained by @Oliver2213 in #151
- fix: exclude in-tree docs from SwiftPM targets by @gaelic-ghost in #152
- models: hide marvis rope caches from strict verification by @gaelic-ghost in #163
- models: escape underscore member reads in EnglishG2P by @gaelic-ghost in #161
- Upgrade package versions and adopt changes from mlx-lm-swift by @lucasnewman in #158
- Add DeepFilterNet speech enhancement model by @kylehowells in #100
- Parakeet(perf): batched decode, bf16 compute, TDT perf fixes by @beshkenadze in #167
- Add optional progressHandler to ModelUtils.resolveOrDownloadModel by @Oliver2213 in #166
- feat: add reusable qwen3 reference conditioning by @gaelic-ghost in #156
- docs: add contributing guide by @beshkenadze in #142
- Fix (Qwen3TTS): pass topK and minP from GenerateParameters by @Oliver2213 in #168
- Improved task cancellation handling for generation by @lucasnewman in #157
- Fix Qwen3ASR stream cancellation propagation by @summereasy in #172
- Add MOSS-TTS-Nano model by @lucasnewman in #169
- Add Silero VAD model by @beshkenadze in #176
- Qwen3-ASR: chunked prefill + asyncEval + repetition penalty + loop guard by @beshkenadze in #174
- Add MOSS-TTS model family by @lucasnewman in #179
- fix(MossTTS): gate homeDirectoryForCurrentUser behind #if os(macOS) by @brunobar79 in #189
- FireRedASR2Model: hide CMVN runtime arrays from strict-verify reflection by @heyzgj in #188
- perf(sortformer): single bulk readback in predsToSegments (~1.8x streaming) by @beshkenadze in #193
- Add Nemotron 3.5 ASR streaming model support by @vanch007 in #195
- Nemotron 3.5 ASR: fix prompt_kernel load crash + add cache-aware streaming (builds on #195) by @beshkenadze in #196
- refactor(stt): extract shared NeMo-family module; decouple NemotronASR from Parakeet (#197) by @beshkenadze in #198
- Kokoro: fix French nasal vowels dropped by Character tokenization by @slikmedia in #204
- Add Irodori-TTS (Japanese flow-matching TTS) by @jonpol01 in #206
- Add Whisper model family by @JacobLinCool in #192
- feat(voxtral): true incremental streaming for Voxtral Realtime by @beshkenadze in #205
- Fix Qwen3-TTS CustomVoice voice parsing by @summereasy in #186
- feat(nemotron_asr): incremental NemotronASRStreamSession for live mic by @beshkenadze in #208
- Voxtral Realtime: add Silero VAD pre-processor by @beshkenadze in #178
- Cohere Transcribe: add Silero VAD pre-processor by @beshkenadze in #177
- Add OmniVoice TTS (NAR diffusion over Qwen3 + HiggsAudioV2 codec, with voice cloning) by @JacobLinCool in #209
- docs(omnivoice): bf16 weights now include the complete tokenizer by @beshkenadze in #213
- Fix remote tokenizer loading for the MOSS models by @lucasnewman in #207
- Add Xcode project gen for SimpleChat example by @lucasnewman in #211
- Fill in remaining codecs for parity with mlx-audio by @lucasnewman in #214
- Add additional STT models by @lucasnewman in #215
- Add MOSS-Transcribe-Diarize by @lucasnewman in #221
- Add IndexTTS by @lucasnewman in #220
- Improve Voices STT controls and MOSS streaming by @Blaizzy in #223
New Contributors
- @noorbhatia made their first contribution in #128
- @Hurryitup made their first contribution in #132
- @ptsochantaris made their first contribution in #144
- @RaihanulHaque made their first contribution in #145
- @Ichigo3766 made their first contribution in #146
- @Oliver2213 made their first contribution in #151
- @gaelic-ghost made their first contribution in #152
- @kylehowells made their first contribution in #100
- @summereasy made their first contribution in #172
- @brunobar79 made their first contribution in #189
- @heyzgj made their first contribution in #188
- @vanch007 made their first contribution in #195
- @slikmedia made their first contribution in #204
- @jonpol01 made their first contribution in #206
- @JacobLinCool made their first contribution in #192
Full Changelog: v0.1.2...v0.1.3
v0.1.2
What's Changed
- feat: add MLXAudioLID module for spoken language identification by @beshkenadze in #80
- fix Parakeet V2 mel scale and add eval for joint output by @ekryski in #86
- Fix window chunking for Qwen3 ASR by @lucasnewman in #92
- Add clarifying comments on how to run tests, and fix test artifact remnants by @lucasnewman in #94
- Add granite speech 4 by @Blaizzy in #95
New Contributors
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed
- Use an OSS model instead of the on-device model for the SimpleChat example by @lucasnewman in #71
- Update README.md to reflect new audio models and enhancements by @Blaizzy in #72
- Add a CLI option to emit timestamps for speech <-> text alignment by @lucasnewman in #74
- Enhance model download validation and cache management in ModelUtils by @Blaizzy in #76
- Add an MLXArray-based audio resampling variant by @lucasnewman in #77
- VoicesApp - STS view added by @alpaycli in #78
- Improve performance of Qwen3 TTS by @lucasnewman in #81
- More performance improvements for Qwen3 TTS by @lucasnewman in #82
New Contributors
Full Changelog: v0.1.0...v0.1.1
v0.1.0
What's Changed
- Add DACVAE Codec by @Blaizzy in #2
- Add CI/CD tests by @Blaizzy in #3
- Add GLM ASR (STT) by @Blaizzy in #4
- Stop audio and generation when backgrounded to fix app crash by @adrgrondin in #8
- Fix the framework build so it can be referenced in Xcode by @lucasnewman in #10
- MLX-Audio Swift SDK v1 by @Blaizzy in #1
- Update README for modular SDK architecture and remove Kokoro TTS by @Copilot in #11
- Project cleanup by @lucasnewman in #12
- Add a basic CLI tool for TTS generation by @lucasnewman in #15
- Add support for Marvis TTS by @lucasnewman in #16
- Add Pocket TTS by @lucasnewman in #19
- Easier Voices app build by @lucasnewman in #20
- Fix voice matching for Pocket TTS by @lucasnewman in #21
- Use voices from the model repo instead of hardcoding by @lucasnewman in #22
- Move STT models to Models folder by @Blaizzy in #24
- Add Qwen3 ASR by @Blaizzy in #26
- Fix Soprano model by @lucasnewman in #28
- Add READMEs for each STT/TTS model by @lucasnewman in #27
- Add a simple local chat example by @lucasnewman in #25
- [Qwen3-ASR] Add live transcript support and lower peak usage by @Blaizzy in #32
- Add Qwen3-TTS conditional generation (VoiceDesign) support by @INQTR in #23
- [VAD / Diarization] Add sortformer by @Blaizzy in #33
- Refactor tests by @Blaizzy in #34
- Improved TTS sampling param handling by @lucasnewman in #30
- [STS] Add MossFormer2 SE speech enhancement module by @beshkenadze in #29
- [Qwen3ASR] Add STT + Live transcript to UI by @Blaizzy in #39
- Add remaining support for Qwen3 TTS base models by @lucasnewman in #45
- fix(sts): MossFormer2 speech enhancement quality — Kaldi fbank, RoPE, local loading by @beshkenadze in #44
- Add SAM Audio STS model by @lucasnewman in #46
- Add command line tool for STT by @lucasnewman in #47
- Fix loading of quantized Soprano models by @lucasnewman in #50
- Add Parakeet STT models by @lucasnewman in #51
- Add Voxtral Realtime STT model by @lucasnewman in #52
- Add LFM-2.5-Audio by @Blaizzy in #53
- Refactor sts app by @Blaizzy in #56
- Fix quantization for Qwen3 TTS models by @lucasnewman in #61
- Fix Voices App Example by @ikenwoo in #59
- Allow configuring the cache location for downloaded models by @lucasnewman in #60
- Remove dead code and fix all warnings by @lucasnewman in #62
- Add streaming support to the built-in audio player by @lucasnewman in #63
- Add Smart Turn v3 model by @lucasnewman in #64
- Fix Swift 6.2 compilation errors: @sendable closures and OptionSet type inference by @BenRacicot in #66
- Semantic VAD example by @lucasnewman in #67
- Add stock voices and clean up UI in the Voices app by @lucasnewman in #68
- Fix audio entitlements for MacOS and file validation in resolveDownload by @Blaizzy in #69
- Add streaming audio chunk support in Qwen3TTS model by @Blaizzy in #70
New Contributors
- @Blaizzy made their first contribution in #2
- @adrgrondin made their first contribution in #8
- @lucasnewman made their first contribution in #10
- @Copilot made their first contribution in #11
- @INQTR made their first contribution in #23
- @beshkenadze made their first contribution in #29
- @ikenwoo made their first contribution in #59
- @BenRacicot made their first contribution in #66
Full Changelog: https://github.com/Blaizzy/mlx-audio-swift/commits/v0.1.0