Skip to content

Releases: FluidInference/FluidAudio

v0.15.5

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 07 Jul 22:55
19600a4

Highlights

  • Download stack rebuilt (#765). The monolithic DownloadUtils is replaced by a composable ModelHub with resumable downloads (HTTP Range), byte-level progress, artifact validation before caching, and a shared retry policy that honors Retry-After. Breaking: DownloadUtils → ModelHub (#779).
  • Parakeet unified ASR (#705). Native-Swift mel front-end, word-level timestamps, and lower-latency streaming tiers.
  • Custom vocabulary controls (#647, #702, #724). Per-term CTC thresholds plus opt-in knobs to curb short-term over-firing and disable the acoustic spotter-rescue.

ASR

  • Native-Swift mel front-end fixes iPadOS cold-start zero output (#744)
  • Repair stale/corrupt Nemotron multilingual latin tokenizer on download (#690)
  • Remove chunk-merge seam artifacts in offline transcription (#708), plus word-boundary-safe fallbacks for 3 residual seam-merge drop paths (#759)
  • Fetch parakeet_vocab.json in AsrModels.download (#763)
  • Feature Provider classes for unified Parakeet ASR (#713, @SGD2718)
  • Fix type-checker timeout in NemotronMultilingualFleursBenchmark (#732, @kripskroll)

TTS

  • Shared English text normalization (numbers/times) + initialism helpers (#715); adopted by StyleTTS2 (#720)
  • Auto-chunk long text in KokoroAne high-level synthesize (#717)
  • Fix KokoroAne strided MLMultiArray handling (#730, @XUJiahua)
  • Supertonic: inter-chunk silence 0.3s → 0.05s + --silence flag (#737)

Diarization

  • BNNS-fixed Sortformer v3 models, precision/compute-unit control + cancellation (#728)
  • Deterministic, robust offline VBx re-clustering via K-Means n_init (#735, @testfields)
  • Honor configuration.computeUnits in OfflineDiarizerModels.load (#743, @chadneal)
  • Optional progressHandler on performCompleteDiarization (#753, @thatbin)
  • Honor configuration.computeUnits in OfflineDiarizerModels.load (#743, @chadneal)
  • Optional progressHandler on performCompleteDiarization (#753, @thatbin)
  • Re-embed zero-vote spans instead of arbitrary cluster-0 tie-break (#751, @ComicBit)
  • LS-EEND speaker pre-enrollment bugfixes (#729, @SGD2718)

Download infrastructure (#765)

  • Wave 1: characterization tests + download smoke CI (#770)
  • Wave 2: extract HFClient + RetryPolicy primitives (#771)
  • Wave 3: one paginating HFTreeLister (#772)
  • Wave 4: FileDownloader, ModelCache, ProgressReporter; DownloadUtils becomes a façade (#777)
  • Wave 5: converge fetchHuggingFaceFile onto the shared policy (#778)
  • Wave 6: ModelHub replaces DownloadUtils (#779) — breaking
  • Resumable downloads (#768), byte-level progress (#764), byte-weighted subdirectory progress (#769, @JulianPscheid), artifact validation (#741), preserve cache on cancelled first load (#749, @ComicBit)

VAD

Benchmarks & Docs

  • Fail loudly on missing AMI annotations instead of scoring placeholder ground truth (#754)
  • Fetch AMI corpus from HuggingFace mirror, Edinburgh fallback (#767)
  • Add evoglyph to the Showcase (#755, @lucasmccomb)

New Contributors

@kripskroll, @testfields, @lucasmccomb, @thatbin, @chadneal, @holovchenko

Full Changelog: v0.15.4...v0.15.5

v0.15.4 japanese kokoro

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 16 Jun 17:49
b9d4372

What's Changed

  • fix(tts): treat KokoroAne quote delimiters as punctuation by @LemonCANDY42 in #696
  • fix(tts/kokoro-ane): synthesis correctness + doc accuracy by in #697
  • fix(tts/kokoro-ane): KokoroNoise v2 — atan2 phase fix (removes HF sharpness) in #700
  • feat(asr): expose per-token timings from StreamingUnifiedAsrManager by @ComicBit in #701
  • Make SenseVoice downloads precision-aware by @pHequals7 in #703
  • feat(tts/kokoro-ane): Japanese variant + PyTorch-matched output level by in #699

New Contributors

Full Changelog: v0.15.3...v0.15.4

v0.15.3

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 13 Jun 03:58
3c6e79f

What's Changed

  • feat(tts): M5 benchmark re-baseline + Kokoro ane-tail-gpu (M5 fix) + Supertonic int4 default + PocketTTS v2.1 ANE docs in #666
  • fix(kokoro): make the M5-safe routing the default (Kokoro works on M5 out of the box) in #671
  • chore(asr): remove experimental Parakeet CTC zh-CN Mandarin model in #675
  • Remove experimental Magpie multilingual TTS backend in #674
  • chore(asr): remove experimental Qwen3 ASR backend in #676
  • fix(download): retry transient per-file failures in downloadRepo by @JulianPscheid in #681
  • feat(tts/pocket): ANE placements — rank-4 split-KV models (.ane) + MLState pipeline (.aneState) by @Alex-Wengg in #679
  • fix(kokoro): route the Noise stage to GPU in the M5-safe preset (+~10% synth) in #677
  • feat(asr/eou): opt-in fused decoder+joint_decision path (+7-9% RTFx, WER neutral-or-better) in #680
  • feat(asr): expose per-token timings from Nemotron streaming ASR (English + multilingual) by @JulianPscheid in #673
  • Add TypeWhisper to the FluidAudio showcase by @SeoFood in #685
  • fix(asr): make SlidingWindowAsrConfig.default fit the model's 240k-sample input in #689
  • fix(asr): splice long-form chunk merges on SentencePiece word boundaries in #688
  • fix(tts): Misaki-lexicon-first English frontend for KokoroAne in #692
  • feat(asr): Parakeet Unified 0.6B backend (chunked-attention streaming + offline batch) in #693

New Contributors

Full Changelog: v0.15.2...v0.15.3

v0.15.2

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 07 Jun 12:26
7f963cd

What's Changed

  • feat(tts/supertonic3): quantized + ANE-bucketed VectorEstimator in #664
  • PocketTTS v2.1: fused flow decoder (ANE) + cond prefill + fp16 flowlm (~1.8× RTFx) in #665

Full Changelog: v0.15.1...v0.15.2

v0.15.1

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 05 Jun 16:22
ed66535

What's Changed

  • perf(asr): opt-in GPU encoder placement for Parakeet v3 (+~8% RTFx, WER-neutral) in #659
  • feat(asr): English Nemotron streaming 2240ms tier + B1 fusion (+50% RTFx, WER-neutral) in #660

Full Changelog: v0.15.0...v0.15.1

v0.15.0 — Multistreamer

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 04 Jun 04:27
b1c82cf

What's Changed

  • feat(asr): SenseVoiceSmall CoreML backend (multilingual, non-autoregressive) in #648
  • feat(asr): Paraformer-large (zh) CoreML backend (non-autoregressive, CIF) in #651
  • fix(download): fetch repo-root vocab.json for Cohere Transcribe (#649)g in #650
  • feat(download): add offline-only enforcement via DownloadUtils.enforceOffline by @leecrossley in #632
  • feat(asr): Nemotron 3.5 ASR Streaming Multilingual 0.6B (40 locales, on-device CoreML/ANE) g in #657

New Contributors

Full Changelog: v0.14.8...v0.15.0

v0.14.8

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 31 May 17:48
56607d9

What's Changed

  • fix(asr): honor caller modelNames in DownloadUtils for non-baseline files (#524) in #625
  • Fix/word boost improvements by @smdesai in #634
  • fix(cli): expose missing Parakeet langs, add Greek script support by @rpkyle in #637
  • Add timestamp support to EoU Streaming by @Kavi-Gupta in #629
  • fix(asr): reduce English drift on French recordings via token blocklist by @Matth-93 in #630
  • feat(diarizer): expose per-chunk embeddings on DiarizationResult by @adamsro in #633
  • TTS: store downloaded models in Application Support, not Caches (iOS) in #642
  • PocketTTS: stride-aware conditioning extraction for cloned voices in #643
  • Supertonic-3: built-in voice enum + on-demand voice download in #644

New Contributors

Full Changelog: v0.14.7...v0.14.8

v0.14.7

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 19 May 02:17
8048812

What's Changed

  • feat(tts/pockettts): add 5 native-language voices + slim language-pack downloads ~40% in #624
  • feat(cli): expose all unexposed config fields across 6 commands by @barzhomi in #616
  • fix(asr): add opt-in v3 no-mel decode arbitration by @vdt4534 in #604

New Contributors

Full Changelog: v0.14.6...v0.14.7

v0.14.6

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 17 May 06:29
364d839

What's Changed

  • feat(tts): Supertonic-3 multilingual CoreML TTS in #617
  • refactor(tts): async StyleTTS2 predict + drop non-native Magpie synthesizeStream in #589
  • Make SpeakerManager a struct and de-async DiarizerManager by @panv-kw in #591
  • feat(tts/magpie): warmup API for cold-start mitigation (#60 Track 2) in #595* Fixed LS-EEND Memory Leak + Updated Docs by @SGD2718 in #605
  • fix(tts/pocket-tts): repair v1 voice cloning for pocket-tts 2.0.0 (#592) in #601
  • Timestamping RTTN decoder by @SGD2718 in #608
  • fix(asr/nemotron): seed cache_len=1 to avoid ios17.slice_by_index zero-shape warning (#607) in #609
  • fix(tts/pockettts): normalize French text and preserve mid-sentence chunks (#584) in #606
  • feat(asr): expose tdtConfig in SlidingWindowAsrConfig by @execsumo in #611
  • deprecate: remove CosyVoice3 and mono Kokoro (#571) in #602
  • Diarization progress by @nburns in #615

Full Changelog: v0.14.5...v0.14.6

v0.14.5

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 09 May 05:17
ce59fb1

What's Changed

  • feat(tts/magpie): nanocodec v1/v2/v3 + decoder_step ANE pin + dual-precision API n #580
  • feat(tts/magpie): nanocodec v4 (fp32 + int8 palettize) precision in #581
  • fix(tts): guard direct Float16 reads with #if arch(arm64) (CosyVoice3, StyleTTS2) by @Beingpax in #582
  • Add Utter app to showcase in README.md by @joepetrakovich in #585
  • Fix: Prevent Metal crash when targetTokens is 0 in Kokoro TTS by @gregyoung14 in #586
  • feat(tts): StyleTTS2 LibriTTS (iteration_3) CoreML backend in #588

New Contributors

Full Changelog: v0.14.4...v0.14.5