I'd also like to mention Steno - I particularly like how you can create different summarization templates (prompts) for each recording, which allows me to leverage it for things such as therapy sessions and voice journaling.
I thought about wiring up GitHub’s API to show live star counts but wanted to avoid too many network calls. The star count is from when I added it to the database.
Muesli is great! I've used it daily for several months and haven't had any serious issues. You can set it to trigger a custom script when it completes a meeting transcription, which I use to move the transcriot to my obsidian vault and trigger some more work. Also just added some local diarization, via one if the modeks, that is actually usable so I stopped having to send important transcripts to assemblyai for accurate diarization.
Time to start working on gruel! Please sir may I have some more? Plus the assumption that it is slop can be well founded (no reflection on the possibility fine products above)
I live in a two party consent state and have yet to pull the trigger on an AI transcription service. Yogurt is the first appropriate implementation of the service in my opinion, both for personal privacy and to limit potential issues if Granola or similar service gets hacked and transcriptions go public.
I appreciate that you included a default warning for the owner to let everyone on the call know they are being recorded. It might be ideal to take that a step further and have the popup occur again if another party joins the call and should also be notified of the recording.
I think Apple would be a terrible thing to name your new project.
This supports my intuition that its not a good idea, although I suspect you meant to demonstrate something else.
Lets clarify something. Generic names aren’t inherently bad. What Im trying to evaluate is how bad it is for any given person to use a generic name for their new project. When its been used 20 times before and you aren’t going to be a billion dollar company.
I know nothing about these projects, but that was my thought too. I was just checking the comments just to see if I was only one who thought that or if there was some clever context I was missing.
As a consumer it doesn't bother me at all and probably the same if I were a provider.
Also somewhat off topic - I've been getting a ton of spam calls now that I've put my phone number on my google business profile. They are robo calls with essentially the same text: "Don't hang up" and "Please stay on the line".
My question is: Could we use these same technologies to build an app to detect certain strings and just hand up? Or on my behalf, press 1 and when the scammer - i mean operator - picks up say "Fuck off"????
Interesting. Maybe I can Kill one of my vibecoded atrocities now. It was born from similar frustrations - to find a good way to record audio for small meetings on a phone (there are foss options for Android - but I need one tool to recommend; https://github.com/FossifyOrg/Voice-Recorder might be one) - transcription and summation with speaker identification in correct language, support for using list of speaker and agenda to aid transcription - all done locally. Even getting the recorded audio from android to Mac - for example localsend can help).
I didn't tackle all - but a few in a python script wrapped in cosmopolitan libc. Works on Mac, seemingly Linux (Terminal on chromeOS) - possibly windows (laptop just about back from repairs, not tested yet).
It's an experiment - source not open yet - and op is probably better.
congrats! My wife showed me Granola one day and I was horrified on the privacy aspects of it. So I also built something similar but for advanced Super users - Notesy
I have been using for 6 months and just love it (and my wife moved over too!). Uses the Gemini APIs (they are so fast, so cheap and so good!). Now we actually use it within the company as well!
1. Google is probably the least evil (ikr!) amongst others at the moment
2. Yeah the biggest privacy breach is not how they can train on your data but rather the audio, the notes and knowledge graph someone like Granola can have
3. Your data is your data.
4. Also code for the app will be open source entirely shortly - so feel free to extend and add a gemma 4 or deepseek 4 flash locally. My goal was maximum freedom while also maintaining top level note quality. Gemini API satisfies both.
OpenWhispr [1] is one of the earliest in this exact space, and it already supports a greater variety of models than Yogurt. Also supports meeting transcription, summarization, dictation etc. in similar ways as Yogurt.
It's a lot of fun to see what people can do with the voice transcription tools available now that are all open source.
I've been building my own Jarvis, and I still haven't built my own meeting mode for him yet, though it's on the trajectory. I may borrow some ideas from this.
I really like the filter for the whispered, hallucinated words that Whisper sometimes hears, like, "Thanks for watching," when it's silent. That's cool.
I do a similar splitting of speech, but I think a slightly different mechanism. So I'll have to take a look at how well yours works.
And, I'm not checking the loudness of the mic and the computer audio to figure out when the speaker output is leaking. That's nice.
If there was anything I would add to yours, it would be diarization on the same inputs. So the room mic might have two or three people behind it, and to have diarization for that to know who is talking at any one time would be probably helpful. I use NVIDIA's Nemotron on the Mac. https://huggingface.co/nvidia/Nemotron-3-Diarization
Yeh echo detection is clutch. Definitely borrow some parts. Would love to solve same room voice assignments - haven’t seen ah great solutions for that yet.
I’d love to see evals for how similar this is to Granola for meeting summarisation, on the github page
It should be possible given granola stores the transcript and the summary.
Granola has been such a fantastic sticky product for me given how simple it is: guaranteed a good summary, and a MCP that is a couple of clicks to setup with Claude/ChatGPT.
It's mindboggling that in light of all the hacks people will still install keyloggers and apps that take screenshots of your desktop and upload them, especially when alternatives exist.
I just took openai's example app for implementing their whisper api, and vibe coded it to support other providers endpoints, work as chrome extention, and have some file saving etc.. works just fine.
Great job! It's refreshing to see something not limited to Macs/Apple Silicon.
When starting out, did you consider:
- Handy, either forking it or adding PRs?
- If you disliked the Handy UI, what about the choice of backend? Did you look into RealtimeSTT? The author is really serious about ASR and transcription
There are a 1000 Mac ASR and transcription projects, so it's really refreshing to see something that others outside the Mac garden can use - my worry is that by not reusing more mature foundations, you end up taking too much of a burden and burn out. The non Apple Silicon space needs more projects like these!
I made something like this myself but because I didn't want anyone to know I was doing it, no bot in the call, I couldn't diarise the notes. I have what's been said, but not who said it. Did you manage to solve this?
I managed to solve this with my similar open source tool, including remembering "voices" across multiple sessions.. though I wouldn't say this is amazingly effective. It's not as good as when your call provider clearly knows which person is speaking, but it's largely been good enough.
If you have the audio, models should be able to pick out who's who. Easier if everyone present themselves obviously.
My vibeslop tries to do it - I'm checking if I can just opene the code (it's python, so it's not exactly closed) - but even just going by the interface I think you get the idea:
Yeah Yogurt uses accessibility permissions to grab speaker names from Zoom, Google Meet, etc. But that said, I recommend you let people know if you're going to take a recording.
Great work! Personally would love the option to skip out on some of local model post processing features or optionally offload it to openrouter, the summarization steps and the ask feature eat up tons of resources.
I also got frustrated with Granola earlier this year and have been building my replacement - Noted: https://takenoted.com/
It shares similar principles but is (currently) closed source and mac-only.
Take a look at anarlog as well - it's a great project and I wish I'd found it earlier as I probably would have contributed instead of starting my own: https://anarlog.so/
Let me know if you want to compare notes - I am sure we have hit a lot of the same issues.
I got frustrated with call note apps too, and also built my own as a native Mac app: https://retranscript.app
I wanted full automation, full customisation of prompts for summary, ideas extraction, etc. and using the best speech-to-text models available (I will also add Apple's SpeechAnalyzer soon for mundane transcription where the best accuracy is not needed).
Once started, Retranscript runs on its own. It notices the call automatically, records all voices with no bot in the meeting. Everything lands as plain files in a configurable folder.
The trade-off is the reverse of Yogurt's: the audio goes to the model you chose instead of staying on your Mac. With your own keys it goes straight to the provider on openrouter, and nothing passes through my server. There's no subscription. The app is free, and you pay for the models, at the provider's price with your own key or with prepaid credits. It's closed source for now (will release as open-source in the future), and Mac-only.
Congrats on the launch, it's good to see so many people exploring this space, each with a different take on it.
Enable transcription and at the end summarize it, and those are your notes. Anything critical, pressing, or deserves immediate attention, you write it down. That’s it! Not sure why there are so many apps redoing it over and over again in a very similar way.
Yogurt team - congratulations on your launch. I am not throwing a wrench at you. Those are my thoughts about this category in general.
A processed dairy product is not an alternative to a mixture of grains, nuts, and seeds. That's comparing apples to oranges. Sometimes I wish we could go back to the 60s and 70s when every program name was an acronym or a single letter.
Just tried it on a teams call and it did great transcribing and summarizing. It didn’t pick up the other speaker’s name though. Still I’ve been wanting something like this a while
Can you please add a model selector? I already have gemma-4-26B-A4B-it-QAT-MLX-4bit on my MacBook, and I see Gemma 4 26B is one of the models that will be downloaded automatically for my 64GB machine.
looks amazing! if you used AI coding agents to build this, any reason why you couldn't refactor this to use gpui or rune to still get cross platform but have better performance?
oh, interesting. you mean you tried the other frameworks but decided against them because you couldn't achieve the desired user interface with their constructs?
This made me curious as well, so I took a look at the source. Not seeing a token or handshake. Looks like on macOS and Linux it listens on a unix socket in the profile chmod'd 0600, and one Windows it's a randomly named pipe with the name written into the profile folder.
... for those that not initiated and don't want to be nerd sniped. I wish Hackernews allowed a concensus changing of post titles to add missing contect.
looks great! my only concern is that the others on the call don't realize that it's being recorded (which as much as I'm not a fan of Google's offering, at least it does ensure everyone knows the call is being recorded)
This is a legal concern in some places (like Germany). In many places recording without consent is illegal. But on the other hand, you should at this point assume that this may be happening regardless as you simply can't exclude the possibility. The best thing is to just be open about it if you want to record and assume you are being recorded otherwise.
Some of the tricks that big companies use to avoid being recorded, like forcing everyone to use their MS Teams or whatever else they use of course don't work. And if you go into a situation where you might have lawyers demanding and getting access to documents, you might want to think twice about having any transcripts of certain meetings. Those could be used against you.
But on the other hand, it's very annoying to have meetings without transcripts these days. They really help staying organized if you do a lot of calls. I get involved in a lot of sales and other business calls and a lot of the prep work for those involves figuring out the basics of who am I talking to, what's our history with this contact and what did we discuss before, etc. Having full context with transcripts enables concise briefings, quick follow ups, etc.
The reality here is of course that many people are going to end up using AI to record, translate, summarize, and analyzing more or less 24x7. This is becoming so cheap and easy that there's no technical reason to go offline by default. You might still want to for very confidential meetings or personal reasons. But there are going to be lots of people around you that will make different choices.
Reflecting on my own situation, I could definitely benefit from a diligent always on note taking personal assistant that translate any off the cuff remarks, encounters, casual conversations, etc. into actionable things. A lot of that is lost in the moment with me. I'm too chaotic to do this myself. Also, I can't multi task all that well. Writing and listening at the same time is hard for me. Especially when I also am trying to participate in a meeting (which adds thinking and talking to the task load).
https://github.com/scosman/Biscotti
How does it differ from Muesli[1] and OpenOats[2]?
0. https://opensource.builders/alternatives/granola
1. https://github.com/pHequals7/muesli
2. https://github.com/yazinsai/OpenOats
That's just scratching the surface, I have never used any of these apps including others referenced in this thread.
https://github.com/stenolabs/stenoai
https://hypertekst.net/steno/
I noticed that Muesli's star count on your list doesn't match what's in Github (~300 vs 1.6k), do those update regularly?
I appreciate that you included a default warning for the owner to let everyone on the call know they are being recorded. It might be ideal to take that a step further and have the popup occur again if another party joins the call and should also be notified of the recording.
I've always sort of assumed it wasnt a good idea because there is collision everywhere (SEO, registries, domain, etc).
This supports my intuition that its not a good idea, although I suspect you meant to demonstrate something else.
Lets clarify something. Generic names aren’t inherently bad. What Im trying to evaluate is how bad it is for any given person to use a generic name for their new project. When its been used 20 times before and you aren’t going to be a billion dollar company.
Also somewhat off topic - I've been getting a ton of spam calls now that I've put my phone number on my google business profile. They are robo calls with essentially the same text: "Don't hang up" and "Please stay on the line".
My question is: Could we use these same technologies to build an app to detect certain strings and just hand up? Or on my behalf, press 1 and when the scammer - i mean operator - picks up say "Fuck off"????
I didn't tackle all - but a few in a python script wrapped in cosmopolitan libc. Works on Mac, seemingly Linux (Terminal on chromeOS) - possibly windows (laptop just about back from repairs, not tested yet).
It's an experiment - source not open yet - and op is probably better.
But for the curious:
https://hypertekst.net/steno/
I have been using for 6 months and just love it (and my wife moved over too!). Uses the Gemini APIs (they are so fast, so cheap and so good!). Now we actually use it within the company as well!
Rolling out wider in Testflight below.
Notesy: https://prairie-petition-enterprises-expressions.trycloudfla...
- keeps the audio file
- custom prompts to modify notes as you want
- transcripts and notes
- batches by people you have talked to
- a master task list
- Sync all files and audio and notes to Google Drive
- Shipping now with our API for testing but you can switch to your own Gemini API in settings!
Uploading the repo shortly on github by this weekend!
More on the privacy features here https://x.com/jharohit/status/2084204163416601026
Other apps we are building on similar lines of privacy and your own data and AI concept:
APP STORE: https://contrast-situated-priorities-leu.trycloudflare.com/
I'm really not trying to be a jerk here and this is very cool but I'm not sure it qualifies as privacy-friendly?
2. Yeah the biggest privacy breach is not how they can train on your data but rather the audio, the notes and knowledge graph someone like Granola can have
3. Your data is your data.
4. Also code for the app will be open source entirely shortly - so feel free to extend and add a gemma 4 or deepseek 4 flash locally. My goal was maximum freedom while also maintaining top level note quality. Gemini API satisfies both.
I was thinking of creating a local replacement for Wispr Flow - does this have a hotkey for speech to text?
So, why Yogurt?
1: https://github.com/OpenWhispr/openwhispr
I've been building my own Jarvis, and I still haven't built my own meeting mode for him yet, though it's on the trajectory. I may borrow some ideas from this.
I really like the filter for the whispered, hallucinated words that Whisper sometimes hears, like, "Thanks for watching," when it's silent. That's cool.
I do a similar splitting of speech, but I think a slightly different mechanism. So I'll have to take a look at how well yours works.
And, I'm not checking the loudness of the mic and the computer audio to figure out when the speaker output is leaking. That's nice.
If there was anything I would add to yours, it would be diarization on the same inputs. So the room mic might have two or three people behind it, and to have diarization for that to know who is talking at any one time would be probably helpful. I use NVIDIA's Nemotron on the Mac. https://huggingface.co/nvidia/Nemotron-3-Diarization
And, I have enrollment for voices with speaker embeddings using this: https://github.com/wenet-e2e/wespeaker
https://developers.google.com/edge/foresight
It's free and uses local models.
It should be possible given granola stores the transcript and the summary.
Granola has been such a fantastic sticky product for me given how simple it is: guaranteed a good summary, and a MCP that is a couple of clicks to setup with Claude/ChatGPT.
It's mindboggling that in light of all the hacks people will still install keyloggers and apps that take screenshots of your desktop and upload them, especially when alternatives exist.
When starting out, did you consider:
- Handy, either forking it or adding PRs?
- If you disliked the Handy UI, what about the choice of backend? Did you look into RealtimeSTT? The author is really serious about ASR and transcription
There are a 1000 Mac ASR and transcription projects, so it's really refreshing to see something that others outside the Mac garden can use - my worry is that by not reusing more mature foundations, you end up taking too much of a burden and burn out. The non Apple Silicon space needs more projects like these!
Source code is here if you want to have an agent take a look: https://github.com/robgough/dictator/
My vibeslop tries to do it - I'm checking if I can just opene the code (it's python, so it's not exactly closed) - but even just going by the interface I think you get the idea:
https://hypertekst.net/steno/
It shares similar principles but is (currently) closed source and mac-only.
Take a look at anarlog as well - it's a great project and I wish I'd found it earlier as I probably would have contributed instead of starting my own: https://anarlog.so/
Let me know if you want to compare notes - I am sure we have hit a lot of the same issues.
I wanted full automation, full customisation of prompts for summary, ideas extraction, etc. and using the best speech-to-text models available (I will also add Apple's SpeechAnalyzer soon for mundane transcription where the best accuracy is not needed).
Once started, Retranscript runs on its own. It notices the call automatically, records all voices with no bot in the meeting. Everything lands as plain files in a configurable folder.
The trade-off is the reverse of Yogurt's: the audio goes to the model you chose instead of staying on your Mac. With your own keys it goes straight to the provider on openrouter, and nothing passes through my server. There's no subscription. The app is free, and you pay for the models, at the provider's price with your own key or with prepaid credits. It's closed source for now (will release as open-source in the future), and Mac-only.
Congrats on the launch, it's good to see so many people exploring this space, each with a different take on it.
How exactly?
Edit: Ah I see the parent company - https://frigade.com/
Then I realized it's the parent company which was backed in 2023, not this particular project. This is I think borderline abusing the yc name.
Yogurt team - congratulations on your launch. I am not throwing a wrench at you. Those are my thoughts about this category in general.
Also, what’s the current best STT model? Apple’s dictation model isn’t good which is one big reason why I don’t use STT much.
https://github.com/kouhxp/yapsnap
... for those that not initiated and don't want to be nerd sniped. I wish Hackernews allowed a concensus changing of post titles to add missing contect.
"Yogurt!? Yogurt! I hate yogurt! Even with strawberries!"
Some of the tricks that big companies use to avoid being recorded, like forcing everyone to use their MS Teams or whatever else they use of course don't work. And if you go into a situation where you might have lawyers demanding and getting access to documents, you might want to think twice about having any transcripts of certain meetings. Those could be used against you.
But on the other hand, it's very annoying to have meetings without transcripts these days. They really help staying organized if you do a lot of calls. I get involved in a lot of sales and other business calls and a lot of the prep work for those involves figuring out the basics of who am I talking to, what's our history with this contact and what did we discuss before, etc. Having full context with transcripts enables concise briefings, quick follow ups, etc.
The reality here is of course that many people are going to end up using AI to record, translate, summarize, and analyzing more or less 24x7. This is becoming so cheap and easy that there's no technical reason to go offline by default. You might still want to for very confidential meetings or personal reasons. But there are going to be lots of people around you that will make different choices.
Reflecting on my own situation, I could definitely benefit from a diligent always on note taking personal assistant that translate any off the cuff remarks, encounters, casual conversations, etc. into actionable things. A lot of that is lost in the moment with me. I'm too chaotic to do this myself. Also, I can't multi task all that well. Writing and listening at the same time is hard for me. Especially when I also am trying to participate in a meeting (which adds thinking and talking to the task load).