The Dreamers

The Dreamers is a music-controlled video projection with live beat detection, running on inexpensive hardware. It casts a projection of dancing people on the wall, encouraging guests to dance with them. The video feed is automatically edited based on the currently playing music. Randomness, influenced by the music, is a huge factor, so the combination of scenes is ever-changing.

When you click play, data is loaded from Vimeo. Tracking is disabled and no cookies are set. Click here to read the privacy policy of Vimeo

Screenrecording of The Dreamers v.4, running on a Raspberry Pi 4

This installation is named after the movie of the same name from 2003. It contains a large number of dance scenes from different movies, ranging from the 1970s to the 2020s. It runs on a Raspberry Pi 4, and the code is written in Python. For the beat detection, the Aubio library is used and the video output makes use of the OpenCV library. A small USB microphone listens to live audio. When a beat is detected, there is a chance that the video feed changes or an effect (like displaying the current video stream in a grid) is applied. Everything runs automatically without the need for manual intervention, so this is perfect for running in the background.

The source code can be found on GitHub.

Version 1, 2015-2016, HTML, JavaScript, MacBook
Version 2, 2016-2018, Python, Aubio, OpenCV, Raspberry Pi 3 B+
Version 3, 2019-2020, Python, Aubio, OpenCV, Raspberry Pi 4 B
Version 4, 2023, Python, Aubio, OpenCV, Raspberry Pi 4 B

Video snippets of Version 1 - 3 from archive.org. Version 2 runs in 480p/15fps on a Pi 3 B+, Version 3 in 480p/30fps on a Pi 4 B. Version 4 runs in 720p/24fps (or 1024×768/24fps) on a Raspberry Pi 4 B.

When you click play, data is loaded from Vimeo. Tracking is disabled and no cookies are set. Click here to read the privacy policy of Vimeo

The Dreamers v.2 and v.3, captured at various parties, running on a Raspberry Pi

 The Dreamers runs on a Raspberry Pi with small USB microphone

The Dreamers v.4

the debug overlay shows some useful information