Project Alias

99,150

320

72

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

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

    • Trash to Treasure Contest

      Trash to Treasure Contest
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest

    72 Discussions

    0
    deltabert
    deltabert

    Question 6 days ago

    Some 8 months ago i build the Alias for a Google Home device. The tutorial here was clear enough as far as the electronics and software concerns.
    But I had problems with the 3D-printing of the cap for the Google Home. The cap printed with the supported .stl file could not hold the electronics; the cap was not 'deep' enough! So I ended with a cap from which I cavitated the top part with a metal saw, in order to get something what would fit on the google Home and could hold the electronics. But it looks awful!
    People at TinkerQ, Houten, The Netherlands helped me with the printing. We made 3 different caps, with changed dimensions, but none of them could hold the electronics.
    So, the device ended in the corner of my study, hardly being used because of the waf factor ;-)
    But now with the 2.0 version I would like to bring it to use again.

    Are there people living in The Netherlands who have good experience with this 3d-printing?
    I tried to contact both BjørnKarmann as Tore Knudsen but neither gave any response to my question.
    It is a pity that such a good project give followers so little support... no forum or so...
    Hopefully one of the reader is able to help me with this.
    Kind regards, Bert

    0
    deltabert
    deltabert

    Answer 6 days ago

    Hallo Richard,

    Naar aanleiding van versie 2 van het Project Alias op
    Instructables ben ik weer hiermee aan de slag gegaan.
    Ik zag in de comments van Instructables een vraag van jou aan Björn om contact
    met jou op te nemen.

    Daaruit begrijp ik dat jij dit project ook hebt gebouwd. Mijn
    vraag is was dit succesvol? En dan met name het 3D printen van van
    het kapje? Ik heb bij TinkerinQ in Houten (een 3D print
    facilieteit) samen met de hulp van deze mensen wel 3 maal een
    kapje geprint, maar ik krijg met geen mogelijkheid de elektronica
    passend in het kapje. Het is nl niet diep genoeg...

    Uiteindelijk heb ik één van de kapjes afgezaagd net boven de
    bevestigings stutjes waardoor een open kapje onstaat waarna het
    geheel op de Google Home past. Maar het is geen gezicht, en hij
    staat dus nog altijd in een hoekje van mijn werkkamer...

    Zou jij me kunnen laten weten hoe jij bent gevaren met dit
    project?

    Ps. Boverstaand iCloud e-mail address geeft geen gehoor, vandaar deze poging.

    0
    mw46d
    mw46d

    Question 7 days 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
    DiioSetsu
    DiioSetsu

    17 days ago

    These instuctions are way too condensed.
    Please provide a more detailed way to build your project.
    - How am I supposed to solder the 5V and Ground to the GPIO pins? Is it safe?
    - 2x10 screws are too thin...
    - Raspberry pi+ ReSpeaker dont't fit in the 3D printed shell, even with a 0.025mm precision printer...
    - Downloaded and installed de 2.0 version, plugged 5V alim and...nothing happened. No yellow light, only the red one and of course no accessible wifi...

    This project is GREAT, really. But it's very frustrating because there's absolutely nothing OK. Every step is a failure...

    If anyone has/had the same troubles trying to build this Alias hat, I'd be curious what you've done to make it work.

    0
    certainSomeone258
    certainSomeone258

    Question 4 months ago

    Hey man!

    Great work. This really overcomes the use of default wake words.

    However, I've one question here before working on this masterpiece. Is there anyway you can use more than one custom wake words with this? Like a list of them with which it can get activated? or is it just one custom wake word.

    0
    theninjaatheist
    theninjaatheist

    6 months ago

    Would an Arduino work with this project???

    0
    Chessfreak
    Chessfreak

    Question 6 months ago

    I've followed everything by plan (except for the --no-cache-dir for the pip3 install), and the Alias gets activated constantly like it didn't record anything and gets activated by silence alone.
    Tried switching from Raspbian Buster to Raspbian Stretch, but that didn't help.
    Even tried recording background sounds up front but that also didn't do much.

    The 2-Mic hat itself works fine, and the noise/activation sounds are getting played back as expected.

    Am I missing something?

    Edit: Also the raspberry pi gets really hot and it noticable heats up the Echo Dot, too.

    0
    AnthonyR196
    AnthonyR196

    7 months ago

    Is there an updated version for dot v3?

    0
    jdrabik
    jdrabik

    Reply 7 months ago

    I've looked but found nothing. The current design doesn't fit Dot. You might try Prusa Slicr (or FreeCAD or MeshLab) to
    scale the STL but the angle top is still a problem and speaker
    placement is incorrect for the Dot. A new design is needed both for fit, and
    due to errors in the downloaded STL (after multiple attempts, it just
    will not print past about 8 mm in height, regardless of orientation. It
    also pops off the print bed unless a brim (of about 20 mm) is added.
    And that's on a Prusa MK3S, same as shown in their pictures. I even
    tried to line up the holes so they'd look like those in the picture but
    no luck. Worse, after about 8 mm, the extruder stops extruding - I have
    not experienced this with any other 3D model/STL. Others report
    problems with the software too, including installation problems.
    The instructions on Git need improvement. Reading through the
    code, and to answer a question somebody else had, it does not appear
    that a server connection is needed, as the neural network is resident on
    the RPi (but it's not working here yet either). The Echo (or Dot, if it can be made to work) will of course
    still need wireless access. The RPi should only need it for ssh to build and test and tweak (see below for a suggestion to improve that
    and completely eliminate RPi network dependency).

    It's
    difficult to look this "gift horse in the mouth", but the introductory
    articles were all about how this is a revolutionary approach to
    intrusive devices. Much follow-up is needed to realize that goal. For
    now, Alias doesn't appear usable except by those who can muster up time
    and money to overcome the obstacles. Suggestions for the team:
    -
    Get rid of the cute moldy look. A simple tube should do the trick and
    might even be better (for example, a small amount of acoustic foam would
    reduce false triggers). If I manage to get a top to fit the Dot, I'll
    submit it. Same for code fixes.
    - Verify the STL files and modify them so they are printable without trickery
    - Improve the installation notes, separately by host platform if possible
    - Verify the app still works with the latest libraries and RPi images (including ssh)
    -
    Consider adding a small switch to press for training, and perhaps a
    few hidden LEDs to prompt the user when
    training. This would get rid of the quirky cell phone trainer link, the need for
    ssh or even a network, etc etc

    0
    KeithD2
    KeithD2

    8 months ago

    Love this project!
    Is the wake word being processed on the rPi or through the cloud? I am wondering if it is necessary to have the rPi constantly connected to wifi or if it can operate as a stand alone device.
    I have usually connected my rPi to a monitor and keyboard for set up of various projects rather than having to ssh in. Would that be possible with the Alias?

    0
    jorgemath
    jorgemath

    9 months ago

    Great job.

    1
    User_894
    User_894

    9 months ago

    Hello,
    I have a question regarding the project. The software I have installed on my Raspberry. At first with problems, but now it works. My question now is whether it can be that the servers are down? I tried to access alias via raspberrypi.local:5050 ... unfortunately without success. Is the project still up to date and does someone have a solution?

    1
    hong3
    hong3

    Reply 9 months ago

    any update on this? would love to find a way to make it work...others having any luck?

    0
    SHadowbaral
    SHadowbaral

    Reply 9 months ago

    I´m running into the same problem. Seems to be a problem with the DNS. I can connect via Putty only withIP and not the hostname.
    A little nnline resaearch brought me to the conclusion that I should install Bonjour Service on Windows and on the Pi but that did not work for me.

    1
    User_894
    User_894

    Reply 9 months ago

    You're right. I also just tried to install "Bonjour" on my windows machine. That worked, but I still could not find the raspberrpi via raspberrypi.local. I also think, since there is no answer here, that this project can officially be regarded as failed ... really a pity.

    0
    bootstructable
    bootstructable

    Question 1 year ago on Introduction

    Does anybody know if this plan works with the Google Home Mini's?

    0
    SHadowbaral
    SHadowbaral

    Answer 9 months ago

    Since the Microphones on the mini are so near to the speaker itself, I don't think that it would sound well.

    0
    steviebevie
    steviebevie

    1 year 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?

    0
    SHadowbaral
    SHadowbaral

    Reply 9 months ago

    www.tinkercad.com is a very usefull, free tool for this. But on my printer at home it wasn't a problem.