Show HN: Trace – Offline Mac meeting transcripts you can flag mid-call

Posted by AG342 3 days ago

Counter202Comment83OpenOriginal

I'm the developer of Trace, a non-intrusive, shortcut-driven Mac app that records and transcribes your meetings on-device. I know, another meeting transcription app. Please bear with me though, I'm confident that this is at least a little novel.

I primarily built Trace for myself. I'd been using MacWhisper, but there was enough fiddling before each call that I'd forget to start it and walk out of an hour-long meeting with nothing written down. So the things I cared about most were that it's quick to activate and stays out of the way. You activate Trace by pressing a global shortcut (configurable), which reveals a small bar at the bottom of your screen (there's also a keystroke and/or option to hide it entirely if you'd rather not see it at all).

As I was building it I wanted to bake in a couple of workflows I'd wished for in other transcription apps.

1. Mid-meeting you can press another global shortcut to mark a "key moment" and type a note. The note shows up in the resulting transcript inline at that timestamp. I wanted to add this because I kept catching myself thinking "wait, that bit matters" in meetings and reaching to jot it down in a separate app like Obsidian, which I then needed to add context to, which took me out of the meeting. I use it all the time. If I paste the transcript into an LLM afterwards (which I find myself doing more and more these days) the important moments are flagged so it doesn't gloss over them. This is more noticeable in longer meetings with lots of topics. 2. With another keyboard shortcut you can summon a rough live recap (subtitles, basically) to quickly recap what's just been said.

Trace uses standard macOS microphone and system recording APIs to capture both sides of the conversation as two separate tracks and then runs the system side through on-device diarization to identify speakers. Right now we only label them as "Speaker 1", "Speaker 2", etc but there are plans for speaker labelling in the future. You can also show a "live recap" as the call is happening to review what someone just said.

All transcription models run on your machine. To be clear though, Trace doesn't do any of the summarising itself, it just produces a markdown transcript, so if you want summaries then you need to pass the output to an AI.

The app is sandboxed and your audio/transcripts are never uploaded anywhere - they just exist as audio files and markdown on disk. The only network call Trace is required to make is on the first run to download the speech and speaker models (around 500MB) from Hugging Face, and after that it can be used fully offline. If enabled, a Google Calendar integration can auto-name sessions but that needs a network connection.

The app is £9.99 on the macOS App Store. I've been using it every day for months now and I'm super happy with how it's improved my workflow. Feedback very welcome.

Comments

Comment by blopker 2 days ago

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 apps are built around https://github.com/FluidInference/FluidAudio, if anyone is curious. Their readme has a big list of similar apps as well.

Comment by AG342 2 days ago

Crash recovery is definitely something that I want to spend a bit more time on. I'm not entirely sure how Trace handles crashing right in the middle of a recording, so I'm going to put a bit of time aside in the next few days to properly explore this and see if I can come up with an elegant solution to it.

I think I've got the other two bits covered. I pushed an update yesterday that adds active echo cancellation so that audio playing through the speakers (or leaky headphones) won't get transcribed twice if it is picked up by the microphone. It can be disabled in preferences, but it's on by default.

The disk space issue is one that I considered as well. By default, Trace deletes the actual audio recordings as soon as transcription is successfully completed, so the idea is you keep just the markdown transcript rather than the gigabytes of raw audio. If you want, there's a preference to disable the auto-deletion. There's a bit more on the support page here https://traceapp.info/support (search for "Auto-deletion of audio").

FluidAudio is a big part of this and is actually used in two places during a session. It runs the Parakeet EOU model for the instant recap (which isn't hugely accurate, but it's good enough for the job) and after the call it's also used to transcribe the recording, depending on which engine you've selected (Trace offers a fast and an accurate one). If the fast engine is selected, we use FluidAudio with the Parakeet-TDT 0.6b v3 model for transcription, which then goes through Pyannote and WeSpeaker for diarization. If the accurate engine is selected, we use WhisperKit with the Whisper large-v3-turbo model for transcription, and SpeakerKit for diarization.

Comment by kstenerud 2 days ago

For crash resilient data, you have a few options:

- Journaling file structures (telegraph what you're about to write, then write it, then signal completion)

- memmap your important data structures to a file (they will be flushed to disk no matter how your app dies - short of a power loss)

- post-crash dump (put last-minute writers in a crash handler to save it to disk)

A journaling file structure is the most secure, because it's designed with the assumption that writing will eventually fail. memmapped structs are easy and cheap, and get you 99% of the way there (only power loss will lose your data). Crash-time writing is doable with a crash handler like KSCrash, but there are many ways an app can crash without triggering a crash handler (thermal kill, exceeding quota, memory jetsam, etc). You also need to write your data in a signal-safe manner.

Comment by jamesbagley849 1 day ago

[flagged]

Comment by scosman 2 days ago

I had the same experience so started building my own. All problems are solvable, just working on the polish.

- crash recovery: part one is use ADTS aac (even if process crashes, audio is saved up until it does). Part two is isolating the transcription/summaries in separate XPC services.

- disk space: AAC 64kbps mono soles it. Could use Opus for further reduction but both are small.

- speaker bleed: macOS voice isolation processing solves this. It’s a nightmare to get setup, but works great once done.

- library: using argmax SDK - by a bunch of ex-Apple on device AI folks.

It it wasn’t for CoreAudio, I’d say it was easy to make. Argmax, Whisper, and llama.cpp - wrapped in the right architecture, mostly just work.

I’m having fun nerding out on the details like custom vocabulary (get the names of the people in here meeting right), inferring speaker names from transcript, calendar integration, nice UI, etc.

Comment by jv22222 2 days ago

Nice tip on FluidAudio that's the kind of thing I've been looking for. Thanks!

Comment by victorbjorklund 1 day ago

Handy works good with crash recovery (mostly from me turning off the computer mid-recording because I forgot about the recording)

Comment by highmastdon 2 days ago

I’m using MacParakeet these days. If your language is supported, definitely give it a try. It’s much faster and lower footprint

Comment by Folcon 2 days ago

> I've yet to find a solution that handles all these correctly, let alone having high quality transcriptions.

Wait really? I honestly would have thought this was a solved problem by now, especially high quality transcriptions bit, just out of curiosity, is the problem that the quality isn't high enough?

Comment by blopker 2 days ago

There are still a few unsolved problems that require tuning for specific applications. Applications that own the video call have a much easier time, they have access to each individual audio stream. Applications like this, however, have to deal with overlapping voices from a single stream. If it's trying to attribute each utterance to an individual, separating the voices is tough, or can lead to confusing transcripts. There are many little problems like this which make it a tough problem in real world usage. Domain specific terms, or proper nouns is another source of inaccuracy.

Comment by sofixa 2 days ago

> Wait really? I honestly would have thought this was a solved problem by now, especially high quality transcriptions bit, just out of curiosity, is the problem that the quality isn't high enough?

If I had to guess, all of those apps are probably vibecoded, hence the variable quality.

Comment by kexelion 21 hours ago

[flagged]

Comment by scimonk 2 days ago

The App looks really interesting and I’d love to try it out. How well does it work in other languages than English? For me, German would be important.

Due to audio quality, transcription sometimes produces garbled output or understands something wrong. FluidVoice offers the option to use a LLM to „interpret“ the text to rescue garbled audio through context. Do you also plan to support something like this? This would be a great feature!

Comment by ahamez 2 days ago

From the website (https://traceapp.info/support#preferences):

> Which languages does Trace support? English only, for now. Both transcription models, Fast and Accurate, are built for English audio. A recording in another language will still produce a transcript, but it won’t be accurate: the model maps whatever it hears onto English words, so the result comes out garbled rather than failing outright.

> If transcribing other languages matters to you, get in touch (see Contact below).

Comment by scimonk 2 days ago

Thanks! Somehow I missed that part. Didn't look for language support in the "preferences" section I guess.

Comment by denbyc 2 days ago

I'd love to have a purchase option not tied to the App Store if possible. I don't use an Apple account with my Mac, but I would love to try Trace.

Comment by AG342 2 days ago

This is definitely on the to-do list if there’s enough demand for it. The payment/distribution/updates infra required is not insignificant, especially if nobody was that bothered, but by the sounds of it they are so I’ll bump this up the priority list.

Comment by addozhang 2 days ago

Agreed, no need to tie it into Apple either.

Comment by tillcarlos 2 days ago

try amore.computer - that might do the trick?

Comment by thenipper 2 days ago

Also agreed, my work prohibits App Store apps so i have to skip things like this.

Comment by watchlight 2 days ago

Agreed with JohnBiz, the moment flagging is interesting and unusual, and a nice contrast to passive transcription. I only recently learned about MacWhisper (I'm Windows primarily) and was floored to learn how expensive the Pro option is. Nowadays it's not so hard to have some-level of DIY transcription, so crazy that it's priced with a premium.

What's your diarization pipeline? Pyannote?

I'd taken a different approach that used a LLM clean-up pass to summarize and progressively compress the transcript for ultra-long content, but I like the idea of targeted "pay attention here" flags.

Comment by 2 days ago

Comment by tillcarlos 2 days ago

Had the same idea, but have to focus on my main business. This comes at the right time!

I just purchased it. What's the best way to give you feedback? (Do you want any?)

From the top of my head: - will the mic switch automatically when I am at my office? Or do I have to change settings every time? Maybe a preference of what's available + auto switch would be good. - I personally don't need the hot key. Menu bar icon would be fine. - Download the model is a long process. Put it into the installer, not into the bar on the bottom - Speaker correction would be amazing. If it could "Learn" the speakers based on voice. - Overall neat app. Good animations and UX

    **Speaker 1** [00:00] What if I fell to the floor?
    **Microphone** [00:02] Yes, this is Phil, I'm just speaking, this should be         my voice, and there's music in the
    **Speaker 1** [00:05] Couldn't tell this anymore

Comment by AG342 2 days ago

Thanks for the feedback. Feel free to drop an email to hello@traceapp.info if you want a chat. Happy to hop on a call too if you'd prefer.

For the switching, do you mean if you hot-swap during a call? The mic should auto-switch if you've got System default selected, but feel free to give it a go and report back. If it doesn't do what we expect I can absolutely take a look at changing the behaviour.

Learning speakers is also on the to-do list.

P.S. Great choice in test audio. What a banger.

Comment by zmmmmm 2 days ago

I've tried so many of these and paid for a lot of them and I still can't find what I want. It sounds like this is closer than most:

- record and separate two sides of the conversation

- save meetings in a simple transcription format in a local folder

- connect with my calendar (Outlook, Google Calendar) and name meeting transcripts accordingly

- for recurring meetings, append rather than create a new transcript

- let me label speaker voices and recognise those voices across different meetings

A tool that did all this and then ALSO built a knowledge base to let me RAG query my meetings would be the holy grail for me.

Comment by mrkn1 2 days ago

The key moments feat is neat. Been working on a free opensource offline transcriber that runs fast on CPU and does diarization too

https://github.com/kouhxp/yapsnap

Comment by addozhang 2 days ago

This is an excellent product and exactly what I've been looking for. But most of my meetings are done on my company Mac, and they definitely won't let me install this kind of software, even though I'd be willing to pay for it myself.

Comment by geniium 2 days ago

And if it runs on the browser without install it would not probably be able to record your other browser (or app) audio

Comment by sofixa 2 days ago

Why not? You can run Google Meet, Zoom, Teams in the browser, including screen sharing with audio sharing. The browser APIs are there (e.g. https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capt...).

Comment by dsl 2 days ago

A webpage cannot provide a system I/O device (camera, microphone, speaker, etc.). That requires a signed driver on MacOS.

Comment by z3ugma 1 day ago

Maybe we ought to be making little hardware passthroughs that plug into the headphone/mic jack and control them with idk the Caps Lock signal from USB HID to start recording.

It's very cyberpunk eventually...the human operator of the console needs to be able to see and hear the screen and sound, there will always be an interface that can be adapted to a machine, however low-fidelity

Comment by robertkarl 2 days ago

This looks sick. I was going to download it but for $10 I am more willing to attempt asking Claude to implement something like it, than to purchase.

I would be more willing to purchase if it was open source and I could build from source to try it first.

Comment by satvikpendem 2 days ago

It's kinda funny how frontier LLMs change the game when it comes to software. If it becomes so good to make whatever little utility you want, why would I pay 10 dollars when an AI subscription is 20 bucks and I can build way more in a month for that $20? Especially since it's very likely people on show HN have simply used AI anyway, so why would I pay for your prompts?

Comment by PufPufPuf 2 days ago

AI is great at getting you 80% there. But you have to finish the remaining 80% yourself.

Comment by addozhang 2 days ago

I don't really recommend it. If the software is a one-time purchase, there's no need to rewrite it with an LLM. Rewriting the tokens could cost more than just $10.

Comment by anonymouse008 2 days ago

* full price tokens, yes

Not the subsidized subs

Comment by plaguuuuuu 2 days ago

I'd much rather spend $10 than have to sit at a prompt every day babysitting the thing, after working all day sitting at a prompt babysitting other things

Comment by littlecranky67 2 days ago

Would love to use this app, I recently thought about coding something similar myself. I would need to only record my own voice due to privacy laws (here in Germany, you can record yourself without consent). With overthe-ear headset, the microphone only captures my voice. Would need to store the original audio plus the transcription. Ideally, you can configure it to start as soon as it detects a new window with a given title (i.e. Webex launches meetings in a new window named "Meeting ....").

Comment by nkmnz 2 days ago

Which Speech-to-Text is used? Is it possible to configure it? This might be crucial for supporting languages other than English - the model that comes built-in with macOS fails completely for German.

Comment by AG342 2 days ago

[dead]

Comment by mushufasa 2 days ago

This looks like a good approach, though I would expect this to be a native macOs feature within 12 months -- this seems totally like it fits into their product roadmap.

Comment by transitKnox 1 day ago

Would it be hard to add a summarization feature? Or put an executive overview at the top of the transcript?

Comment by AG342 19 hours ago

It wouldn't be too difficult, but I'd be hesitant to do it for fear of bloating what Trace was designed to do. Trace is built to do transcription and hand you clean markdown (which you can paste into whatever LLM you prefer for a summary). Many alternative solutions in this space are bolting on lots of "AI frills", which, in my experience, is what makes them start to feel heavy.

Comment by usernametaken29 2 days ago

I don’t have this particular use case right now but if anything it feels like LLMs and their distilled on prem models are starting to kill SaaS simply because it becomes more and more tenable to build a “complete software” in a short time frame. That’s freaking awesome. Good idea and love the return of the good old you buy, you own it mentality

Comment by shireboy 1 day ago

I tried this but it took over my mic and people couldnt hear me on teams call until I turned it off. Nice idea but needs to share the mic w teams to be useful for me. Not sure if it’s teams fault or trace fault but either way…

Comment by AG342 1 day ago

Looks like echo cancellation is to blame here. I'm working on a more permanent fix but for now try turning off "Cancel system audio from the microphone" to see if that helps.

Comment by AG342 1 day ago

Someone else has also reported this, which is not coincidental… Have you tried this with other applications too to see if it’s a teams-specific issue?

I’ll take a look as my top priority.

Comment by lee_ars 1 day ago

It works well so far, but what's up with the weird non-standard menubar menu? It's very odd, and it doesn't respect system light/dark mode preferences.

Comment by nightpool 2 days ago

Is this legal to use in 2 party consent states? Might vary from state to state, which is probably why both zoom and Meet require users to click through consent screens when meetings are bring transcribed. Might be useful to have that on the FAQ page

Comment by AG342 2 days ago

Recording and consent rules vary quite a bit by country and region, so it's on whoever is doing the recording to get the consent they need and to follow the law where they are. Still, I like the idea of putting a note on the FAQ to make that clear.

Comment by Gigachad 2 days ago

It would be if you tell the person you are recording first.

Comment by 1 day ago

Comment by ectoloph 2 days ago

I've just bought it based on the description.

Minor complaint is that it steals Cmd-Shift-P (Firefox Private Browsing shortcut) by default.

Easy to change in the UI though, so no big deal.

Comment by Myrmornis 2 days ago

I will be happy to spend £10 on this. One feature question though -- does it continue transcribing the meeting even if I've turned my volume down / muted it?

Comment by AG342 2 days ago

It does indeed. Trace will record your system audio regardless of your speaker volume. You do have the option to mute your own mic temporarily though, via a button on the “pill” or a global keyboard shortcut.

Comment by Myrmornis 1 day ago

Thanks. I've bought it and started using it; it looks great. I was previously using Hyprnote which did work well, but yours appears to fit my "I just want markdown" case better and to generally be more polished.

I'll be wanting to find a good workflow to get the markdown transcripts into a git repo with file names that define a suitable sort order and also indicate what the meeting was. So would welcome your suggestions there. Not blocked of course, yo umake it easy to copy from clipboard or from the disk location and rename, but might be nice to have more control about where and how the .md lands.

I might email the support address on the off-chance that you're happy to have support/feature conversations like this. Thanks!

Comment by AG342 1 day ago

Please do drop me a line on hello@traceapp.info and let's chat!

Comment by haaz 1 day ago

Really nice, I will buy now and test out. How did you make the video on your website? And are you based in UK?

Comment by AG342 1 day ago

Thanks for the support. The videos are Vue components with CSS animations. As mentioned in a previous reply I’m happy to share the component if it’s of interest.

Yep, based in Sheffield, UK.

Comment by yilugurlu 1 day ago

Looks awesome, I just bought. I'd love to see Office/Teams Calendar integration. Good luck!

Comment by AG342 1 day ago

Thanks. Trace integrates with your Mac calendar, so if you’ve signed into your accounts with those it will pick them up. No support currently for direct Teams/Exchange integration but I’ll add it to the list.

Comment by frabia 2 days ago

Super interesting! How accurate is the local model to transcribe audio compared to other cloud services? E.g. Google Meet, Otter, Granola, etc.

Comment by watchlight 2 days ago

A lot of the available models are Whisper or Faster-Whisper derived and shared across multiple apps. The tier names are often funny... "Tiny" "base" "small" "medium" "large" "large-v2" "large-v3" "large-v3-turbo" -en only variants, etc.

In my experience, medium is often the sweet spot for English accuracy vs speed, especially if following-up with a post-processing pass. The large options are all fine, but can severely slow it down. There are some speed checks on my website if you're curious (link not posted because I don't want to hijack another post's app).

Comment by fandorin 2 days ago

looks great! and good that you decided on the one-time fee instead of a subscription. side question: what did you use to create these videos/gifs on the homepage that shows the app? They look really good!

Comment by AG342 2 days ago

Appreciate it, thanks. They’re just Vue components with CSS animations. Drop me an email and I’ll send you the code.

hello@traceapp.info

Comment by fandorin 1 day ago

thanks! will do

Comment by scosman 2 days ago

Those transcription times are fast fast. What model/library do you use?

Comment by AG342 2 days ago

Trace has two engines that you can choose from. The fast one uses NVIDIA's Parakeet-TDT 0.6b v3 model run through FluidAudio, which surprised me with how fast it was. There is also an accurate engine, which uses Whisper large-v3-turbo via WhisperKit, which is slower but holds up better on accents and jargon.

Comment by scosman 1 day ago

ahh yes. I'm using Whisper v3 turbo via WhisperKit as well. Will play with parakeet

Comment by iorinu 1 day ago

I thought it was really interesting

Comment by nazca 2 days ago

I've been looking for this exact thing!

Comment by chid 2 days ago

Will this be available for iOS?

Comment by overflowy 2 days ago

Does it support multiple languages?

Comment by 2 days ago

Comment by 2 days ago

Comment by triyambakam 2 days ago

My stack has been QuickTime and Assembly AI lol

Comment by Zhite_Panther 17 hours ago

[flagged]

Comment by kexelion 1 day ago

[flagged]

Comment by mantlemd 1 day ago

[flagged]

Comment by ipotapov 3 days ago

[dead]

Comment by _onecookie 1 day ago

[dead]

Comment by beefmumbai 2 days ago

[dead]

Comment by 3 days ago

Comment by JohnBizBiz 3 days ago

[flagged]

Comment by ZoneZealot 2 days ago

HN is not the place for LLM generated advertisements

Comment by satvikpendem 2 days ago

I don't see how this is different to literally the dozens of other offline transcription apps, many open source even unlike this one.

Comment by hmokiguess 2 days ago

can you share them? I'm looking for a decent open source one

Comment by infl8ed 2 days ago

I don't mind https://matthartman.github.io/ghost-pepper/ however I do really want speaker recognition which it does have but I haven't been able to get it working.

Comment by satvikpendem 2 days ago

Literally so many when searched: https://hn.algolia.com/?q=macOS+transcription

Add "open source" if you wish as well.

Comment by hmokiguess 2 days ago

Any that you have used and recommend comparable to the one from the post? Thank you!

Comment by jv22222 2 days ago

Comment by vermilingua 2 days ago

I don’t see any there that are as focused as this one, perhaps except Talat which is considerably more expensive.

Comment by jv22222 2 days ago

Ah. My bad. I didn't review them I was just paying more attention to the op asking for a list of open source ones.

Comment by hmokiguess 2 days ago

I went through the list but most feel subpar to me, and some aren't even open source (just claim they use FluidAudio I guess?)

Comment by nl 2 days ago

Handy is the most common recommendation

https://handy.computer/

Comment by hmokiguess 2 days ago

That doesn't seem to do transcription of meetings?

Comment by jv22222 2 days ago

Classic HN. Thanks for keeping it real.

Comment by satvikpendem 2 days ago

There are so many I've seen on show HN, that's why.

https://hn.algolia.com/?q=macOS+transcription