Project Alias

109,498

337

92

Introduction: Project Alias

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.

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

Second Prize in the
Safe and Secure Challenge

Be the First to Share

    Recommendations

    • Puzzles Speed Challenge

      Puzzles Speed Challenge
    • "Can't Touch This" Family Contest

      "Can't Touch This" Family Contest
    • CNC Contest 2020

      CNC Contest 2020

    92 Discussions

    1
    tinkering_guy
    tinkering_guy

    Tip 2 months ago

    Awesome project, Thanks for sharing. I have watched this project since you first shared it and I finally decided it was time to make it. It worked first try after reading some of the tips in the comments. Here is what I found helped.
    Buy the speakers from DIGI. They ship fast (in the US) and aren't expensive. Ebay has them but they all take a few months to get from other countries.
    A 4GB SD card will work.
    Once it's put together follow the Easy setup instructions on the Github page for the software setup.
    The setup page that is served from the raspberry pi doesn't have the big record button anymore. Now all you need to do is enter the text of what you want to use as the new wake word. Once you connect to the WIFI of the Pi you can use 192.168.1.1 to change the settings if you can't connect the way they provide.
    There is a little glitch i found that the screen goes blank when you want to enter the new words but if you type it still takes.
    It does have false activations but my google home mini just lights up and waits for a question or comment but so does the Mini and my Alexa with their normal wake words.
    Overall it is a really easy project if you take your time and check what others note in the comments. Good luck and keep on MAKING!

    UPDATE> I am seeing a few people have issues with a Pi 4. I know other programs need to be recompiled for the Pi 4 and i don't believe this program has had that done. I have mine running on a Pi 3A and it works fine.

    0
    jwineichen
    jwineichen

    Reply 1 day ago

    Did you use one of the shell templates from the tutorial or did you make your own?

    0
    tinkering_guy
    tinkering_guy

    Reply 1 day ago

    At this time I did not make my own or use theirs. I am makeing one though but its working at the moment with tape

    0
    Rtabb2
    Rtabb2

    Reply 8 weeks ago

    I'm having trouble finding the RPi's WiFi network on my phone - does it need to be initialized somehow?

    0
    tinkering_guy
    tinkering_guy

    Reply 8 weeks ago

    No it should already be visible after a minute or so from turning it on. Be sure to have a Pi3A or older. I think there maybe something not right with the software running on the Pi 4. You should be able to see a wifi name of "Project Alias" and connect to it. It will not have internet access but you will be able to connect to 192.168 .1.1
    Good luck

    0
    tinkering_guy
    tinkering_guy

    Reply 2 months ago

    I have been using it for a little over a week now. I use the wake word Huey and it doesn't seem to wake when not called. The only draw back i have found is there is a longer then apprieciated delay between the time i say Huey till the time it activates the Nest mini. I'm sure there is a way to speed this up in the code so i am looking into it but i am not a coder so it may be slow going.

    0
    seannaes
    seannaes

    Reply 2 months ago

    Thanks for mentioning it doesn't have the record button anymore, does that mean it doesn't need to be trained?

    0
    tinkering_guy
    tinkering_guy

    Reply 2 months ago

    Yes that is true. I was prepared to do the training part of the setup but it just wanted the phrase typed in and it worked on the first try. There is mention in the Github that they have a speach recognition software that seems to be a new edition. It's pretty easy to make it work all around as long as you are diligent and patient. Good luck. It's a lot of fun to get working.

    0
    Chatham_Engineer
    Chatham_Engineer

    25 days ago

    If anyone needs CAD help or for me to create / 3d print/ both... just message me. I use to do CAD for a living... so I am ok with it.lol

    0
    Xambac
    Xambac

    4 months ago

    Hello,
    So it works really well with "Hey Alias" but impossible to connect to Alias.Local to modify setting.

    Who has already succeeded?

    0
    Xambac
    Xambac

    Reply 4 months ago

    Well, I succeeded by connecting directly from my phone to 192.168.1.1
    0
    seannaes
    seannaes

    Reply 2 months ago

    That's as far as I've gotten. It plays noise, lights up to my wake up and cuts the noise, but doesn't wake up my google home. Did you run into any issues once you got to 192.168.1.1?

    0
    Xambac
    Xambac

    Reply 2 months ago

    Hello,

    I did not have a problem with the functioning of Google Home but I have trouble registering a name that it recognizes.

    0
    PogoSimpleMinimal
    PogoSimpleMinimal

    Question 3 months ago

    I really like the Project!
    I have two Questions for the Start:
    1. What is the Minimum Size of the SD Card? 8GB?
    2. How long does the "Easy Setup" normally take? 20 Minutes or 2 Hours? (Wait for the Yellow light...)

    Thanks for the Help

    0
    bennet.eapen
    bennet.eapen

    5 months ago

    These instructions are way too brief and condensed. A how-to video clip would probably help.

    0
    mw46d
    mw46d

    Question 5 months ago on Step 5

    Hello, would you be able to generate a cover model for the current Alexa Echo? It has a wider diameter;-( Or can you tell me, how you created that nice fungus pattern? I did play with some 3d models before;-)
    Otherwise, an interesting project;-)
    Thanks,
    -- Marco

    0
    tnttburbank
    tnttburbank

    5 months ago

    I really need to learn to read comments whenever I buy something or take on a project. Now I am worried the cover won't fit my 2 Alexa Dot's. My fault for not measuring and checking the STL. I have sent the models to Shapeways to get 3D printed and they complained that for the speaker holder the part is too thin. Under the speaker section on each side is is about .499mm and they prefer .7mm because they clean the part with beads to knock off dust and flashing (I guess) and they worry their blaster will snap the part. I have no skill in 3D software and while I took a look at blender I was overcome by all the features. I chose the "Print It Anyway" option so I'll see if they break it. This project needs to get more coverage as it allows for increased privacy and configurability in terms of setting the callable name of the device.

    0
    jdrabik
    jdrabik

    Reply 5 months ago

    It will not fit the Dots. As for the STL, it is all but unprintable, even on a Prusa I3MK3 that is *very* well calibrated - it always cuts off about 1/2" above the bed and then resumes about 1/2" later, leaving a tangled mess of filament.
    Sadly, there have been no updates to the project - not STLs, new things for other devices (like Dot), or code (despite numerous people having problems). Great idea, very poor follow-thru. Trying to fix the STL didn't work either, all the STL editors say there's no problem, and it's not clear what they, or a Prusa, are missing. Makes me wonder if this wasn't just an evening project for somebody. It was not mature then and has not matured since.
    Best bet: use the basic idea. Create your own cover that isn't a goofy amoeba that won't print. Fix the code yourself and, if you can, repost to Github. Otherwise, you may just be wasting your time.