Wake Word Skill Trainer

Normally the installation should be done automatically. I think I have to think of something to make it transparent. have fun while testing. I have already fixed some bugs in the last few days. Installation may take up to 30 minutes. which os do you use?

I am using KDE Neon. It worked up to the end of the training…
Now it’s stuck in an endless " 14:44:16.238 - WakeWord - INFO - precise: check for end calculation" loop.

I need more log information before and after

I sent you an email at gras64@web.de

I can also be contacted via chat

Is fixt now. And many oher things too.

2 Likes

Great initiative! And thnx for creating this, I do have a few questions if you don’t mind:

  1. After the 12 times you have to say the wake-word it asks something like ‘now with over influencing words’, I can’t quite catch what is said, what are you supposed to say then? And when do you stop?
  2. How will I know if ‘calculations’ are finished in the end? (and the wake-word is ready?)
  3. How do I change to the newly created wake-word?

*Edit: Btw If I ask ‘hey Mycroft’ if I can call her the new Wake-word, then she asks ‘I already learned that, would you like to discard that?’, no matter what I answer yes or no, it always starts recording again…

Thnx again!

  1. not wakeword is an example of “Britta” are “Pritta” or “brite”.
  2. the skill should make an output after the final calculation, but it can take a few minutes. You can see the progress in the log. or the installation also takes hours.
  3. if you say “I want to call you {name} now” and mycroft found a modell, mycroft will setup this directly"
    PS:.if you say yes you will create a new model. if you say new, the model will be added and recalculated.

I hope this helps you

  1. yes, ok…so words that are close, but wrong…

  2. Ok, it does kindah work (although I saw quite some error’s/deprecated commands being used…at least that’s what the system is warning about…

  3. Hmm, well anything really is regarded as the answer ‘yes, discard and do this anew’, whether it is to say yes, no, new or totally silent… this is really confusing… how would you change to another wakeword being activated without changing the files associated?

I understand that this is under development, but I can see it’s great potential!! ( I really do like the custom wake-word and see this as one of the strong points of this assistant!)

At the moment after a few tries, it didn’t really get any better…in a matter of fact…it got worse, now it seems that with any level above the normal ‘noise-level’ the new ‘wake-word’ is triggered…sadly :-/

Where to go from here?

  1. Ideally I would suggest that perhaps: https://github.com/MycroftAI/Precise-Community-Data using the not-wake-words could help with implementation?

  2. Have an option the further perfect the wake-word by saying something like "I would like to add more wake-word samples for ‘name’ ", in order to have more than 12 samples…

  3. It would be nice if there is an option to change what wake-word you want to use (perhaps within the settings) so that you can fallback to another wake-word if the new wake-word you created fails…

  1. that is already set up. you can send your data to community-data (currently you have to put in a fork in your github first). I don’t really know what works and what doesn’t.
  2. lock on Github doc and at the intent files for all options.
  3. Only when your model is available is set up but I can not check the model for correctness.

Hey Gras64, bear with me…I’m a novice at best… :wink:

  1. “if you say “I want to call you {name} now” and mycroft found a modell, mycroft will setup this directly”
    PS:.if you say yes you will create a new model. if you say new, the model will be added and recalculated."

I tried this again, but no matter what I say…even when I’m silent it will start with the 12 beeps. This could be a language thing, but I would expect the following when it asks ‘I already know this {name}, would you like to discard?’:

yes- restart learning, begin from new for {name}…
no- activate the {name} wakeword

  1. I don’t understand what you say (it’s probably because of language differences?). Let me explain myself better. What I think (and perhaps I’m seeing this wrong) is that because the Mycroft-wakeword works so well, we could perhaps use the ‘not-wake-words’ (and noises) from the Mycroft-wakeword and add only a few ‘not-wake-words’ for our New-wakeword (or is this already done in this matter?). I’m asking this, because at the moment my New-wakeword is triggered by ‘silence’…

4a) No matter if I try to ‘redefine’ my New-wakeword, this triggering by ‘silence’ seems to stay/get worse…

  1. You mean look in the github? ahh I see now: https://github.com/gras64/wake-word-skill/tree/master/vocab/en-us Thnx!

  2. Yes, it doesn’t matter if it is correct, it would be nice to be able to change the ‘active’ Wake-word *at the moment I have no idea how to delete my New-wakeword and revert back to the Mycroft-wakeword… (also see 3)

  1. if you say “train wackword {name}” .make start train (ask for new or old model). if you say “I want to call you hey mycroft now” mycroft check for model and if not found start training (ask for new or old model).
  2. the 12 wakewords are not checked. that is, once you have silence, the silence is also adopted in the model. precise needs a lot more files to work well.
  3. you can view, check and delete all audiofiles and precice files /.mycroft/skills/wake-word/
  4. yes
  5. you say “I want to call you hey mycroft now”

PS: I can also be reached via chat

Thnx for your replies,

  1. without a ‘check’ this function really does more harm than good (see 7)
  2. ok
  3. thnx!
  4. Ok, let me explain why this is really…I mean really bad. What do you think happens when I say ‘I want to call you hey Mycroft now’ and it hears it as; ‘hey Micro’, ‘hey Microsoft’, or even ‘hey Microft’…even when I copy and pasted the sentence you wrote here… it ‘thought’ it was a new wake-word and started again listening for the 12…etc.

I really think you made a really awesome skill, offcourse it needs still quite some work, but please change the implementation of the questions…

*btw I checked the actual sound-recordings, and it’s quite a mess…the ‘beep’ seems also recorded and I think perhaps it would be good to disable the active wake-word, so she will not talk/interfere while recording…

I worked with delays in part, so I will strive for a different solution. Which hardware and which audio management do you use?
As for hey mycroft and mycrosoft, could that be due to your STT? For me, STT works very well.

I have a Pi 4b, with a sony ps3 eyecam, and normal 3.5 jack out…

I don’t know about STT (speech to text?). I do know that even if I typed the command you wrote here in the console in putty (mycroft-cli-client) it didn’t even work. And well by saying things you get a more error-prone result. In my humble opinion these commands should be separated:

-to create a new wake-word
-to add extra wake-word voice samples
-to add extra not-wake-word voice samples
-to change the active wake-word

-and perhaps something for the feedback if the wake-word was heard correctly or not

I am currently in the process of revising the skill. I will contact you when I am ready. I will follow your tips.

3 Likes

I have now installed a validator, have fun testing. if you say something wrong, the file will automatically be moved to no wakeword. this validator can be deactivated via mycroft home. if you say stop it will stop.

I have implemented all of the things for you and revised readme. I’d be happy about feedback

2 Likes

That’s awesome @gras64 I’ll definitely look into it!

hi
I install your skills on my rpi 4 . I work on mycroft linux version and I don’t know why ;
but I was an error in python library kera in model.py
line 242 with “.decode(‘utf-8’)”
‘str’ object has no attribute ‘decode’

So I have to erase all “.decode(‘utf-8’)” in kera folder in model.py and topolgy.py
after that every work fine thank a lot
you did a great job
Sorry for my english

1 Like