Read the statement by Michael Teeuw here.
Creating Custom Voice Commands for Hello-Lucy...?
-
@sdetweil Ah, that’s fantastic. That would explain why when I changed “Hello Lucy” to “Hey Jarvis” in the Hello-Lucy.js and config file, it was added to the .dic and .lm file…I thought it was included in there from the get go (assuming the code was written to include an alternative, ‘familiar’ AI name that users might want) but all this time, it was my change of the code that put it in there - and it totally works when I say “Hey Jarvis” instead of “Hello Lucy”!
So there’s no need to even edit the .lm or .dic files directly then?
-
@Doctor0ctoroc no, they are generated each time the module starts
-
I think, for your purposes, you can simply do this, although I have not tested it:
-
In sentences.js file add your command(s). “CHEER ME UP” and “THANKS I FEEL BETTER” (MUST ALL BE CAPS)./
-
In checkCommands.json Sample -->
["SHOW","COMMAND","","","true","MMM-ModuleName",""], ["HIDE","COMMAND","","","false","MMM-ModuleName",""],
Changed to
["CHEER","ME","UP","","true","compliments",""], ["THANKS","I","FEEL","BETTER","false","compliments",""],
This should now make sense to you. I used the hide/show pairs mostly because I found the success rate higher when using shorter commands. I’ve “learned” how to talk to Lucy so my success rate is pretty darn good. I know others that have struggled for success.
Using what @sdetweil has told you and this simple format above, you should be on your way.
-
-
Ok, I just tested this and it works. You may find some commands work better than others. You’ll have to do some experimenting.
-
@Doctor0ctoroc said in Creating Custom Voice Commands for Hello-Lucy...?:
when I changed “Hello Lucy” to “Hey Jarvis” in the Hello-Lucy.js
You would only need to change it in the config entry
-
@Mykle1 said in Creating Custom Voice Commands for Hello-Lucy...?:
@Doctor0ctoroc said in Creating Custom Voice Commands for Hello-Lucy...?:
when I changed “Hello Lucy” to “Hey Jarvis” in the Hello-Lucy.js
You would only need to change it in the config entry
Ah, good to know so I’m not being redundant. And thanks for the direction on the coding, that helps a lot! Do I need to add the extra words to the words.json file as well?
-
@Doctor0ctoroc said in Creating Custom Voice Commands for Hello-Lucy...?:
Do I need to add the extra words to the words.json file as well?
No sir. Re-read the instructions in my post above
-
@Mykle1 Okay, got it to work! Although it seems when I say “cheer me up” it will 25% of the time pull up the help menu haha. Is there a function that pulls up help if it can’t ‘understand’ the input? I can’t imagine it’s reading my voice command as “show help”!
-
‘False Positives’ do occur. That’s why I told you that’ some commands work better than others, you’ll have to experiment and Lucy will never be as accurate as an Amazon Echo or Google Home.’ You wanted custom commands. The longer they are (4 words) the higher the risk of false positives. Also, the Pi is hard put to handle Lucy. That’s the reason I moved on to laptop boards. Fantastic response time with non-usb microphone (3.5mm) and higher accuracy.
-
@Mykle1 Fair enough! Out of curiosity, if I were to remove all the commands that I know I won’t use, would that improve the performance by limiting the number of possible commands or is the bulk of the delay just a result of the Pi’s limited processing power? For my mic, I’ve actually been using the Respeaker 2-mic Pi Hat. Not sure how much more responsive that is than a USB mic but it definitely picks up my voice better than the $6 USB mic most people get on Amazon. With a breakout ribbon cable I can place it anywhere I want up to a foot or so from the Pi itself so it doesn’t have to seat directly on top!