custom-hotword-for-aiy-voicekit
custom-hotword-for-aiy-voicekit copied to clipboard
Snowboy API for AIY Voice Kit
custom-hotword-for-aiy-voicekit
Snowboy API for AIY Voice Kit.
Replace your AIY Voice Kit hotword [OK. Google] to [alexa],[jarvis]...etc
You can easily replace your program.
See. diff AIY Voice Kit Press button and own hotword program
Before How to install
Buy The AIY Voice Kit and complete the tutorial.
custom-hotword-for-aiy-voicekit use lowlevel api AIY Voice Kit.
https://aiyprojects.withgoogle.com/voice/
Are you work your voice kit this program?
src/examples/voice/assistant_grpc_demo.py
If the demo has worked,next step.
How to install
cd /home/pi/
# libatlas-base-dev need snowboy module.
sudo apt-get install libatlas-base-dev
git clone https://github.com/senyoltw/custom-hotword-for-aiy-voicekit
# copy snowboy module and sample program.
cp -ipr custom-hotword-for-aiy-voicekit/mod AIY-projects-python/src/
cp -ip custom-hotword-for-aiy-voicekit/assistant_grpc_demo_snowboy.py AIY-projects-python/src/examples/voice/
How to use
cd AIY-voice-kit-python
chmod a+x src/examples/voice/assistant_grpc_demo_snowboy.py
src/examples/voice/assistant_grpc_demo_snowboy.py src/mod/resources/alexa/alexa_02092017.umdl
Say "alexa" and talk your google assistant!
sample log
pi@raspberrypi:~/AIY-voice-kit-python $ src/examples/voice/assistant_grpc_demo_snowboy.py src/mod/resources/alexa/alexa_02092017.umdl
/opt/aiy/projects-python/src/aiy/_drivers/_led.py:51: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(channel, GPIO.OUT)
[2018-06-03 14:33:26,194] INFO:recorder:started recording
Speak own hotword and speak
[2018-06-03 14:33:28,634] INFO:snowboy:Keyword 1 detected at time: 2018-06-03 14:33:28
Listening...
[2018-06-03 14:33:31,478] INFO:speech:transcript: What
[2018-06-03 14:33:31,483] INFO:speech:transcript: What is
[2018-06-03 14:33:31,485] INFO:speech:transcript: What is your
[2018-06-03 14:33:31,487] INFO:speech:transcript: What is 4
[2018-06-03 14:33:31,489] INFO:speech:transcript: What is よね
[2018-06-03 14:33:31,491] INFO:speech:transcript: What is your name
[2018-06-03 14:33:31,492] INFO:speech:transcript: What is your name
[2018-06-03 14:33:31,494] INFO:speech:transcript: What is your name
[2018-06-03 14:33:31,496] INFO:speech:event_type: 1
[2018-06-03 14:33:31,501] INFO:speech:transcript: What is your name
You said " What is your name "
Speak own hotword and speak
Make your own hotword
Make your own hotword this site.
and download your voice kit [hotword].pmdl
(how to make your hotword by snowboy, google it ^^!)
https://snowboy.kitt.ai/
and run program argument your hotword
cd AIY-voice-kit-python
src/examples/voice/assistant_grpc_demo_snowboy.py [hotword].pmdl
diff original program(AIY Voice Kit Press button), snowboy wakeword program
$ diff -u src/examples/voice/assistant_grpc_demo.py src/examples/voice/assistant_grpc_demo_snowboy.py
--- src/examples/voice/assistant_grpc_demo.py 2018-04-14 06:05:49.000000000 +0900
+++ src/examples/voice/assistant_grpc_demo_snowboy.py 2018-06-03 14:31:40.356212421 +0900
@@ -21,6 +21,16 @@
import aiy.audio
import aiy.voicehat
+import mod.snowboydecoder as snowboydecoder
+import sys
+
+if len(sys.argv) == 1:
+ print("Error: need to specify model name")
+ print("Usage: python demo.py your.model")
+ sys.exit(-1)
+
+model = sys.argv[1]
+
logging.basicConfig(
level=logging.INFO,
format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s"
@@ -31,12 +41,15 @@
status_ui = aiy.voicehat.get_status_ui()
status_ui.status('starting')
assistant = aiy.assistant.grpc.get_assistant()
- button = aiy.voicehat.get_button()
+ #button = aiy.voicehat.get_button()
+ detector = snowboydecoder.HotwordDetector(model, sensitivity=0.5)
with aiy.audio.get_recorder():
while True:
status_ui.status('ready')
- print('Press the button and speak')
- button.wait_for_press()
+ #print('Press the button and speak')
+ print('Speak own hotword and speak')
+ #button.wait_for_press()
+ detector.start()
status_ui.status('listening')
print('Listening...')
text, audio = assistant.recognize()
pi@raspberrypi:~/AIY-voice-kit-python $