HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
FluidInference
FluidAudio
Swift2025–2026
FluidInference / FluidAudio

FluidAudio

Frontier CoreML audio models in your apps — text-to-speech, speech-to-text, voice activity detection, and speaker diarization. In Swift, powered by SOTA open source.

11Distinct people
14Mentions
0Explicit recommenders
3.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Frontier CoreML audio models in your apps — text-to-speech, speech-to-text, voice activity detection, and speaker diarization. In Swift, powered by SOTA open source.

GitHub

Where it is used

  • Resonant — Resonant | ✓ | macOS voice workspace for dictation, meetings, and ambient work context. Uses FluidAudio for local transcription and speaker diarization. | Source
  • Local Narrator — Local Narrator | — | Privacy-first iOS audiobook reader that reads EPUB and PDF books aloud with on-device text-to-speech. Uses FluidAudio Kokoro TTS for local English and Spanish narration. | Source
  • 4 more documented examples

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month14 dated mentions

Observed mentions: 2025-07-13 01:58:39 UTC to 2026-07-14 08:31:59 UTC.

01232025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJul 20252025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJan 20262026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-03-01 00:00:00 UTC to 2026-04-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-04-01 00:00:00 UTC to 2026-05-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-05-01 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-06-01 00:00:00 UTC to 2026-07-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-07-01 00:00:00 UTC to 2026-08-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 commentsJul 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC110
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC000
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC000
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC000
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC101
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC101
Mar 20262026-03-01 00:00:00 UTC2026-04-01 00:00:00 UTC312
Apr 20262026-04-01 00:00:00 UTC2026-05-01 00:00:00 UTC101
May 20262026-05-01 00:00:00 UTC2026-06-01 00:00:00 UTC101
Jun 20262026-06-01 00:00:00 UTC2026-07-01 00:00:00 UTC312
Jul 20262026-07-01 00:00:00 UTC2026-08-01 00:00:00 UTC303

What Hacker News says

14 sources
Investigated this and it turned out to be an amusing bug: audio decoding was happening three times instead of just once lol. I've put up a PR to remove the wasteful redundant decoding: https://github.com/FluidInference/FluidAudio/pull/799 With the updated PR code, ran a test comparing transcribing (using Parakeet V3) a 1 hr stereo 44.1 kHz mp3 vs the same audio in 16 kHz mono wav format. The result was about 21.3% slower with the mp3 vs the wav, i.e. that's the overhead of decoding + resampling. Currently the decoding + resampling is done up front. If it was done in a pipelined fashion with the inference, that overhead can be eliminated. This is what I did in a recent app I made: https://apps.apple.com/us/app/drea-podcast-ad-blocker/id6759... It uses FluidAudio as well, but I forked it and replaced the audio decoding code to (a) use mpg12
Read the rest
3 instead of the native Apple API and (b) do audio decoding and inference in a pipelined fashion. These two changes effectively eliminated the overhead. mpg123 is quite a bit faster than the native Apple API at mp3 decoding (has some very optimized arm64 assembly routines), and the pipelining ensures that the inference is never starved by the mp3 decoding. Contributing this pipelined setup to FluidAudio would be good.
In Apple's new SpeechAnalyzer API, benchmarked against Whisper and its predecessor
Recently contributed a patch to FluidAudio that sped up Parakeet V2 and V3 to 320x and 282x faster than real time, respectively: https://github.com/FluidInference/FluidAudio/pull/507 That means one hour of audio transcribed in 11.25 and 12.75 seconds. The Inscribe post doesn't give a speed factor for SpeechAnalyzer. However, this Argmax blog post reports 70: https://www.argmaxinc.com/blog/apple-and-argmax Based on that, FluidAudio is ~4.6x and ~4.0x faster.
In Apple's new SpeechAnalyzer API, benchmarked against Whisper and its predecessor
Nice! I really like how many variations on this idea are coming out. MacWhisper used to be great, but is kinda of a buggy mess now. I'm making my own, for personal use. I did a survey of many and they all (that I could find) skip the fundamentals. The major issues that I've run into: - Crash recovery. Most of these apps are incredibly buggy and crash all the time, taking the recorded audio with them. Macwhisper is incredibly bad at this. - Disk space. Many of these apps save wav files to disk. After a few hours of meetings, you may end up with gigabytes eaten. - Microphone bleed. People don't always use headphones, the system mic will pick up the speaker sounds, causing duplicate (approximately) transcriptions. I've yet to find a solution that handles all these correctly, let alone having high quality transcriptions. Anyway, most of these
Read the rest
apps are built around https://github.com/FluidInference/FluidAudio, if anyone is curious. Their readme has a big list of similar apps as well.
In Show HN: Trace – Offline Mac meeting transcripts you can flag mid-call
marshalla·Jun 5, 2026Submission

Show HN: On-device transcriber that's 97% accurate at identifying speakers

I’ve spent the last seven months building a tool I wish I’d had in my previous roles. MimicScribe is a macOS menu bar app that fits the "AI notetaker" category. It has accurate on-device speaker identification (a first possibly?), real-time meeting talking points for discovery calls, and a fully keyboard- and voice-driven interface. I believe the accuracy of the speaker ID system is its biggest strength. I used fluid audio’s port of (https://github.com/fluidInference/FluidAudio) Pyannote's community-1 as a base. To improve accuracy, the system uses grammar structure cues from the Parakeet STT to mask by sentence. By taking a second set of samples within that mask for cluster assignment, it leverages the fact that most people don’t finish each other's… sandwiches in business meetings. It tends to slightly oversegment, as I’ve found it much
Read the rest
easier to merge segments or reassign a speaker than it is to untangle an incorrect merge. https://github.com/MimicScribe/benchmarks/blob/main/diarizat... The app provides in-meeting talking points using a prompt tuned for discovery type calls. It can suggest probing questions to help you extract more detail or helps you refocus on the big picture with “magic wand” type questions (e.g. “how would your ideal system work”). Getting low latency models to provide novel, relevant, and totally not hallucinated information is a bit of a reach and it tends to restate the transcript frequently but little gems do come from it sometimes so it’s best to think of it as a source of inspiration and be a vigilant gatekeeper. It’s set up so recording can be started and ended via holding a keyboard shortcut instead of connecting to your calendar service. I prefer this for privacy and to keep transcript history from getting cluttered. Tapping the shortcut shows and hides an always-on-top overlay on your active screen regardless of whether you have other apps full-screen or not. Beyond simple navigation, you can also use voice commands to make post-meeting corrections or additions, for instance, you can simply say "merge this speaker with that speaker" to clean up the transcript. It also has push-to-talk/dictate functionality with LLM cleanup - what the app started as but that tool was developer catnip, soo many of them. A developer friend who’s worked in finance reviewed the site and said he’d bounce because the privacy story wasn’t strong enough so I added a completely on-device mode and a bring-your-own-key option. Using cloud models does add a lot to the experience, including context aware speaker merging and fragment cleanup, summary items during meetings, action items attributed, etc. On-device mode is completely free and the speaker identification is still very useful. The privacy story is my biggest worry with the app, particularly since its target audience is more technical people. I’d love to get people's thoughts on it and any feedback would be super helpful.
32 points · Open discussion
what is the value prop of mumbli vs the myriad of OSS STT tools that already exist like handy [1], hex [2], ghostpepper [3], OpenWhispr [4], any of the ones listed here [5] or here [6]? [1] - https://github.com/cjpais/Handy [2] - https://github.com/kitlangton/Hex [3] - https://github.com/matthartman/ghost-pepper [4] - https://github.com/OpenWhispr/openwhispr [5] - https://github.com/FluidInference/FluidAudio#showcase [6] - https://opensource.builders/alternatives/superwhisper PS. have you seen this? https://www.reddit.com/r/LocalLLM/comments/1r7bohc/macos_bui... your landing page reminded me of it.
In Show HN: Free OSS transcription app I made and found it's faster than wispr flow

Show HN: On-device meeting transcription for your Mac

Hi HN! Like a lot of people, I love Granola and use it every day. The onboarding experience, the numerous delighters, the flourishes and the way it just works are all testament to the quality bar you can clear with an Electron app given enough care and expertise. It was the first app I'd ever used which recorded system audio on Mac without recording video too, which sparked a year-long obsession with Apple's Core Audio taps API, led to me creating an open source Swift library which makes that API easier to use, and won me several bits of fascinating freelance work. One thing I've never loved is that everything passes through and only exists on someone else's servers. Every frame of audio - from your mic or other speakers on your call - goes through one of the SOTA realtime ASR providers. Your transcript and notes presumably pass through a
Read the rest
frontier cloud LLM, and your summaries live on Granola's servers. There are lots of upsides to this: the transcription speed and quality are unmatched, the summarisation is awesome, and your meeting notes sync across all your devices, though all at the cost of privacy. I've been building up my toolkit in this space for a while: System Audio recording, custom notification windows, Acoustic Echo Cancellation, automatic meeting detection - different parts of the puzzle I've slowly pieced together over the past year or so. Recently discovering FluidAudio[1] finally let me build something I've wanted for a while: an app which privately transcribes your meetings in realtime, captures both sides of each call, and stores and summarises entirely on device. It's called talat[2], and I launched an early pre-release version last week. It's a Tauri app, which means the download size weighs in at 20MB. It's also a commercial project - I'm self-employed and need to make a living - but I hope even in the day and age of AI-commoditised software, there's enough in the app today and the direction of travel to justify the one-time purchase cost. While default-private is important, so is empowerment, so it lets you configure almost everything, including whether you want to use a different on-device or cloud LLM for summarisation. Lots of stuff needs improvement. Speaker diarisation is pretty rough. The app is macOS only and needs an M-series chip due to its use of the ANE for transcription. Local LLM summarisation (Qwen3-4B-4bit is the default) can be hit and miss, though in truth the more I use talat, the less I care about summarisation and the more I care about the transcript simply being there, ready to refer back to later as and when I want to. I'd really value your feedback, and I'd be delighted to answer any questions. The implementation was hugely accelerated through Claude Code, but the architecture, the design patterns, and all the little hard-won pieces of the puzzle mentioned earlier are entirely human. You don't need an account to use it, and there are no in-app analytics tracking what you're up to. [1] https://github.com/FluidInference/FluidAudio [2] https://talat.app
6 points · Open discussion
FWIW this RCLI is only MIT license but their engine MetalRT is commercial. Not sure the license of their models I guess also not MIT. So IMHO this repo is misleading. Not sure why they decided to reinvent the wheel and write yet another ML engine (MetalRT) which is proprietary. I would most likely bet on CoreML since it have support for ANE (apple NPU) or MLX. Other popular repos for such tasks I would recommend: https://github.com/FluidInference/FluidAudio https://github.com/DePasqualeOrg/mlx-swift-audio https://github.com/Blaizzy/mlx-audio https://github.com/k2-fsa/sherpa-onnx
In Launch HN: RunAnywhere (YC W26) – Faster AI Inference on Apple Silicon
the parakeet TDT models that are coreml optimized by fluid audio are hands down the fastest local models i’ve tried— worth checking out! (unloading to the NPU is where the edge is) https://huggingface.co/FluidInference/parakeet-tdt-0.6b-v2-c... https://github.com/FluidInference/FluidAudio The devs are responsive and active and nice on their discord too. You’ll find discussions on all the latest whizbangs with VAD, TTS, EOU etc
In Nvidia PersonaPlex 7B on Apple Silicon: Full-Duplex Speech-to-Speech in Swift
Wayve·Jul 13, 2025Submission

Show HN: FluidAudio – Swift Speaker Diarization on CoreML

We needed a speaker diarization solution that could run every few seconds alongside transcription on iOS and macOS. But native Swift support was either limited or locked behind paid licenses. Since diarization is a common need in speech-to-text workflows, we decided to open source our work and give back to the community. We initially tried sherpa-onnx, which works, but running both diarization and transcription models slowed down older devices. CPU-only inference just isn’t ideal for near real-time workloads, so we wanted the option to offload segmentation and speaker embedding to the GPU or ANE. Supporting M1 Macs in particular meant pushing more of the workload to the ANE. Instead of shoehorning the ONNX model into CoreML with C++, we converted the original PyTorch models directly to CoreML. This approach required some monkey-patching i
Read the rest
n the PyTorch and pyannote code, but the initial benchmarks look promising. We’d love feedback! We're currently working on adding VAD and integrating Parakeet for transcription, but still wrestling with CoreML model conversion.
6 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.