Top
Best
New

Posted by amrrs 10 hours ago

We turned EmbeddingGemma 2 into a speech-to-text model(eg2.haku.sh)
367 points | 82 comments
Shershah1024 8 hours ago|
Hi all. I am Shahir. This was my experiment. First of all - Thanks to whoever posted this on HN. It came as a surprise.

Just to clarify - This started as just an experiment to see if we can use the fact that text and audio share a vector space in Embedding Gemma 2 to convert audio to text. Had to hack around a few things, but, it worked. Speed was just a side benefit. Was not aiming for it.

The accuracy is good, but not in the range of cloud models, but decent enough for everyday use, and this is just a couple of days work. The WER can improve a lot with more training on varied data. Will try that next.

I will opensource the whole thing soon. Might need a few days though. Also, releasing the TTS version for this soon.

Happy to answer any questions you have.

rahimnathwani 5 hours ago||
It was your post yesterday that made me aware of granite-speech-5.0-470m-turboctc (which I guess you used as a comparator because it's already very fast).

Thank you!

  uv tool install mlx-audio
  mlx_audio.stt.generate \
  --model ibm-granite/granite-speech-5.0-470m-turboctc \
  --audio.wav \
  --output-path transcript
(Until now I've been using mlx-community/parakeet-tdt-0.6b-v3)
Shershah1024 4 hours ago||
Yes. Granite is really fast. IBM has actually been releasing some great models that are flying under the radar
xnx 7 hours ago|||
Cool experiment. It will be amazing if this can match the WER of the best open weight models at better speed.

People aren't paying enough attention to how great EmbeddingGemma 2 and Gemma 4 are.

Shershah1024 4 hours ago||
I am experimenting with the reader with more varied audio. Plus, possibly an ultra fast post processing layer.
usern20260720 7 hours ago|||
can this tool transcribe latin language texts? McWhisper allegedly does it but it outputs gibberish
cabarltos 7 hours ago|||
Thanks for putting this out there!
e12e 6 hours ago|||
[dead]
prodigycorp 7 hours ago||
can you turn this into a decision model
drakythe 7 hours ago|||
What would a decision model add to and audio transcriber?
cheschire 7 hours ago|||
Reducing cost for a large scale corporation call center. Press or say one.

Basic ML is probably even cheaper. But LLMs might have higher accuracy. “Uhh one I think” = 1

e12e 6 hours ago|||
Theoretically - if the change was deeper than just restricting output - you could feed it thousands worth of audio tokens and get a structured response in milliseconds rather than minutes?

Say classify recorded interviews into viable/not viable candidate?

Shershah1024 4 hours ago||||
It can already classify decently well, and I tried training it as a decision model, It worked well on domains I trained it for. It was beating Liquid's small decision model, but somehow, it never generalized. Out of the trained domains, it was just above chance.
sureglymop 6 hours ago|||
Isn't EmbeddingGemma2 already a decision model? Am I misunderstanding your question?
whstl 7 hours ago||
For people interested in super quick models:

"One cool trick" I like for running those kinds of models very quickly on macOS is converting them to CoreML so they run in the Neural Engine.

I had amazing success with Spleeter, Demucs, MVSEP-MDX23-music-separation, DeepFilterNet, Whisper, Hunyuan3D for 3D mesh generation. Plus a lot of others for both work and leisure.

I also convert the code to Swift without dependencies, but that's a personal preference.

The runtime on some of them went sometimes from 60s to 10s. And since it's just Swift, I can just give them to non-technical co-workers and they don't have to setup a whole Python environment.

If you don't wanna do this by hand, this is something that existing LLM models are good at. Even Luna can do it without much fuss.

sbdaman 7 hours ago||
Maybe it's just a COVID time blending together effect but it still blows my mind how quickly we went from "automatic audio transcriptions are not even worth having on" to "an hour of audio transcribed in 13s locally."

Pre-pandemic it seemed like even the very best in class auto-transcription features were just unusably bad. I guess that was like 7 years years ago though.

gambiting 7 hours ago||
I'm just waiting for someone to tell the YouTube team. Hopefully 10 more years and someone over there will realize it's a thing.
f6v 7 hours ago||
[dead]
andai 13 minutes ago||
Nice. Would love to see a comparison with Parakeet and the recent Needle. Are there any benchmarks for transcription speed and accuracy?
saaaaaam 8 hours ago||
I recently swapped to using Parakeet v3 on my old M1 Macbook Air, using MacWhisper. It was so fast I thought it had failed. As in, by the time I clicked "transcribe" and looked at my screen again a few seconds later the transcript had finished. Absolutely insanely fast.
1-6 3 hours ago|
People say old MacBook Air M1 but its architecture was so groundbreaking that it's still relevant in 2026. Apple definitely underplayed its release in 2020.
llimllib 9 hours ago||
Apple's on-device transcription model is about 3x slower than their reported results on my more powerful computer, with a similar error rate in my test (which I consider pretty good results)

I'll test theirs too if I get around to it

Here's a sample CLI wrapping the apple model and providing a simple benchmark: https://github.com/llimllib/transcribe

update: doesn't seem like they provide their model and I don't feel like trying to dig it out of their app bundle, so I'm not going to test this one

s3p 9 hours ago||
Is it even worth using apple's? Maybe they have improved it but when they first started using it to transcribe voice memos it was laughably bad (in my experience). I defaulted to whisper.cpp
solarkraft 4 hours ago|||
I used it a lot in my AI client before I finally got around to hacking a Deepgram API server into Handy: It sucks enough to give me a headache worrying about its unreliability in every given transcription.

They supposedly improved it on later Apple Intelligence enabled devices, but I don’t have one.

llimllib 2 hours ago||
my tests are against the Apple Intelligence model, fwiw, not any earlier model
llimllib 8 hours ago||||
apple's is 5x faster than `large-v3-turbo` with whisper.cpp and in my test had somewhat worse performance, so it's a tradeoff
ChrisMarshallNY 7 hours ago|||
I suspect Apple's strengths are in multi-language support.

I use their on-device translation in my apps. Works pretty well. ChatGPT's context-aware translation is better, but it's not on-device.

bigtex 8 hours ago||
With MacWhisper you can select the Apple models, it took almost 4x as long to transcribe the same file versus this software and MacWhisper/Parakeet3.
llimllib 8 hours ago||
interesting! I only tested against Parakeet v2 because my agent suggested it would be faster for English transcription (v3 is multilingual but somewhat slower, it suggested)

On my bench, parakeet-tdt-0.6b-v2 is 2x slower

I wonder if you're using different Apple models when you go through that app? I don't know

bigtex 8 hours ago||
I tested a 33 minute local audio only file on a M4 Mac Mini with 24GB of Ram and it took 6.75 seconds to transcribe it using this software. Using MacWhisper/Parakeet3 it was about 7.5 secs using a stopwatch.
armcat 2 hours ago||
I applaud you on the experiment, this is a great showcase in how the latent space is shared between modalities and a great performance achieved.

You stated WER of 5% - against which benchmark?

Whistle [1] for example is a 16MB STT model but WER varies between 4-26% depending on the benchmark.

[1] https://cactuscompute.com/blog/whistle

fdb 9 hours ago||
Is it open source? They mention something about the Apache License but I can't seem to find a link to GitHub or something.
cstever 9 hours ago||
I only see that EmbeddingGemma 2 is Apache 2.

"EmbeddingGemma 2 is made by Google DeepMind and released under Apache 2.0. This is an independent project, not affiliated with or endorsed by Google."

ghboo0927 9 hours ago|||
The reference to Apache 2.0 on the page refers to Google's base model, not this app. Based on the page alone, the app is free, but the source code is not open-source.
walrus01 9 hours ago||
https://huggingface.co/google/embeddinggemma-2
raajg 3 hours ago|
This approach is interesting. Does this mean that I can limit the the words to the ones I actually use and build a tiny model that finds the closest match to only those words I use in 99% of my conversations?
More comments...