hotword engines
Jun. 10th, 2020 09:45 pmSo, I have a long-term goal of writing my own smart speaker program using publicly-available software. And I've met the intermediate goal of making essentially a version of the old Eliza chatbot that you can converse with aloud. I downloaded an Eliza implementation in Python from Github, and used one of those cloud speech recognition engines, and combined them in a way where I can swap the speech engine for a text engine -- meaning I can switch to a different speech engine, too. And I can swap out Eliza for a chatbot of my own design, once I get all the glue in place...
one of these glue elements is, I want this chatbot to have a wake word. like it shouldn't start listening for actual sentences until it hears its name. There's an engine called Snowboy that everyone seems to use... except that it's impossible to install on my Mac or my Raspberry Pi. The python bindings all fail and crash and burn. ...there's another one called Porcupine which seems to work better, but it's complicated to start using... and also seems to have some limitations. like, I'm stuck with the default wake words until I can get a commercial license to use it. so I guess I'll rename it to "bumblebee" or something instead of "Annette" which isn't a good wake word anyway; it's only four phonemes long.
a problem I'm running into with speech/AI/cloud stuff is that I keep finding things that look like they're going to work great, but they're at end-of-life. Snowboy is one of them, that's probably why I can't get it to compile on anything. Six months ago it was Kalliope, which you were supposed to run locally but program through the cloud, somehow. Now there's wit.ai, an intent detection engine, which isn't shutting down... but as I asid before, it's been bought by Facebook, which means I can't get my API token with my Github account anymore, I have to use my Facebook account. Gah.
this is going pretty slowly, I hope I can get past these dumb obstacles and get to writing the conversations soon... even then i'll probably get bogged down in data structures...
one of these glue elements is, I want this chatbot to have a wake word. like it shouldn't start listening for actual sentences until it hears its name. There's an engine called Snowboy that everyone seems to use... except that it's impossible to install on my Mac or my Raspberry Pi. The python bindings all fail and crash and burn. ...there's another one called Porcupine which seems to work better, but it's complicated to start using... and also seems to have some limitations. like, I'm stuck with the default wake words until I can get a commercial license to use it. so I guess I'll rename it to "bumblebee" or something instead of "Annette" which isn't a good wake word anyway; it's only four phonemes long.
a problem I'm running into with speech/AI/cloud stuff is that I keep finding things that look like they're going to work great, but they're at end-of-life. Snowboy is one of them, that's probably why I can't get it to compile on anything. Six months ago it was Kalliope, which you were supposed to run locally but program through the cloud, somehow. Now there's wit.ai, an intent detection engine, which isn't shutting down... but as I asid before, it's been bought by Facebook, which means I can't get my API token with my Github account anymore, I have to use my Facebook account. Gah.
this is going pretty slowly, I hope I can get past these dumb obstacles and get to writing the conversations soon... even then i'll probably get bogged down in data structures...