Project Alias

52,239

198

46

About: I am creative technologist at Tellart, living in Amsterdam

Alias is a teachable “parasite” that is designed to give users more control over their smart assistants, both when it comes to customisation and privacy. Through a simple app the user can train Alias to react on a custom wake-word/sound, and once trained, Alias can take control over your home assistant by activating it for you.

In this instructions, we will walk you through the main steps to complete your own Alias and start training a new wake-up-word for your smart device.

Step 1: Requirements and Materials

The main components used in this build are:

Tools needed for this project are:

  • Access to a 3d printer
  • Soldering iron
  • Wire stripper
  • Screwdriver
  • A way to flash a micro SD card on your computer

Note: this project has only been tested with these components, but if you are confident with making, parts can be changed for others.

Step 2: 3D Printing the Shell

For this step, we will be 3D printing the shell

For now, we have provided 2 options:

  • Google Home (original)
  • Amazon Echo

1. Print the shell and speaker holder in any color on a 3D printer. Because of the mesh in the object, it is important to keep the support material at a minimal. We had the best result printing it on its back-side. (See picture)

2. Use sandpaper to give the shell a nice and smooth surface. (optionally give it an acetone bath)

Step 3: Wiring and Assembly

Before assembling the Alias we need to connect the speakers to the ReSpeaker audio shield and a power supply to the Raspberry Pi.

1. The speaker wires are stripped and soldered on to a JST 2.0 connector or an old Jack cable. The speakers and wires snap into the 3D printed speaker holder. (See picture above).
Note: We have found that the wires could trigger the Google Home when placed in the center. So for a better result on a Google Home try to route the wires down the sides.

2. Next, we need to supply 5V to the Raspberry Pi. Since there is not much space inside the shell, we decided to solder the 5V and Ground to the GPIO pins directly. You could try with an angled or modified micro USB cable. There is a small dent in the shell to route the wire out. Depending on your wire some fitting may be required.

3. Mount the speaker holder and Raspberry Pi to the shield with 4 small wood screws. (Tighten gently to prevent the 3D print to crack)

4. Place the assembled Alias on your device. If the fit is not smooth give the inside edge some sandpaper. It's important to align the speakers with the microphones of your device.

Step 4: Software

In this step, we will be adding the software to the Raspberry Pi.

Please follow the steps on the projects GitHub page.

The code is set to be used with a Google Home from default. If you plan to use it on an Amazon Echo please change line 21 in app.py to use the alexa.wav file.

Amazon: sound.audioPlayer("data/alexa.wav",0,"wakeup", False)

Google Home: sound.audioPlayer("data/google_home.wav",0,"wakeup", False)

Step 5: Train and Calibrate

In this step, we will train Alias with a custom wake-up word.

1. To train Alias, use the browser on your phone and open raspberrypi.local:5050

2. Hold down the record button while saying the new name about 4-6 times. A small bar should indicate the 2 seconds recording window. Each name should fit within this timeframe.

3. Under the menu, click Train Alias and wait a few seconds for the model to learn the name. This name does not necessarily need to be a word but can be a sound and any language. So be creative! You can always reset your name on the menu. Tip: it helps to record the name from different locations in your home.

4. Try it out! Say the name and ask your question once you see a blue light on the device or on your phone.
Note: once trained there is no need to have the phone connected anymore.

If you find Alias is not responding correctly, try to train a few more examples. Or if you find Alias is triggering to often, you can go to the menu and turn background sound ON. This toggles the background mode and adds any new recordings to the background examples. Record and train just as before, but try to capture unique sounds in your environment or even words that sound similar to your chosen name.

Safe and Secure Challenge

This is an entry in the
Safe and Secure Challenge

Share

    Recommendations

    • Remix Contest

      Remix Contest
    • Sweet Treats Challenge

      Sweet Treats Challenge
    • Warm and Fuzzy Contest

      Warm and Fuzzy Contest

    46 Discussions

    0
    None
    ychselOlivierR29

    Reply 4 days ago

    Doesn't the speakers have to be on the opposite of the mic for our pupose? Otherwise the mic gets the white noise?

    0
    None
    OlivierR29ychsel

    Reply 3 days ago

    Not necessarily, because you are not playing the message and recording at the same time.

    0
    None
    xyzzy2015

    Question 16 days ago on Step 5

    Has anyone used a service that 3D prints projects? I don’t have anyplace in my area nor do I have a printer.

    2 answers
    0
    None
    ychselxyzzy2015

    Answer 4 days ago

    I printed it with 3D HUB service

    0
    None
    ychselLwvining

    Reply 4 days ago

    Is is permanently vibrating or why is the picture that blur :-)

    0
    None
    steviebevie

    13 days ago

    Great idea! I've tried to get it printed by an online 3d printing company. However, they claim that the base beneath the speaker holder is too thin, so they won't print it. Is there any software that I might use to edit the stl file by making the whole bottom layer of the speaker holder a bit thicker?

    3 replies
    0
    None
    ychselsteviebevie

    Reply 4 days ago

    I printed the Alexa cover at 3D hubs. They had no problems printing it. It just doesn't fit in an echo dot. I don't know the big echo but maybe it is smaller. That was my fault of course but @BjørnKarmann. Maybe you can add a version for the dot as well. Thanks for sharing your project. I did not assemble everyhting yet. Beeing a bit more precise on where you soldered the power supply would be helpfull. I think a simple hole for a micro USB cable plug in the case woudl be the best.

    0
    None
    shibadadsteviebevie

    Reply 5 days ago

    I used Repetier to flip the main piece(as shown in this article), adding a brim, then lay the speaker hold flat instead of standing up, and all is well.

    0
    None
    steviebeviesteviebevie

    Reply 6 days ago

    FYI
    I heightened the base of the speaker holder just a little bit in the Meshmixer app and the 3d printing company happily accepted it. I'll keep you updated on the process.

    0
    None
    Protholl

    Question 7 days ago on Introduction

    The 3d printing models aren't working for me at all using a FlashForge Finder.
    The STL object model print result was messy and barely usable for the speaker mount and I'm OK with that. When I tried to print the Alexa isolater I wound up with a messy ball of plastic being dragged around by the print-head. I've printed literally dozens of objects from Thingverse and never had this issue. Help please!!!

    1 answer
    0
    None
    shibadadProtholl

    Answer 5 days ago

    I ran into the same issues. Eventually I used Repetier to flip the cover upside down, added a brim, and you have to use your 3D software to lay the speaker holder flat to print. It all came out good after that.

    0
    None
    joginet

    Question 6 days ago

    Hi there! I have just built my Alias today (on top of an Echo Dot, 2nd gen.) and apart from some (minor) trigger-issues I ran into two problems:

    1) When my trigger-word is recognized, Alias says "Alexa", Alexa wakes up and I can continue saying my command. After Alexa has finished executing the task, Alias keeps saying "Alexa" for about three more times which keeps Alexa busy. I takes quite a while before I can continue with another command starting with "my" trigger-word. The issue happens in a silent room without any background noise. Also, it is not Alexa's reply that wakes up Alias again as Alexa just says "OK" after switching on a light. Does anybody have a clue?

    2) On my raspbian, I have created a systemd-service in order to restart Alias after reboot. Unfortunately, once I have ended and restarted the service, Alias has lost all the training data and I have to start training again. What am I doing wrong ?

    0
    None
    ChristopherM338

    Question 11 days ago on Step 3

    Can you elaborate on the requirements for the power supply, please? Where is the 5V coming from? Thank you!

    1 answer
    0
    None
    LynnetteV3

    Question 8 days ago

    Does this little speakers need to be 50 ohms? I found small ones on adafruit but none with 50 ohm rating. These are the specs:
    • Resonance Frequency (FO): 680 ±20% Hz at 1V
    • Rated Impedance: 8 ±20% Ω (at 1KHz)
    • Frequency Range: ~600-10KHz
    • Rated Input Power: 0.25W
    • Max Input Power: 0.5W
    • Temperature Range: -20ºC ~ 55ºC

    0
    None
    JanA87

    Question 8 days ago on Introduction

    My Alias is triggering all the time. I also tried to use the Background Mode but it doesnt work. It triggers all the time in a row. Can you help me?