top of page

Ghost Choir

Updated: Jun 8, 2023




Sam and I are thinking of making a kid-friendly Halloween project that includes sounds as the main aspect. I remembered this music video I found online last year with 3 ghosts singing and Sam and I both really liked the idea of having multiple ghosts interacting.

We didn’t want to make a musical instrument or anything that only plays single notes, so we had the idea of making some form of a music box. We took inspiration from this book cake and we want to have a carved out book or woodbox as the base/platform as the base to place our interactive elements on top and the wires/microcontrollers/speakers inside the box to hide them.

For the main interaction, we want the users to activate each of the 3 ghosts and the ghosts would each have a different melody/beat being played when they are activated.

We also thought it would be interesting to bring in other outputs such as LEDs and motors/fans. We want to build the exterior of the ghosts with light soft fabric so that when there is air blowing on it it would slightly flow/move. The interior would be hollow with a wireframe to support the fabric and allow the wind to blow from the bottom of the ghosts. We also plan to attach 2 LEDs as eyes for the ghosts which would light up when each ghost is activated.

We want to make the interaction component of the project to be more interesting so we decided give each of the ghost a separate sensor with a forth sensor that serves as the main sensor that activates all 3 ghosts at the same time. The ghosts would be “singing” when activated so we thought it would be fun to use small microphone stands as props to put in front of each ghost where there would be pressure sensors.




Test for LEDs being activated by pressure sensors. We’re thinking of maybe switch to only have one LED per ghost that lights up the entire ghost, instead of having 2 LEDs as eyes. Might also have to change it so the light turns on when pressure is senses without having the dims.



Trying to compose the Addams Family theme song through Garageband. The music will be split into 3 tracks. One will be the chords; one will be the chorus (main melody); one will be the beat.

The 3 different tracks from the first version all had a lot of pauses in between so sometimes it was hard to tell if they were playing even when they were activated. To fix this, I tried to populate the soundtracks so there won’t be long pauses. I also added ghost sound effects from the game Luigi’s Mansion on the Beats track.

I also started testing the audio in p5.js with keyboard keys before connecting to Arduino. We had to make sure all 3 tracks are in sync whenever they are playing, so we decided to have all of the soundtracks start playing continuously once one of the 3 sensors are activated. The activated sensor will then trigger and turn on the volume of the corresponding track.



We tried testing out the serial input in p5 starting with just one sensor first. We were having some difficulties trying to get the LED as well as the audio working on p5 both at the same time, but after reconnecting a few times we were able to get it to work.

Arduino Code

const int potPin = A0;
int potVal = 0;
void setup() {
	pinMode(4, OUTPUT);
void loop() {
	//reading sensor value
  potVal = analogRead(potPin);

	//turning on LED
  if (potVal > 50) {
    digitalWrite(4, HIGH);
  } else{
    digitalWrite(4, LOW);

p5.js Code

We continued to add another sensor. We had to store the different sensor values into an array in p5 then split each value from each line to make the individual values that will activate the audio.



We spray-painted a wooden box to be the base for the ghosts and sensors, and also to hide our breadboard and wires in.

We started with building the wireframe of the ghosts with chicken wire, then covering it with white fabric. The shape of the wires is showing through the thin fabric so we decided to add a layer of paper in between the wire and fabric. We were worried about the silhouettes of wire showing up when the LEDs inside of the ghosts are turned on so we also tried to put another layer of fluff on top of the paper layer. During this process, we thought it would be a good idea to just use the fluff as the top support of the ghost, and then attach a stick to adjust the height.

Chicken wire with paper taped on
Fluff top supported with chopstick

I continued to make three of the ghosts of slightly different sizes. We thought we would put one single LED in the centre of each ghost, so the eyes would be embroidered on the fabric instead of LEDs.

To place the sensors on top of the box, we drilled 3 holes that were just the same size as the magnet and pushed the magnet to fit the hole and stick the sensors to the top of the magnet.

Recent Posts

See All


bottom of page