4 ms·
Hoping this will quickly make into someone's home grown self-hosted version of Alexa. Alexa, turn the lights on in the kitchen. Alexa, turn on the kitchen lig
by canada_dry 10y ago
Hoping this will quickly make into someone's home grown self-hosted version of Alexa.
Alexa, turn the lights on in the kitchen.
Alexa, turn on the kitchen light.
Alexa, light up the kitchen.
Should all accomplish the same task using this framework.
- axiom92 10y agoI see your point, but the tasks that you have listed (and more difficult variants) can be easily handled using rule-based systems.
- losteric 10y agoIf I recall correctly, most of Alexa is simple rule-based systems.
- buro9 10y ago> Alexa, light up the kitchen May also be interpreted as: Alexa, set fire to the kitchen
- squeaky-clean 10y agoI've been slowly working on my own simple home "Alexa" using mostly CMUSphinx for the voice detection. Honestly my most successful methods involved the least amount of complex NLP. Just simply treating the sentence as a bag of words and looking for "on" or "off" or "change" (and their synonyms) and the presence of known smart objects works extremely well. I could say "Hey Marvin, turn on the lights and TV", or "Hey Marvin, turn the lights and TV on", or even "Hey Marvin, on make lights and TV." (It's named Marvin it after the android from The Hitchhiker's Guide, my eventual goal is to have it reply with snarky/depressed remarks). Adding 30 seconds of "memory" of the last state requested also made it seem a million times smarter and turns requests into a conversation rather than a string of commands. If it finds a mentioned smart object with no state mentioned, it assume the previous one. "Hey Marvin, turn on the lights." lights turn on "The TV too." tv turns on The downside to this approach is I would be showing it off to friends, and it could mis trigger. "Marvin turn off the lights." lights turn off "That's so cool, so it controls your TV, too?" TV turns off But it was mostly not an issue in real usage. Ultimately I've got the project on hold for now because I can't find a decent, non-commercial way of converting voice to text. I'd really rather not send my audio out to Amazon/Google/MS/IBM. Not just because of privacy, but cost and "coolness" factor (I want as much as possible processed locally and open-source). CMUSphinx's detection was mostly very bad. I couldn't even do complex NLP if I wanted because it picks up broken/garbled sentences. I currently build a "most likely" sentence by looping through sphinx's 20 best interpretations of the sentence and grabbing all the words that are likely to be commands or smart objects. I tried setting up Kaldi, but didn't get it working after a weekend and haven't tried again since. I don't really know any other options to use aside from CMUSphone, Kaldi, or a butt SaaS. I've wanted to add a text messaging UI layer to it. Maybe I'll use that as an excuse to try playing with ParseySaurus.
- canada_dry 10y ago> I've got the project on hold for now because I can't find a decent, non-commercial way of converting voice to text. I'd really rather not send my audio out to Amazon/Google/MS/IBM Same concern here... so my voice->text method is via android's google voice - forced to offline mode. The offline mode is surprisingly good. Re mis triggers... I also have opencv running on the same android. It only activates the voice recognition when I am actually looking directly at the android device (an old phone).
- squeaky-clean 10y ago> text method is via android's google voice - forced to offline mode. The offline mode is surprisingly good. I actually tried this at one point with a wall-mounted tablet before trying Sphinx. It is surprisingly good for offline, probably the best offline I've tried yet outside of dedicated software like Dragon. But it doesn't meet my open criteria, so I'm hoping to find something better. I'll most likely give up on the requirements of it needing to be local and open, and use Sphinx for hotword detection to send the audio out to AWS for processing. > Re mis triggers... I also have opencv running on the same android. It only activates the voice recognition when I am actually looking directly at the android device (an old phone). That's an awesome idea :) I haven't gotten around to playing with anything vision based yet. But I've thought of 'simple' projects like that, which would add a lot to the perceived intelligence. Figuring out the number of people in a room would be another useful idea I think. The AI could enter a guest mode when there is more than 1 person in the room, or when it detects faces that aren't mine, or something similar.
- canada_dry 10y ago> doesn't meet my open criteria With the leaps and bounds being made in ml these days it can't be long before magnitudes better open source voice recognition becomes available. I gave Sphinx a try but it was horribly disappointing. For me, the combination of google voice (offline) and Ivona voice (Amy) is pretty damn good for my android/python/arduino based home AI.
- 10y ago
- deleted 10y ago[deleted]
- rch 10y ago> Alexa, light up the kitchen. Alexa turns the gas stove directly to 'high', and waits.