Skip to content

Comment on Nerd-dictation, hackable speech to text on Linux

Comments

I've never even heard of VOSK-API [0], the underlying offline speech to text engine that this project uses.

Does anyone have experience using it? Is it any good?

[0] https://github.com/alphacep/vosk-api

Vosk powers Dicio, a free and open source voice assistant for Android. If you have an Android device, this app is another way to try out Vosk:

- F-Droid: https://f-droid.org/packages/org.dicio.dicio_android/

- Source: https://github.com/Stypox/dicio-android

- HN: https://news.ycombinator.com/item?id=29762526

The accuracy of the English language recognition is not bad. I'm glad to see an implementation of Vosk for desktop Linux.

can second Dicio to give Vosk a try. For a local model it worked surprisingly well. But you can't yet mix languages mid sentence - difficult when searching for restaurants that have english names but are not located in a english speaking country.

Vosk-api isn't an SST engine itself, it is built using the Kaldi speech recognition toolkit (https://github.com/kaldi-asr/kaldi) and nicely implements and packages an API for Kaldi chain/LF-MMI models.

I use it to transcribe English robocalls. Vosk gets all the words right as long as I use the "Accurate generic US English" model. PocketSphinx (with the default en-us.lm.bin model in the distro package, no idea what it is) didn't get a single word right IIRC. I didn't try anything else.

Yeah, I was really impressed with the project when I encountered it last year when trying out a bunch of FLOSS Speech-To-Text options.

It was significantly better than the other FLOSS options I looked at--both in terms of getting it going initially & the quality of the speech to text results.

I tested it with a lightly modified version of this example script: https://github.com/alphacep/vosk-api/blob/master/python/exam...

What I found particularly interesting was when you have the "partial" recognition output shown in real-time you get to see how--at the end of a sentence--it may change a word earlier in the sentence in the final recognition output based on (I guess) the additional context of the full sentence.

(I just did a quick test again (with the installs from my testing last year) using an internal laptop microphone & the test script recognized a significant chunk of my speech (using a headset definitely improves things though) whereas with the same environment a test with `mic_vad_streaming` (from `DeepSpeech-examples-r0.9` with `deepspeech-0.9.0-models.pbmm`) failed to recognize any words at all.)

It's very well known among ppl who know the field. It's quite good, the lead has a nice blog too.

Results depend heavily on which speech files you use. You can even guess which it was, looking at the errors it makes.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.