Naomi
Naomi copied to clipboard
Microphones HAT support
support various microphones for Raspberry Pi:
For the boards with hats, we could make lights effects like on the Amazon Echo or google home, while receiving a notification, requesting Naomi, Naomi status (Offline, updating software...)
-
Matrix Boards
- With leds control support
- Onboard sensors support
-
ReSpeaker Boards
- With leds control support
- wireless Bluetooth microphones with earphones integrated
Probably doable, but will have to be configurable as well. I have one of the ReSpeaker 2 mic HATs coming in Thursday and for my specific intended use, the LEDs need to be off.
This is something we talked about in our maintainers meeting last Tuesday. The consensus was that we would have different builds for varies special hats. However it will not be something we actively develop for some time. If at anytime after the Naobian image is released someone wants to make a special hat version, we will be more then happy to incorporate it. Just not in the pipeline right now due to the special kernels needed for them to run.
Once a specialty hat like respeaker is installed, getting Naomi to use it is just a matter of selecting the correct option during setup. @AustinCasteel wrote an installer for the Google AIY voice kit Version 1, which was pretty complex. I think it got dropped from the installer due to its complexity and the fact that the Version 1 kit is pretty hard to get at this point. For a long time, using Austin's script was my preferred way to install the drivers. I would like to link to them here, but can't find them now.
My problem with the Google AIY microphone/speaker was that I was never able to get echo cancellation working on it, so Naomi kept listening to itself. After saying "My name is Naomi, how can I be of assistance" Naomi would react to hearing it's own name and try to respond. I've had success using the Pulseaudio echo-cancel module with the WebRTC method with most hardware, so I'm not sure why I could never get it working with the AIY hat. I also don't know if the same issue holds for the for I would suggest using a USB conference phone for audio in/out instead of a HAT. These usually have hardware echo cancellation built in, which is really nice. I just bought a couple from Amazon.com https://www.amazon.com/dp/B088VL9KWV for $20/each which work very well so far. I've also had pretty good luck using the Pulseaudio echo-cancel module with the WebRTC method with most hardware, so I'm not sure why I could never get it working with the Google AIY hat. In any case, I probably won't be putting together my Google AIY hardware again anytime soon.
The other issue with hats is getting lights working with them. The Google AIY kit came with a button on top with a green LED embedded within it, and the Respeaker includes a circle of multi-color lights. I wrote visualization plugins for both of these: Google AIY Voice v1: https://github.com/aaronchantrill/Naomi_Google_AIY_Voice_v1_Button Respeaker: https://github.com/aaronchantrill/respeaker_4mic_volume
Between getting the hat drivers installed and creating visualizations for any lights included on the hat, I think we've got this covered with examples for anyone who would like to implement a new hat in the future.