wrapper for Snowboy: a hotword detection engine

DonManfred

Expert
Licensed User
Longtime User
I guess you need to play with the values set for the sensivity
B4X:
sensivity = sensivity&"0.5"
It sets a sensivity of 0.5 for all the models.
 

Johan Schoeman

Expert
Licensed User
Longtime User
Yup. Your APK is working fine.
Try this APK:
https://drive.google.com/file/d/0B4g9tud5lvjgRmhNSHFHclhNVzQ/view?usp=sharing

It will/should recognise the following:
B4X:
    'alexa.umdl                         say "alexa"                        1
    'snowboy.umdl                       say "snowboy"                      2
    'Extreme.umdl                       say "extreme"                      3
    'smart_mirror.umdl                  say "smart mirror"                 4
    'pilot.umdl                         say "pilot"                        5
    'OK_Google.umdl                     say "OK Google"                    6
    'hello.umdl                         say "hello"                        7
    'Pluto.umdl                         say "pluto"                        8
    'stitch.umdl                        say "stitch"                       9
    'chris.umdl                         say "chris"                        10
    'barrier.umdl                       say "barrier"                      11

The number to the right is what the toast message should show when you pronounce the word according to what it can recognise. Pilot and Hello seems to be close to one another. But is seems to recognise the others (including Extreme) without too much difficulty.
 

Johan Schoeman

Expert
Licensed User
Longtime User

DonManfred

Expert
Licensed User
Longtime User

Attachments

  • SnowboyDetectEx2.zip
    10.7 KB · Views: 376
  • snowboyRes1.zip
    199.1 KB · Views: 378
  • snowboyRes2.zip
    443 KB · Views: 388

Johan Schoeman

Expert
Licensed User
Longtime User
Good that so many hotwords have now been generated. However, I think that adding more hotwords will substantially increase the chance of false triggers, simply because Snowboy will have to respond to a multitude of voice sounds.
Probably it is best to let the user chose only one hotword and only include/activate the corresponding umdl file.
What do you think?
I have added Alexia, Amalia, and Alexander - but I think it is starting to get confused with names that are so close to one another:
B4X:
    'the following are available thus far:
    'alexa.umdl                         say "alexa"                        1
    'snowboy.umdl                       say "snowboy"                      2
    'Extreme.umdl                       say "extreme"                      3
    'smart_mirror.umdl                  say "smart mirror"                 4
    'pilot.umdl                         say "pilot"                        5
    'OK_Google.umdl                     say "OK Google"                    6
    'hello.umdl                         say "hello"                        7
    'Pluto.umdl                         say "pluto"                        8
    'stitch.umdl                        say "stitch"                       9
    'chris.umdl                         say "chris"                        10
    'barrier.umdl                       say "barrier"                      11
    'Hi.umdl                            say "hi"                           12
    'Alexia.umdl                        say "alexia"                       13
    'Amalia.umdl                        say "amalia"                       14
    'Alexander.umdl                     say "alexander"                    15

Here is the link to the APK file

https://drive.google.com/file/d/0B4g9tud5lvjgYnlaaVVpOXRSNTA/view?usp=sharing
 

Multiverse app

Active Member
Licensed User
Longtime User
Any more ideas (or experiments) to improve the speech recognition results?
for each user, allow them to record their voice on snowboy dashboard. After the process, the page will download a pdml file. programmatically copy it to the snowboy folder and rename the extention to udml. Then, Re-initialize the snowboy object. This way, the recognition becomes better for that particular user.
 

Multiverse app

Active Member
Licensed User
Longtime User
allow them to record their voice on snowboy dashboard
the problem I am facing is that it appears that I cannot record the voice on a phone. The process has to be done in a desktop browser.
Have to figure it out.
 

Attachments

  • Screenshot_20170903-190202.png
    Screenshot_20170903-190202.png
    117.8 KB · Views: 303

Multiverse app

Active Member
Licensed User
Longtime User
Just realized that snowboy has been dumping its recorded data in "recordaudio.pcm" under DirRootExternal. The problem is that the file builds up over time and takes a huge amount of space. It was taking 41 GB of space when I noticed it.
So, is it a better choice to delete the file on Sub Snowboy_stop() ?
 

DonManfred

Expert
Licensed User
Longtime User
the - additional - "logging" was a result of debugging/trying the library....
As i am asuming you are using my version; I´ll adapt the library and send you a new one.

PD: You should start creating a NEW thread for any new question in the future. This thread is not the right place. this is the Joboffer forum.
 

DonManfred

Expert
Licensed User
Longtime User
I would also like to join in the development program and receive the latest version by Don Manfred by making a donation. Has Don thought about how to proceed with such additional developers?
The trial (finished library) is already uploaded here... If it goes in the direction you need; just donate as much you want.
 
Last edited:

DonManfred

Expert
Licensed User
Longtime User
The ability to allow the user to select only one particular hotword
It is up to you to just initialize the hotwords you want. You also can list the files in the folder and let the user select which you want to use...
Only initialize the hotwords you want (see example). You are not forced to use all available. In the example i load them all.
 

nrasool

Member
Licensed User
Longtime User
So if I needed a wrapper for iOS as well as Android?, could you help on this DonManfred? :)
 
Top