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 commentspage 2
drakirus 5 hours ago|
I'd be curious to see the WER on out of vocabulary words, seems like this cannot generalize to unseen word's given this step: 'The closest of ~229,000 English words wins, and the slices become a transcript'
Shershah1024 4 hours ago|
You can just embed those new words and they get added to vocabulary. It is fairly simple. One risk is - When a new word is very close to a known one, it tends to fall to it.
samuelbalogh 9 hours ago||
Fantastic! Any plans to support other languages?
Shershah1024 8 hours ago|
Yes. Planning to train a multilingual reader. Have not done a prototype yet.Will do one once I have the right dataset
samuelbalogh 8 hours ago||
Awesome work, thank you!
alberth 10 hours ago||
As someone who knows nothing on how this works, does this mean they have to pay the audio at 200x playback speed to transcribe this fast.

Or is there another approach?

treyd 10 hours ago||
It's not being played through a desktop audio stack, they're operating on the waveform decoded from the audio file. There's no constraints relative to the "natural speed" of the source, just like for video transcoding, it's limited by compute.
radlad 9 hours ago||
Yes but... Frame rate matters with video, which is arguably the video's speed.
treyd 6 hours ago||
You can flip through the pages of a book much faster than it'd take you to actually read them normally. But if you're putting the book in a scanner then you're still extracting information, faster than the "natural speed" of reading them.
sorou 10 hours ago|||
during transcription, nothing is actually "playing" the file in the way a human would to listen to it. the audio is stored as a sequence of bytes representing the amplitude of the physical sound waves over time (the recording device measures, or "samples", the amount that its microphone is vibrating and records that amount, some tens of thousands of times per second) with some metadata and compression applied so that other software knows how to interpret the bytes correctly. this can be given to an audio program to convert the bytes back to physical sound waves using your speakers, but it's just bytes at the end of the day, so any software that can read bytes out of the file can do so at whatever speed it wants, regardless of how long the actual recording is.

so you have a file containing bytes representing the sound wave, and you have existing recordings (read: sound waves represented as sequences of bytes) of people speaking in different languages and contests, and you can feed all those existing recordings into a model along with corresponding transcriptions, and you can get a model out which can identify patterns in recordings of people speaking to then go backwards and see a pattern of sound waves and correctly associate it with a specific token, no need to play anything back. pauses, stutters, etc. are themselves patterns of sound waves that can be identified and worked around to identify just the meaningful parts of speech.

in principle, you could probably learn to do this too, by sitting down for hundreds of hours meticulously starting at waveforms, and this is, very roughly, what signal analysts do: look at waveforms and try to identify patterns. ai just leverages this principle to turn mundane speech into text.

cheschire 10 hours ago|||
Probably significant parallelism. Split the audio into a lot of slightly overlapping portions to ensure the transitions between words are caught. I’m sure there’s some relatively simple ways to ensure you don’t double up on words.
drob518 10 hours ago||
Yea, I was wondering how they dealt with word boundaries and different word audio lengths generally (short and long). Your point about parallelism is interesting. Doing what they say they are doing, this should be ridiculously parallel, possibly with a reduce step at the end to remove redundant words if their slicing algorithm allows for that to happen. But yea, extremely parallel.
Shershah1024 4 hours ago||
To answer, words are not extracted in isolation. The model sees a context of about 20 words around it always.
satvikpendem 9 hours ago||
No more than an AI media generator creating the media in realtime.
p0w3n3d 5 hours ago||
The downloaded model is stored in

  Library/Application\ Support/ai.haku.eg2demo
motoboi 7 hours ago||
A nice side effect is that it transcribes in English an audio in Portuguese. And it actually make sense.

But the overall transcription quality is very low.

Silagi 6 hours ago|
Is it low quality in the "It didn't match the meaning that was conveyed" sense, or in the "It didn't capture the exact words used" sense?

My reaction to seeing the project was that being an embedding model it'd be pretty good at conveying the meaning but not great as using the same terms, is that what you're seeing?

mahlerbox 5 hours ago||
Curious to hear the answer to this as well. Presumably it would be stronger on sentences with a high proportion of cognates/English terms with Latin roots? Does the English output over-represent words of Latin origin?
Shershah1024 4 hours ago||
The reason it generalizes to english now is because the reader is trained to identify English words, and it obviously understands Portuguese, so it just gave the text in English. Once I train it on multiligual vocabulary, it should be able to handle Portuguese
lukko 10 hours ago||
Interesting... is it overkill to use a multimodal model like this on just audio? Could the model size be decreased dramatically, or does the multimodality help the accuracy and speed in some way?
pjc50 7 hours ago||
The benefit is that you can take input in one "mode" and extract output in another; that is, the input is audio mode and the output is text mode. The intermediate representation is the "embedding".
sd9 9 hours ago|||
Multimodality seems to just help with everything
coldtea 9 hours ago||
Correctly transcribing requires context too, no?
ranger_danger 9 hours ago||
I suppose it depends on the words in question... language knowledge and general world knowledge may not always both be necessary to transcribe accurately.
mrkn1 5 hours ago||
yapsnap is faster on CPU and uses a zipformer https://github.com/kouhxp/yapsnap/
yaanfpv 9 hours ago||
I think this seems to target English only I believe. Pretty good but thinking os using some of these techniques on our multi-lingual ASR models !
Shershah1024 8 hours ago|
Only English for now. I dont see any roadblocks for at least the major European Languages(Not sure about German though with their compound words)
martianvoid 10 hours ago|
Pretty cool application of an embedding model
More comments...