GiviMAD / rustpotter

An open source wakeword spotter forged in rust
Apache License 2.0
101 stars 3 forks source link

Add wakeword detection with Genetic Programming #8

Open farooqkz opened 1 year ago

farooqkz commented 1 year ago

Hello. I was about to write a software in Rust to do the job of hotword/wakeword detection. And I found this crate. However, I wanted to do the detection with Genetic Programming. I would be happy to make a PR to add experimental wakeword detection with Genetic Programming to this crate. And it could become stable when the experiments are done and we have good enough accuracy. What do you think?

GiviMAD commented 1 year ago

Of course, that will be great. Any improvement or alternative detection method is welcome.

Are you going to add any additional dependency?

farooqkz commented 1 year ago

Of course, that will be great. Any improvement or alternative detection method is welcome.

Are you going to add any additional dependency?

Yeah I think it makes sense to write a library for GP and add it utilize it using rustpotter. And it makes sense that rustpotter have different detection methods available as "features" and GP is disabled by default as long as it's experimental.

GiviMAD commented 1 year ago

Yeah I think it makes sense to write a library for GP and add it utilize it using rustpotter.

Makes sense, I was asking because I would like to keep the library fully compatible with WebAssembly, but I don't think that would be a problem.

And it makes sense that rustpotter have different detection methods available as "features" and GP is disabled by default as long as it's experimental.

Yes, we can add features for the different detection methods, great idea, but I would prefer to have all of them enabled by default.

Maybe you have already look into these, but as a summary, rustpotter expose their different detection methods as different types of "wakewords", for adding a new one you need to:

I think those are all the steps required in order to add a new wakeword type, if no new config is required adding support to the other packages (the java and javascript ones) is just a matter of updating the library.

farooqkz commented 1 year ago

I'm working on it. However, I would like to polish my method more by testing on greater datasets. Currently with 11 positive and 11 negative samples, it reaches zero loss easily.

farooqkz commented 5 months ago

I am still working on it. It has been a year? dunno. There is a Telegram group for Speech processing. If you are interested, consider joining. https://t.me/speech_recognition