DevMiser
Published © GPL3+

DaVinci - The ChatGPT AI Virtual Assistant You Can Talk To

The best way to interact with artificial intelligence is by voice - that's what this project does.

IntermediateFull instructions provided5 hours4,764
DaVinci - The ChatGPT AI Virtual Assistant You Can Talk To

Things used in this project

Hardware components

Raspberry Pi 4 Model B
Raspberry Pi 4 Model B
This needs to be a Raspberry Pi 4, so that you can run the 64-bit operating system. Earlier versions of Raspberry Pis are likely to throw memory errors while running this program. The 2 GB RAM model is sufficient.
×1
Raspberry Pi power supply
I recommend the official Raspberry Pi 5v power supply.
×1
USB Microphone
For talking to the assistant. Any USB mic should work.
×1
USB Speaker
For the assistant to talk back to you.
×1
LEDs (optional)
The program optionally lights LEDs when it detects the wake word and pulses them when it is responding to your queries. Spherical LEDs were used for DaVinci's eyes in the video demo.
×1
Resistors (220 ohm) (optional)
Only needed if you decide to use the optional LEDs.
×1
Heatsinks (optional)
The heatsinks are optional but are highly recommended if you will put your Raspberry Pi in a case or other confined container such as the one used in the video demo.
×1
USB Splitter Cable (optional)
If you decide to print and use the DaVinci body, you will need an angled USB extension cable that will fit inside the body to connect the mic and speaker.
×1

Software apps and online services

Picovoice Porcupine Wake Word Engine
Picovoice AI Picovoice Porcupine Wake Word Engine
Picovoice Cobra Voice Activity Detection (VAD) Engine
Picovoice AI Picovoice Cobra Voice Activity Detection (VAD) Engine
Picovoice Leopard Speech-to-Text Engine
Picovoice AI Picovoice Leopard Speech-to-Text Engine
OpenAI ChatGPT API
AWS Polly
Amazon Web Services AWS Polly
PyAudio
PyGame

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)

Story

Read more

Custom parts and enclosures

DaVinci Body, Base Plate and Eye Sockets - Link to 3D Print Files

The main body holds the mic, the speaker and the LEDs. If you want DaVinci’s hair to be a different color than his body, just insert a change filament instruction at the approximate layer that the hair begins when you use your preferred slicer. The base plate is the bottom part of the body. It has four pegs that the Raspberry Pi 4 will fit onto. You can permanently affix your Pi to the base by putting a little glue at each peg after the Pi is mounted. There is a hole on the back of the main body for the power supply plug, so be certain to arrange your Pi on the base in the correct direction. The base can be attached to the body with screws or glue. The eye sockets fit into the holes for the eyes on the main body and the spherical LEDs will fit inside these sockets. You need to print two of them of course.

Schematics

Optional LED Wiring

DaVinci – The ChatGPT AI Virtual Assistant includes the ability to light up LEDs that help show the status of the program. If connected, the LEDs will light up when the program hears the wake word and will pulse after the user finishes their query and while the assistant provides its response. The proper wiring of the LEDs and resistors to the Raspberry Pi is shown on this diagram. The LEDs are controlled by GPIO pins 18 and 23. The use of the LEDs is optional and will not otherwise impact the functionality of DaVinci.

Code

Python Code for DaVinci

The python code and detailed instructions on how to install it and its dependencies on a Raspberry Pi 4 are here.

Credits

DevMiser

DevMiser

4 projects • 4 followers
I'm a hobbyist developer who enjoys programming microcontrollers. I also enjoy robotics, artificial intelligence and 3D printing and design.

Comments