Moon Radio, Part 2: Video, Music, & Code

For the story so far, please see Part 1.

With the fabrication of the wooden cabinet in the capable hands of David Press, I began work on the music and video content as well as on the code needed to make it all go.

I created the music on my laptop, using the REAPER recording software and a MIDI keyboard controller. All of the music is original and I created most of it specifically for this project. Here’s a screenshot of the music software interface including some loaded music tracks:

music software

For the video content, I used my phone camera to capture things which caught my eye (a more or less daily practice) and selected clips from these which I felt would match the tone and feel of the project. This includes a clip — heavily processed — of the recent eclipse. This is shown below in Adobe After Effects, where I assembled the video and music for creation of the final clips.


The concept for the piece is to enable some basic interaction: each video clip should run in a loop until someone taps the screen, at which point the next video in the list would play. This required both a suitable piece of hardware (including touchscreen) as well as the code needed to make it all happen.

For the hardware, I chose the Raspberry Pi 3 micro computer, with a touchscreen designed to work with it.  I didn’t use any custom components; everything is off the shelf. Oh, and a couple of cheap little speakers to run the music. I don’t have a good shot of just the electronics, so here’s one showing the components mounted inside the cabinet as we were measuring things:

raspberry pi

Programming the video playlist and touch functionality was a bit harder than I expected, and there were some bugs in the code that I needed to fix, Mission Impossible-style, on the piece after putting it on display (more about that in a future post). For the program, I used the Processing language, which is designed with interactive art and visualization in mind. Here’s a screenshot of some of my code — the total program was pretty small (only about 75 lines):


David finished up the cabinet as I was finishing the content and code.  The next step was to put it all together. And I’ll share that part of the process with you soon, in Part 3. Thanks for reading!

Moon Radio, Part 1: Concept & Box Design

When the Hastings on Hudson Arts Commission announced a call to artists for an upcoming show, I didn’t think to enter a submission. But my wife encouraged me to do it, and so I submitted Moon Radio for consideration — and was accepted! More about the show in a future post.

This project started as a simple concept: create an art appliance that you could plug in and just let run, leaving it to do its thing. Sort of like a lava lamp, but with a bit more content. Also, it would have a touchscreen to allow people to skip around between pieces of content — very much unlike a lava lamp.

Here’s the original sketch I made back in the Spring:

There would be three main components:

  1. A series of short, looping music videos
  2. A Raspberry Pi 3 mini computer with touchscreen to run the content
  3. A wooden housing to hold it all together

As I began work on 1. and 2., it became clear that I would need a lot of help on 3… So I tapped my good friend David Press (who is a great artist and a great person) to help out with the fabrication. In order to get that started, I made a crude prototype out of foam core which looks like this:

(note the duct tape: there’s always duct tape involved at some point in a project, regardless of medium)

As David and I worked to design the final piece based on this prototype, he had lots of great design ideas and we brainstormed until we came up with this:

moon radio face

Here are a couple of shots of David and I working on the box:

(or, more accurately, David working hard and me goofing off.)

As David measured, cut, glued, sanded, and painted, I got busy putting together the music and video and the code required to make it run and respond to touch. And I explain that process right over here in Part 2.

Thanks for reading!

xo Steven