Michael Alves
Published © CC BY

SAVI: Starfleet Audio Voice Interface

To celebrate Star Trek's 50th Anniversary, I created a way to to talk to a computer just like the characters on the TV show can.

IntermediateFull instructions provided4 hours1,231
SAVI: Starfleet Audio Voice Interface

Things used in this project

Hardware components

Raspberry Pi 3 Model B
Raspberry Pi 3 Model B
Though pretty much any Raspberry Pi will do, except the first model. I would stick to the later models because they are faster.
×1
SD Card with a fresh install of Raspbian (tested against build 2016-05-27 Jessie)
×1
An External Speaker with 3.5mm Jack
(Optional) You can use the audio out function of HDMI, if you wish. I decided to use USB powered speakers because I had some on hand, I wouldn't have to plus them into an outlet, and the volume would be loud enough to be heard in my living room.
×1
A USB Sound Dongle
(Optional) You may not need this because there are various ways to get sound input into your Raspberry Pi. If you are using a standard computer microphone or a set of earbuds with a microphone, you will need this to connect it to your Raspberry Pi.
×1
Plain Old USB Microphone
(Optional) If you want to skip the above USB Sound Dongle, then you can just use a USB Microphone. When I was seeing this up, I just used an old webcam that I had in a drawer. The Raspberry Pi will recognize its mic as a sound input device.
×1
USB STARTREK COMMUNICATOR NET PHONE WITH SOUNDS & LIGHTS
(Optional) Since this project is an homage to 50 years of Star Trek, I bought this USB microphone. It was an extravagance due to its price, but its look was just right for my project. Honestly, you can skip this component if you are using one of the other sound inputs.
×1
Black Plastic Project Power Protective Case Enclosure Box or Raspberry Pi Case
I had an old project box lying around from Fry's that I used. It is a little bigger than the one in the link. In retrospect, I should have used a dedicated Pi case due to the amount of work I had to do to my box ignorer to expose the Pi's ports. I liked my big because it seemed to have the look of the tech used in Start Trek's original series. I also like my box because it had lots of room to add the buttons.
×1
PHILMORE 30-12632 SEALED PUSH Button (Yellow)
Pretty much any on/off (momentary) button will work. I chose this one because it looks like the buttons used on Start Trek's original series.
×1
BLUE / JUMBO (10mm) / PANEL MOUNT LED / LINROSE / B4383H6
Pretty much any LED will work. I chose this one because it looks like the buttons used on Start Trek's original series, and it will mount easily.
×1
GREEN / JUMBO (10mm) / PANEL MOUNT LED / LINROSE / B4383H5
Pretty much any LED will work. I chose this one because it looks like the buttons used on Start Trek's original series, and it will mount easily.
×1
Star Trek Ensignia
I used one that used to be an action figure base. I had to remove the little peg that holds the figure. Then I panted it in a golden bronze color. You can customized it however you want.
×1
Various Model Paints
Optional, for various customization possibilities.
×1
USB-A to Micro-USB Cable
USB-A to Micro-USB Cable
For plugging int your Raspberry Pi.
×1
USB to Outlet Plug
You will need to power your Pi somehow.
×1

Software apps and online services

Alexa Voice Service
Amazon Alexa Alexa Voice Service
Amazon Alexa service
IFTTT Amazon Alexa service

Hand tools and fabrication machines

Various Screwdrivers
Dremel Rotary Tool

Story

Read more

Schematics

AlexaPi SAVI Schematic

Just a basic diagram of how the LEDs and switch hook up the the Raspberry Pi 3

AlexaPi SAVI Bread Board

There are many ways to route wires to the varies grounds on a Raspberry Pi. This images shows one way.

Sam Machin's Bread Board Diagram from his Github repository on AlexaPi.

This diagram uses a Raspberry Pi Model B. This diagram uses resistors. I didn't use resistors because my panel mount LEDs had resistors built in. Looking at this diagram will be helpful for prototyping.

Code

Alexa Pi Launcher (a script that launches Alexa pi)

Python
#!/bin/sh
# alexapilauncher.sh
# navigate to Alexapi directory, then execute main AlexaPi script, the change to
home directory

cd Downloads/
cd AlexaPi/
sudo python ./main.py
cd/
No preview (download only).

Replacement Line that adds Star Trek sounds on reboot. Make sure all sounds are in AlexaPi directory

Python
os.system('mpg123 -q {}tos-computer-01.mp3 {}tos-computer-working.mp3 {}
tos-computer-04.mp3 {}tos-computer-02.mp3'.format(path, path, path, path))
No preview (download only).

Sam Machin's Github from Novaspirit

I used this repository though I did change a few wines of code which I will note below.

Credits

Michael Alves

Michael Alves

1 project • 1 follower
High school English, Engineering, and Video Game Design Teacher

Comments