
Voice control engine that runs fully in the browser using WebAssembly - kenarsa
https://picovoice.ai/
======
yjftsjthsd-h
Looks like this is source for the wake word engine:
[https://github.com/Picovoice/Porcupine](https://github.com/Picovoice/Porcupine)

But their site says to email for licensing, which bodes poorly.

EDIT: License for "Porcupine" is Apache but with this:

THIS LICENSE APPLIES TO ASSETS IN THIS REPOSITORY INCLUDING DOCUMENTATION,
SOURCE CODE, BINARIES, AND RESOURCE FILES EXCEPT FOR THE OPTIMIZER TOOL, ITS
ASSOCIATED RESOURCE FILES, AND KEYWORD FILES GENERATED USING IT COLLECTIVELY
LOCATED UNDER Porcupine/tools/optimizer. THE OPTIMIZER TOOL AND KEYWORDS FILES
GENERATED USING IT ARE NOT GOVERNED BY THIS LICENSE. SPECIFICALLY THEIR USE IN
COMMERCIAL PRODUCTS WITHOUT ACQUIRING A LICENSING AGREEMENT FROM PICOVOICE IS
STRICTLY PROHIBITED.

------
mikob
Coincidentally I tried the python client just earlier today and was blown
away. I never even had to record my voice, I just typed two words for the wake
word and it was 95% accurate in picking them up even with heavy background
noise.

I am definitely going to integrate the wake word functionality into my Chrome
extension that lets users control the browser via voice
([https://www.lipsurf.com](https://www.lipsurf.com)) so they can turn on the
extension without even hitting the button.

I thought I would need to look into compiling into web assembly myself, super
impressed that this too has already been done.

~~~
kenarsa
Sounds like a great idea. Let us know if you face any problems integrating it.
Happy to help. Cheers!

------
joethebro
Just to add my experience, the demo worked perfectly straight away (Chrome 70
on macOS). Really cool to see this tech, hope it's easy to integrate.

~~~
kenarsa
thanks a lot for the feedback :)

Take a look at this standalone demo if you like
[https://github.com/Picovoice/Porcupine/tree/master/demo/js](https://github.com/Picovoice/Porcupine/tree/master/demo/js)

it should be a matter of tweaking a few parameters.

~~~
rkagerer
Web demo on your main page worked great for me at first, but stopped working
after about half a dozen commands.

~~~
kenarsa
That's odd. If there are errors in the console. Please open an issue in the
GitHub repo is possible:
[https://github.com/Picovoice/Porcupine](https://github.com/Picovoice/Porcupine)

Otherwise, I am thinking it could be something related to the microphone?

------
exikyut
Each of the >30 times I've hit F5 on this site in Chromium it causes a 100%
reproducible, complete tab crash.

The tab fully loads and appears properly for about... 100ms or so beforehand,
so I'm pretty sure it's to do with some kind of wasm interaction. I have my
microphone set to "ask before accessing" so I don't think the crash is to do
with audio.

FWIW, I've been experiencing periodic tab crashes for the past few weeks, and
need to do a package upgrade to move up from 68.0, so this may not be
interesting to anybody.

But in case someone sees this and wants to chase it down, let me know;
debugging Chromium can be fun. Unfortunately Arch doesn't provide debug
symbols for their builds :'( so that's a bit of a setback, but yeah.

~~~
yjftsjthsd-h
Why are you not up to date? Chrom/ium has a stable extension API; it's not
like it should break anything, and you're missing security and bug fixes.

~~~
exikyut
Insufficient diskspace, to be honest (avg. 50-100MB free on /). Which is due
to expensive medical issues that make it tricky for me to work.

Been a problem for a while - worked with just under 8MB free for two years on
the 486 I used between 2003 and 2005.

The reason I'm doing my best to sit still until I can fix things properly is
that buying small HDDs a) multiplies single points of failure beyond the many,
many disks I have boxed up and hope still work, and b) increases the total
capacity I'll need to _re-purchase_ when I can finally assemble a ZFS pool.
Right now, I have enough 400MB and 4GB, 10GB, 60GB, etc HDDs that I need about
10TB (!!!!) of temporary capacity to sanely deduplicate everything.

I'll figure out a solution eventually.

------
faissaloo
Proprietary? No thanks, I'll just use Mozilla Deepspeech.

~~~
mediocrejoker
Serious question, how is that working so far?

I’d love to have Alexa/Google hone functionality but I’m not comfortable
having a device made by those companies always listening in my home.

Really looking forward to when a product using Mozilla’s tech is available.

~~~
mikob
You should look into MyCroft AI - it's an open source, privacy-conscious smart
speaker company. You can buy one of their smart speakers or go the DIY route
and install it on your own Raspberry Pi.

------
IanCal
Interesting tech, but on a very restricted demo it was wrong a huge number of
times for me.

I'd recommend adding a note that the lamp itself will go red in response to
"ok lamp", at least I think that's why it was doing that - it was a bit
confusing and to see the first thing happen after saying "ok lamp, blue"
having the picture of a lamp go red was not hugely encouraging initially.
Perhaps add "listening for colour" or something.

~~~
krastanov
Weird... I just tried it and it worked perfectly for me, even when whispering
away from my phone's microphone. And I have a strong accent.

------
dredds
Oddly, all site text invisible in Chrome 55 (UC Browser) and FF 57. (text
exists, but must be same as bg color, including all buttons)

~~~
pmontra
It's ok with FF 62 on Android, but it'sshouldbeok with older versions. Being
on a tablet I can't check if they're using something new.

------
bufferoverflow
The web demo doesn't work for me on Android.

~~~
krylon
Works for me on Android using Firefox.

~~~
bufferoverflow
Ah, it does for me too, though not reliably.

