Repository navigation
Releases
Releases · Neywa-Labs/mlx-audio
v0.6.5
What's Changed
- Consume full currency magnitude word in Zonos2 money normalizer by @selimfedakar in #1113
- Map curly double quotes in IndexTTS normalizer CHAR_MAP by @selimfedakar in #1115
- fix(qwen3_tts): apply the speech-tokenizer decoder's sliding window by @ahuzmeza in #1117
- fix(voxtral_tts): keep 25 codec context frames when streaming by @ahuzmeza in #1119
- fix(soprano): speak decimal numbers instead of a literal word.word token by @selimfedakar in #1121
- fix(longcat): stop streaming after the last chunk by @ahuzmeza in #1120
- Update MLX-Audio branding for Neywa Labs by @Blaizzy in #1123
- Allow later versions of mlx by @lucasnewman in #1128
- fix(stt): carry rounding in SRT/VTT timestamps instead of emitting SS=60 by @selimfedakar in #1124
- Nemotron ASR: add Nemotron Unified by @T0mSIlver in #1127
- Chatterbox Turbo, Higgs Audio: fix top_k=1 by @ahuzmeza in #1134
- Keep the space after a bare time in the Zonos2 normalizer by @unaltolga in #1131
- Read the cents of a dollar amount in the IndexTTS normalizer by @unaltolga in #1133
- Expand times in the Soprano text normalizer by @unaltolga in #1132
- fix(kugelaudio): pass float timesteps to the diffusion head by @ehb54 in #1130
- fix(qwen3_tts): keep frames whose first codebook id is 0 when trimming decoded audio by @HengYangDS in #1116
- Switch the Nemotron Transcribe max tokens default to the recommended value by @lucasnewman in #1135
- fix(voxcpm2): run bfloat16 checkpoints in bfloat16 by @ahuzmeza in #1141
- fix(spark): stop voice cloning from crashing by @ahuzmeza in #1140
- Split numbers from adjacent letters in the Soprano text normalizer by @unaltolga in #1139
- test(fish-drama3): Steady the decode memory tests by @stickerdaniel in #1147
- Don't end a PocketTTS sentence at a period inside a number or word by @unaltolga in #1146
- test(qwen3_tts): allow TF32 rounding in the streaming window test by @ahuzmeza in #1144
- fix: feed log-probs to make_sampler so top_p actually applies by @DimitriChrysafis in #1149
- fix(confucius4): end the text prompt with by @ahuzmeza in #1145
- fix(mimo_v2_asr): build the input embeddings in the language model's dtype by @ahuzmeza in #1143
- fix(voxtral_tts): run the flow head in the model's dtype by @ahuzmeza in #1142
- Strip curly double quotes in the LongCat text normalizer by @unaltolga in #1136
- Read zero digits after the decimal point in the MeloTTS normalizer by @unaltolga in #1137
- Bump version to 0.6.5 by @lucasnewman in #1150
New Contributors
- @T0mSIlver made their first contribution in #1127
- @unaltolga made their first contribution in #1131
- @ehb54 made their first contribution in #1130
- @HengYangDS made their first contribution in #1116
- @DimitriChrysafis made their first contribution in #1149
Full Changelog: v0.6.4...v0.6.5
v0.6.4
What's Changed
- Fix/dramabox fp32 positions by @jaddai0 in #1066
- fix(indextts): default the tokenizer to the loaded model directory by @ahuzmeza in #1078
- fix(indextts): give the mel sequence the reference's positions by @ahuzmeza in #1079
- perf(higgs_audio_v3): prefill a shared reference once per batch by @ahuzmeza in #1091
- Nemotron 3.5 Transcribe improvements by @lucasnewman in #1092
- Add Audio8-TTS-Realistic 0.6B model by @lucasnewman in #1093
- Update macOS runner to use macos-latest by @lucasnewman in #1097
- fix(whisper): hold a character split across tokens in streaming by @ahuzmeza in #1094
- fix(soprano): read ordinals as ordinals by @ahuzmeza in #1095
- Use singular currency unit for one-unit decimal amounts in expand_currency by @selimfedakar in #1103
- fix(whisper): continue streaming after the text already emitted by @ahuzmeza in #1104
- Add LFM3-Audio 2B STS model by @lucasnewman in #1107
- fix(canary): decode long audio in chunks by @ahuzmeza in #1105
- fix(fireredasr2): decode long audio in chunks by @ahuzmeza in #1106
- Keep the space after a bare time expression in expand_time by @selimfedakar in #1099
- Prime ICL streaming decoder with reference codes (fixes first-chunk timbre mismatch) by @selimfedakar in #1096
- Add NVIDIA NemotronLabs RE-USE speech enhancement by @Blaizzy in #1101
- Bump version to 0.6.4 by @lucasnewman in #1111
- fish_qwen3_omni: load quantized checkpoints without changing conversion policy by @Longfortv5 in #1108
New Contributors
- @jaddai0 made their first contribution in #1066
- @ahuzmeza made their first contribution in #1078
- @selimfedakar made their first contribution in #1103
- @Longfortv5 made their first contribution in #1108
Full Changelog: v0.6.3...v0.6.4
v0.6.3
What's Changed
- perf(audio_io): bulk PCM conversion -- 28% less round-trip time by @dexhunter in #1083
- Add Maya-2 Native TTS model by @lucasnewman in #1086
- Add Nemotron 3.5 Transcribe support and Phonon examples by @Blaizzy in #1087
- Bump version to 0.6.3 by @lucasnewman in #1088
New Contributors
- @dexhunter made their first contribution in #1083
Full Changelog: v0.6.2...v0.6.3
v0.6.2
What's Changed
- Add Ming 3.0 TTS/ASR/Audio Tiny models by @lucasnewman in #1048
- fix(fish-drama3): drop the <|semantic:0|> frame right before EOS by @ItsOdeLeo in #1052
- Flatten line breaks for Fish Audio Drama 3 to avoid early turn ends. by @lucasnewman in #1055
- fix(tts/ming): honour stream=True in Ming-3.0 generate by yielding one result per text fragment by @tlq5l in #1054
- Add Granite-Speech-5.0-2B ASR/AST model by @lucasnewman in #1056
- fix(fish-drama3): bound memory across calls and for long chunks by @stickerdaniel in #1057
- fix(tts): set the streaming chunk flags in five models by @stickerdaniel in #1058
- fix(granite_speech): load the October 2026 granite-speech-4.1-2b-plus checkpoint by @pszemraj in #1061
- Fix Gradium Phonon TTS loading and threaded generation by @Blaizzy in #1063
- Generation sampling fixes for Ming 3.0 by @lucasnewman in #1062
- fix(granite_speech): apply repetition_penalty to log-probabilities by @pszemraj in #1064
- Add Phonon 2.5 STT model support by @lucasnewman in #1065
- fix(whisper): resolve no_speech token for pre-large-v3 vocabularies by @OceanChang0406 in #1069
- Add SpeechBrain ECAPA speaker embedding extractor by @Blaizzy in #1070
- test(fish-drama3): measure decode peaks without gc noise by @stickerdaniel in #1072
- fix(vibevoice_asr): fall back to Qwen2.5 tokenizer when the local one is empty by @OceanChang0406 in #1073
- fix(fish-drama3): sample the main token without a top-k cap by @stickerdaniel in #1074
- Load Kokoro voices from the selected model snapshot by @abaichuan1017 in #1077
- fix(ming): preserve query dtype in sliding attention masks by @tokg-venv in #1075
- fix(deps): require transformers[chat-template] so chat templates can render by @tokg-venv in #1076
- Bump version to 0.6.2 by @lucasnewman in #1081
New Contributors
- @ItsOdeLeo made their first contribution in #1052
- @tlq5l made their first contribution in #1054
- @OceanChang0406 made their first contribution in #1069
- @abaichuan1017 made their first contribution in #1077
- @tokg-venv made their first contribution in #1075
Full Changelog: v0.6.1...v0.6.2
v0.6.1
What's Changed
- Ming dense: fix the prompt contract and support Ming-3.0-tts-0.5B by @cguldogan in #1047
- fix(server): use a writable temp file for STT uploads by @regcs in #1042
- fix(irodori-tts): speaker_kv_scale rollback crashes with independent CFG and dual conditioning by @matzkoh in #1044
- Add Gradium Phonon TTS model by @lucasnewman in #1049
- Bump version to 0.6.1 by @lucasnewman in #1050
New Contributors
Full Changelog: v0.6.0...v0.6.1
v0.6.0
What's Changed
- Fix upsampling to use the existing FIR resampler by @widechaos in #1021
- Fold Fish S1 DAC weight norm at load by @stickerdaniel in #1017
- Add Fish Audio Drama 3 by @stickerdaniel in #1018
- Optimize Breeze-TTS generation by @lucasnewman in #1010
- Fix the docs build by @lucasnewman in #1022
- fix(stt): tokenizer-safe streaming detokenization by @pszemraj in #983
- Fix Nemotron ASR CI after mlx core changes by @lucasnewman in #1032
- Fix CI for docs pages by @lucasnewman in #1033
- fish_drama3 convert: --head-bits, --expert-group-size, --expert-bits-map by @fcmeyer in #1028
- fix(server): use Qwen3-TTS generation config for omitted sampling params by @chnln in #995
- encodec, phonon: fall back to plain MLX when Metal is unavailable by @Cassian433 in #1025
- docs(fish-drama3): link an 8-bit checkpoint with bf16 dense and tower by @cguldogan in #1024
- docs(omnivoice): fix CLI flags and tokenizer path in README by @Eloitor in #1027
- fix(tts): AudioPlayer.stop() drops audio that never reached the auto-start threshold by @bennyliaw in #1001
- docs(tts): Link Drama 3 3-bit checkpoint on mlx-community by @NavSha in #1023
- fix(audio_io): decode bytes and mislabeled files, add a duration limit by @ykhrustalev in #1013
- Fix model category probing with base dependencies by @lucasnewman in #1034
- fix(stt): keep Qwen3-ASR language auto-detection per chunk by @etzelm in #1014
- Remove empty VoxCPM test by @atesahmet0 in #1035
- Add Phonon-2 speech recognition support by @atesahmet0 in #1030
- docs(qwen3_tts): Base checkpoints have no preset speakers by @hsliuustc0106 in #1000
- fix(qwen3_tts): make the 0.6B instruct guard reachable by @hsliuustc0106 in #999
- docs(qwen3_tts): clarify voice cloning vs speaker synthesis usage rules by @mm65x in #906
- Use a growing KV cache for Dia by @lucasnewman in #1037
- fix(fish_speech): prevent fast_ path and embeddings from quantizing to fix convert script by @mm65x in #905
- fix(whisper): ignore empty non-speech token encodings by @saichowdary007 in #934
- fix(stt): validate empty Qwen3-ASR audio by @ainergiz in #931
- fix(qwen3-tts): prefill full text to avoid slow speech by @atesahmet0 in #1036
- fix(stt): stop fabricating Qwen3-ASR stream timestamps by @ainergiz in #930
- fix(server): forward prompt to STT models on /v1/audio/transcriptions by @Bannng in #997
- Add MiMo-V2.5-ASR STT support by @ailuntx in #719
- feat(stt): add Granite Speech 4.1 Plus support by @pszemraj in #978
- Pin latest MLX version, fix tests by @lucasnewman in #1039
- VibeVoice performance improvements by @lucasnewman in #1040
- Use model sampling parameters by default by @lucasnewman in #1043
- Bump version to 0.6.0 by @lucasnewman in #1045
New Contributors
- @widechaos made their first contribution in #1021
- @stickerdaniel made their first contribution in #1017
- @pszemraj made their first contribution in #983
- @fcmeyer made their first contribution in #1028
- @chnln made their first contribution in #995
- @Cassian433 made their first contribution in #1025
- @cguldogan made their first contribution in #1024
- @Eloitor made their first contribution in #1027
- @bennyliaw made their first contribution in #1001
- @NavSha made their first contribution in #1023
- @atesahmet0 made their first contribution in #1035
- @hsliuustc0106 made their first contribution in #1000
- @saichowdary007 made their first contribution in #934
- @Bannng made their first contribution in #997
- @ailuntx made their first contribution in #719
Full Changelog: v0.5.9...v0.6.0
v0.5.9
What's Changed
- fix(qwen3_tts): don't add the transposed-conv bias twice in streaming decode by @Shoofio in #1003
- Add Irodori-TTS v4-Large support (T5Gemma2 text encoder) by @yoshphys in #993
- Add streaming support for Fish S2 Pro by @x-n2o in #977
- mossformer2_se: use the custom Metal kernels only when Metal is available by @joshuaswarren in #1004
- Add Nemotron speech streaming STT by @Lazarus-931 in #992
- Reuse Nemotron predictor results across blank frames by @lyonsno in #1006
- Migrate to httpx2, fix CI by @lucasnewman in #1012
- fix(server): stop capping /v1/audio/transcriptions at 1024 tokens when max_tokens is omitted by @etzelm in #1009
- Bump version to 0.5.9 by @lucasnewman in #1015
New Contributors
- @Shoofio made their first contribution in #1003
- @x-n2o made their first contribution in #977
- @joshuaswarren made their first contribution in #1004
- @etzelm made their first contribution in #1009
Full Changelog: v0.5.8...v0.5.9
v0.5.8
What's Changed
- Fix Voxtral streaming packet boundary drift by @Lazarus-931 in #990
- perf(stt): speed up Qwen3 timestamp repair by @Hosi121 in #982
- Fix Voxtral TTS openings: decode the first frame from the prompt state by @whallysson in #989
- fix(stt): preserve MOSS convolution layout when loading MLX weights by @z11i in #976
- fix(breeze): keep bf16 prompt embeddings in bf16 by @EdwardGong in #987
- Expose realtime transcription capability by @Lazarus-931 in #991
- Revert realtime transcription capability endpoint by @Lazarus-931 in #996
- Bump version to 0.5.8 by @lucasnewman in #998
New Contributors
- @Hosi121 made their first contribution in #982
- @whallysson made their first contribution in #989
- @z11i made their first contribution in #976
- @EdwardGong made their first contribution in #987
Full Changelog: v0.5.7...v0.5.8
v0.5.7
What's Changed
- Bump version to 0.5.7 by @lucasnewman in #981
- Remove errant soundfile references by @lucasnewman in #980
Full Changelog: v0.5.6...v0.5.7
v0.5.6
What's Changed
- Add Parakeet Redux by @lucasnewman in #969
- Add Nemotron 3 Diarization model by @lucasnewman in #970
- Add Nemotron ASR + diarization example by @lucasnewman in #971
- Bump version to 0.5.6 by @lucasnewman in #973
Full Changelog: v0.5.5...v0.5.6