View Full Version : [Project] Little Singing Dolls Akin to the Duloc Booth from Shrek

General Grunt
01-10-2017, 11:26 AM

My first post here (aside from the one in the info thread.)

I've been building puppets for years. Both muppet like and ventriloquist dummies. My next project I'd like to construct would be a tabletop animated song booth like the one in shrek:


My version would be original, and narrowed down to just mouth movement. the heads would be spheres cut in half with an up and down motion like in the Duloc one. The setup would be a single window with 6 little dolls.

Here's a quick sketch I did:


The end plan is when a coin is inserted into a coin slot (which I'll buy) the curtain raises up, inside lights turn on, and the dolls lip sync to a pre recorded song (an original one) and after its over the curtain closes until another coin is inserted. All the dolls/decorating/cabinet I can build with ease. It's programming the dolls to lip sync is what I have no idea how to do. I've watched a bunch of videos on DIY chuck E Cheese animatronics but those have too many movements, as opposed to just the mouths going up and down.

I also have a Raspberry Pi, and I presume I can get it to run off of that.

I know these would run on servos, ones that have some kind of up and down mech. And I'd have to program it so that all the dolls can sing in unison and individually at certain points.

I'm good with basic mechs such as pullys etc. (I learned all that when I started building ventriloquist dummies.)

What I figure I'd do is start out making one singing doll so I can learn the basic function, then go from there.

I NEED AS MUCH HELP AS I CAN GET. That's why I joined :)

Even though I've never programmed an animatronic, I'm always looking for a challenge!

I look forward to hearing your replies and once I get started I'll post tons of progress photos!


01-10-2017, 10:20 PM
Yes, a RPi will work fine -- it has plenty of RAM.
You are going to have to create a time code track, where the state of each muppet mouth (open/closed) is known for each time stamp.
Or, put it another way, you need the time stamps (measured in milliseconds since start of song) where each muppet's mouth opens and closes.
Once you have all this data (creating all this will likely be the most tedious!) you can then write a program that loads the data, and plays the music and synchronizes the mouths.

For the open/close, there are a few options:

1) open/close with controllable servos. The AX-12A servos are easy to control using an OpenCM 9.04 or USB2AX plugges into the Raspberry Pi.

2) solenoids. Power them separately with whatever power is needed (12V, typically,) and switch them on/off using power MOSFET transistors, whose gates you control with the GPIO pins of the RPi.

3) linear actuators. These typically also need motor controllers. There will be a lot of motor controllers! The actuators should have limit switches, and you activate the motor controllers for the actuators using the GPIO pins of the RPi.

4) stepper motors and either lever arms, or drive belts. You need stepper controllers for the motors, and activate those controllers using the RPi GPIO pins.

I think 2 is cheapest, followed by 4, followed by 1 and last 3.
I think 1 is easiest, followed by 2, followed by 3 and last 4.