The Forbidden Forest was designed as a chill-out space, a little more dark and quiet than the rest of the house — a place to sit down and have a more quiet conversation. The first thing to hit you as you peek into the space from an adjoining room are the Dementors roaming the skies.
The room itself held a ring of camp chairs as well as a cat “tree” and tent for the resident house elf. I forgot to snap a picture at the time, and they typically live elsewhere in the house, but picture these props plus camp chairs in a shifting realm of green/blue lighting:
The more subtle, but powerful, aspect of the room was the lighting and sound. The room, lit by two Hue bulbs inside one fixture, slowly shifted from green to aqua to turquoise to blue, and back again. In the corner, a small but powerful speaker plays pleasant nighttime forest sounds… except… every few minutes there would be a crack of thunder or the howl of a far-off monster or a nearby growl.
Both the lighting and the soundbed were controlled by a Raspberry Pi. It was also to be the REST controller for the tiki-bar-like Ghost Box that I didn’t quite have the time to finish.
I do random little one-off projects so often that I wrapped all the awkward bring-up — setting the password, configuring wifi, updating packages, installing packages I frequently use, and so on — in a Raspberry Pi bringup Ansible script. I find that to be a little more flexible than saving a disk image.
The lighting was a simple fade script, using Python and the Phue library. It simply told the two lightbulbs to slowly fade between different dark and spooky nighttime-forest colors.
The soundbed was a slightly more complex Python script. As a baseline sound, it played a relaxing nature MP3. In this case, “A Night in the Forest (Nature Sounds),” which is a 60 minute loop. At random intervals of 3–5 minutes, it would bring in a random creepy sound selection from “Horror Soundscapes, Halloween Haunted House Ambience, Scary Sound Effects” to add a little thunder or animal noises. I didn’t use the whole album, just some of the more short and thematically appropriate clips. The heavy-lifting of playback was
omxplayer, with the mixing itself performed by one of the kernel sound drivers (
amixer, which was configured by the above Ansible script).
Overall, it was a great little chill-space.
Unfinished Dementor Head: