In my previous post I wrote about my ideas to automate my home with an important part to be a A.I. personal assistant. There are smart speakers out there that can be used to do more, but my vission is to have it all in one device if possible.
So in this post I would like to share with you my vision. How I see it. How this perfect DIY A.I. Personal Assistance should look like. Which hardware, which software, etc. So let’s start with a quick bullet list and elaborate a bit on how we get there after that.
How I see it
- Linux based. (Opensource)
- The device should look GOOD! (Although that will be part of the fine tuning process later on)
- Home Assistant for all Home Automation. (Powerfull and Opensource)
- Speech by MyCroft A.I. (Opensource and Privacy minded)
- Home Assistant and MyCroft fully and seamlessly working together.
- HDMI to TV for local multimedia, messages, additional information etc.
- All the rest Alexa, Google Assistance and Cortana can do. (Or at least close to that)
Then I also have a few nice to have’s for later on in the future;
- VOIP / Skype / (Video) calling support.
- Camera that uses DOA to always look at you while “calling”. (Similar as the Moon by 1-ring)
So let us start with the hardware that we need to have a stab at the above ideas.
Raspberry Pi 3.
Have been in doubt which version to choose at the moment. The new Raspberry Pi 3B+ is the newest, but during my research phase of all the different software needed I saw different issues with it. The WiFi and Debian / Raspbian support in combination with MyCroft. Now, I always like a challenge and those things will not keep my from using all the latest and greatest version of everything. In the end I played it safe and choose the “normal” 3B instead of the newer 3B+. (for now 😉 )
ReSpeaker 4-Mic Array for Raspberry Pi
For a personal assistance to be of a success, you really need to have a proper microphone. Nothing more annoying to speak exactly into the right direction, speak really clearly and mute all other sound devices before that. For proper noise cancellation, possibly DOA (Direction Of Arrival) and a good sensitivity, you really need a microphone array. In my search for a proper, yet affordable Mic-Array I found the 4-Mic ReSpeaker array for the Raspberry Pi from Seeedstudio.
This board is developed based on AC108, a highly integrated quad-channel ADC with I2S/TDM output transition for high definition voice capture, which allows the device to pick up sounds in a 3 meters radius. Besides, this 4-Mics version provides a super cool LED ring, which contains 12 APA102 programable LEDs. With that 4 microphones and the LED ring, Raspberry Pi would have ability to do VAD(Voice Activity Detection), estimate DOA(Direction of Arrival), do KWS(Keyword Search) and show the direction via LED ring, just like Amazon Echo or Google Home.
The perfect candidate for our project. Plus as a bonus, it only cost around $25,-
The case to hold it all
Like said before. It all also have to look good. A Personal A.I. Assistance device normally sit’s next to your TV or on your desk. So in plain sight. Most Raspberry Pi cases look, well …. Don’t look that good. At least far from good enough to have it 24/7 in plain sight. However apparently the Germans are not only good in Soccer. I found the Orbital Case. It looks good. Not that big, but more importantly; I think it would be easy to be modded for the ReSpeaker to be easily added into it.
What I have in mind is; With it’s diameter of 14 cm. I am thinking of cutting out a big circle of about 12-13 cm on the top and cover it (nicely looking of course) with semi-transparent fiber/cloth. Basically similar as the Google Home Mini, but than flat at the top (if I make any sense). In a later post, I will share a few thoughts and possible quick drawings of it. I am open for ideas, so if have a good idea about it, please by all means comment on this post below.
That is it for now hardware-wise. Above is for the base Personal A.I. Assistance. The whole Home Automation part of the system has not yet been fully decided up on. I will talk about that in a later post, when we are getting to it.
Next up is the discussion about the different software components.