Live data from Hacker News

Ask HN: Non-cloud voice recognition for home use?

news.ycombinator.com

101–110 of 130 posts

Re: Ask HN: Non-cloud voice recognition for home use?

#101
post #89

Precise [1], Snowboy [2], and Porcupine [3] are all designed to work offline. [1] https://github.com/MycroftAI/mycroft-precise [2] https://github.com/kitt-ai/snowboy [3] https://github.com/Picovoice/porcupine

All good projects (I’m using Snowboy), but these are all just wake words, which are very different beasts from full text recognition.

Re: Ask HN: Non-cloud voice recognition for home use?

#103
I tried to use Julius for this. I may have misconfigured it, but it would always match something to what it was hearing. I encoded some sounds in my grammar to error terms that it would detect in quiet noise (like 'aa' and 'hh'), but it would still occasionally match words when nothing was going on.

Later I worked on the Microsoft Kinect with its 4-microphone array. With only a single microphone, it's so much harder to filter out background noise. If you don't find a system based on multiple microphones, I don't believe you can be successful if there's any ongoing noise (dishwasher, loud fans, etc), but a system that works in only quiet conditions is possible.

Re: Ask HN: Non-cloud voice recognition for home use?

#104

Earlier quoted context omitted.

For a software engineer with no experience in machine learning / AI, what does it mean to build your own language model? Does it require coding? Hundreds of hours of audio data from your own voice? A significant amount of computing power?

The tools available means you only need to provide a list of normal sentences, and they should include the words you'd like it to know about. For my case I just wanted to train it on like 30 different sentences, that took less than a second. But for a general assistant ala Google Home you'll want a large number of sentences and I hear it can take a while (hour or few?). Due to using probabilities it will match words…

Here's an example I did using a custom LM with DeepSpeech - the description links back to the forum with the steps for producing it.

https://youtu.be/LWUBK6PAaxM

This was on a slightly earlier version, and they've made improvements in speed and quality of recognition since then.

Re: Ask HN: Non-cloud voice recognition for home use?

#105
post #74
post #9

Mozilla DeepSpeech trained on the Common Voice dataset for English. You can get pretrained models too. They have a nice matrix channel where you can get help, and pretty good documentation. It is also actively developed by several engineers. http://voice.mozilla.org/en/datasets and http://github.com/mozilla/DeepSpeech/

Interesting. Are there any projects actively using this today?

I haven't tried it directly myself but there is this project, Dragonfire, which looks quite reasonable using DeepSpeech:

https://github.com/DragonComputer/Dragonfire

There's a minimal demo app I put together here too: https://github.com/nmstoker/SimpleSpeechLoop

Re: Ask HN: Non-cloud voice recognition for home use?

#106

Disclaimer: I am the founder of Hiome, a smart home startup focused on private by design local-only products. What actions are you looking to handle with the assistant? Reason I ask is because a voice assistant is a command line interface with no auto-complete or visual feedback. It doesn’t scale well as you add more devices or commands to your home, because it becomes impossible to remember all the phrases you progr…

How have you addressed the challenge of things getting out of sync? (eg. Suppose two people enter a room via the same entry at the same time, then one leaves the room later; power outage; missed detection, etc.)

Would you share the sensor(s) you're using in the device?

Re: Ask HN: Non-cloud voice recognition for home use?

#107
I develop Kaldi Active Grammar [1], which is mainly intended for use with strict command grammars. Compared to normal language models, these can provide much better accuracy, assuming you can describe (and speak) your command structure exactly. (This is probably more acceptable for a voice assistant for an audience that is more technical.) The grammar can be specified by a FST, or you can use KaldiAG through Dragonfly, which allows you to specify them (and their resultant actions) in Python. However, KaldiAG can also do simple plain dictation if you want.

KaldiAG has an English model available, but other models could be trained. Although you can't just drop in and use a standard Kaldi model with KaldiAG, the modifications required are fairly minimal and don't require any training or modification of its acoustic model. All recognition is performed locally and off line by default, but you can also selectively choose to do some recognition in the cloud, too.

Kaldi generally performs at the state of art. As a hybrid engine, although training can be more complicated, it generally requires far less training data to achieve high accuracy, compared to "end to end" engines.

[1] https://github.com/daanzu/kaldi-active-grammar

Re: Ask HN: Non-cloud voice recognition for home use?

#108
post #76
post #28

TL; DR: Win 10 IoT for RasPi does it. ----------------- Windows 10 IoT for Raspberry Pi comes with offline speech recognition API. It was not hard to slap some code together that turns on a light when someone says "banana" at a hackathon. Sounds like exactly what you need. >If it helps I'm happy to reduce vocabulary to a dictionary of words You will do it with an XML grammar file for offline recognition[4]. [1] https…

This is really interesting, but I have a few questions: - The setup guide shows a Windows system making a Windows iot version. Can't I just download an iso and flash it to an sdcard with dd? Does it need a license? - The demo projects show C# and while I can develop in monodevelop, I don't have a Windows to compile it with. Is a C# compiler included in Windows iot's .NET distribution or are there also cross-platform…

You might be able to use .NET Core which is opensource and can run on Linux/Mac.

Re: Ask HN: Non-cloud voice recognition for home use?

#109
post #28

TL; DR: Win 10 IoT for RasPi does it. ----------------- Windows 10 IoT for Raspberry Pi comes with offline speech recognition API. It was not hard to slap some code together that turns on a light when someone says "banana" at a hackathon. Sounds like exactly what you need. >If it helps I'm happy to reduce vocabulary to a dictionary of words You will do it with an XML grammar file for offline recognition[4]. [1] https…

Does the IoT version track everything you do and cram ads down your throat like the regular version of Win 10?

Re: Ask HN: Non-cloud voice recognition for home use?

#110
post #68

Earlier quoted context omitted.

Yes, for a number of European and some Asian languages we can do this; it's mainly the question of business opportunity.

That's very cool. Did you somehow solve autogenerating a training corpus for a new language as long as it's popular? Based on my impressions working with other people in the space, coming up with the training data seems like a big bottleneck - as the available engines are pretty good at learning new languages already.

We have relevant training data for a number of languages.
Post reply on HN