Skip to content

Latest commit

 

History

History
155 lines (107 loc) · 6.62 KB

README.md

File metadata and controls

155 lines (107 loc) · 6.62 KB

WIP - Im going through another hardware upgrade so the below specs are/will be slightly outdated. Im hoping for a final v3 product before Jan 2024.

Squawkers McCaw Tiki Room

Overview

This project aims to recreate Disney's Enchanted Tiki Room using Squawkers McCaw birds, a Raspberry Pi, and additional hardware. Create your own automated bird orchestra and bring the magic into your living room!

Table of Contents

  1. Requirements
  2. Installation
  3. Hardware Setup
  4. Usage
  5. Contributing
  6. License

Requirements

Installation

  1. Install libs for the Pi
sudo apt update
sudo apt upgrade

sudo apt-get install git-lfs
sudo apt-get install python3-pip python3-numpy libportaudio2 libsndfile1 screen git
  1. Clone this repository.
git clone https://github.com/emricht32/SquawkersMccaw.git
  1. Navigate to the project directory.
cd SquawkersMccaw
  1. Install the required Python packages. If you are developing on Mac or Linux machine and then transfering files to the Pi you can use:
pip3 install -r requirements.txt

But either way on, the Pi run:

pip3 install -r pi-requirements.txt
  1. (Optional) IR Remote Receiver setup (taken from https://www.ignorantofthings.com/2022/03/receiving-infrared-on-raspberry-pi-with.html) Enabling IR communication on the Raspberry Pi

Before we start, as always it’s best to update everything using sudo apt-get update && sudo apt-get upgrade

There are four main tasks we need to achieve:

Enable Device Tree overlays (dtoverlay) to enable the kernel to talk to the IR receiver:

Edit the Raspberry Pi config file:

sudo nano /boot/config.txt

Uncomment this to enable infrared communication. Change the pin to suit your configuration if required.

dtoverlay=gpio-ir,gpio_pin=4

Reboot when finished:

sudo reboot

Install ir-keytable to receive IR scancodes via the sensor:

Install the ir-keytable package and temporarily enable all protocols:

sudo apt-get install ir-keytable
sudo ir-keytable -p all

Note that the last command will not persist a reboot and is for testing only (we’ll take care of this later!)

Hardware Setup

  1. Squawkers McCaw: Disassemble the bird carefully and identify the control wires for the servo motors. Pic examples in docs/media.

  1. Wiring: Use the diagram provided in the /hardware folder for reference.

V2

  1. Servo Motors: Connect the servo motors to the Raspberry Pi's GPIO pins. (For the Drummers which is a TODO)

Software Configuration

  1. Edit the config.json file to set up GPIO pins, timers, and other settings.

Usage

To start the Enchanted Tiki Room experience, run:

python3 src/main.py

Notes/Thoughts

  1. The music folder needs to have songs that have a samplerate of 48k. I had to use ffmpg to convert the files from 44.1k. This is due to the fact that the usb audio adapter seem to not support 44.1k. My music was playing slightly too fast.

  2. I used https://vocalremover.org/ to split vocals and music into separate files so the singing could be piped to the speakers in the birds with the rest of the instruments going to a separate speaker. For the vocals, I also duplicated the files into two files and then separated the right and left channels to make different bird audio. File1 is Jose and Michael and File2 is Fritz and Pierre. To do this I used Audacity.

  3. Id love to make a service/app that a non-technical person (aka my father-in-law who im building this for) could use to update/add songs to the birds. Im thinking a user could upload songs and config params via some UI. Im an iOS app developer with some go, java, python and c++ sprinkled in throughout the years in the real world and would love to discuss thoughts or suggestions with anyone who has any.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

!!!NOTE!!! I have ZERO professional experience with circuits and hardware. Im sure that there are things I missed (especially safetywise) when it comes to electricity and best practices. It would not have surprised me if I blew out my Pi or caused a mini fire during this process. Repeat my steps at your own risk.

This project is licensed under the MIT License. See the LICENSE file for details.

Acknolagements

I started this project a couple years ago. First I bought a Squawker Talker from J-Man. If you are only looking for a single bird setup I highly recommend and suggest using this. If I remember correctly it was about $80 and came with super easy to use instructions. You can email him at info@audioservocontroller.com. I also borrowed his images for disassembaling the bird and how to get access to the needed wires.