Atmoambience Station is a dynamic, adaptive, site-sensitive, weather-driven sound installation that turns data into music. Using analog and digital sensors connected to a Raspberry Pi, it measures local conditions like temperature, humidity, air pressure, and wind speed. Once collected, this data is analyzed by a Python program and fed into Sonic Pi, a code-based music creation and performance tool. Using a timed loop of data collection, analysis, and signal sending, Atmoambience Station creates 1440 unique minutes of music each day. To learn more about the project, keep reading below.
I first had the idea for a weather driven sound installation while taking a sound design course taught by David Van Tieghem at the Mannes College of Music. The original concept was for a wind chime-like acoustic instrument, with strings that would be tuned to different pitch sets depending on weather conditions. After considering the mechanics involved, along with the limited timbral variety, I decided to take the concept in a different direction. An electronic instrument wouldn’t require any moving parts, and could be broadcast to the internet for wider access. I wanted the unit to be self contained, and dynamic, based on local data (rather than data from an online database), but at the time I didn’t have the programming knowledge I’d need to make that happen.
During the COVID lockdown of 2020, I decided to use my newfound free time to finally learn the basics of coding. Many tutorials later, I was competent enough in Python to attempt this project. The first task was to decide how to collect the weather data, and my initial though was an Arduino or Raspberry Pi. When researching possible methods of collecting weather data, I came across a wonderful tutorial for a Raspberry Pi weather station, and since I wanted the computer to both collect the data and synthesize the music I opted for the Raspberry Pi. An added benefit of the Pi was the inclusion of a program called Sonic Pi, which creates live code-based music that can be changed in real time.

After picking out the equipment and programs, the next step was the build a Python program to convert the data into music. I structured the Python program to act as a “Conductor” while Sonic Pi was the “Performer.” The method of communication between the Python program and Sonic Pi is OpenSoundControl (OSC). More flexible than MIDI, OSC allows data to be sent in word value pairs, giving greater flexibility and control of encoding. To determine which signals should be sent to the “Performer”, the “Conductor” (the Python program) executes a series of steps in a timed loop. First, data such as wind speed, rainfall, temperature, and air pressure are collected from the various sensors and set to variables. Then, those variables are checked against a set of ranges to determine the corresponding OSC signals to be sent to Sonic Pi. Over several staggered intervals, updated information is relayed by the “Conductor” to the “Performer” to trigger various instruments and effects, allowing different sections to combine and overlap. The length of each cycle depends on the rhythmic values being sent; longer values require a longer loop, while shorter values take less time to resolve and require shorter cycles to maintain the overlapping texture. For anyone who’s interested, the full code for the project is available on my GitHub.

Once the coding was complete, the next step was to mount the system outdoors to begin collecting data. Finding a suitable waterproof casing was the biggest challenge, but I eventually was able to use some repurposed pool equipment to create a free standing case and sensor mount. The Raspberry Pi didn’t have enough processing power to both collect the data and generate the music, so I ended up delegating the music synthesis (as well as the visual component and streaming) to a separate PC.
Atmoambience Station is a long-term ongoing project, currently in its first iteration. As the project grows, and more data is collected, I’m planning updates for expanded functionality and general system improvements. As all the data collected by the sensors is logged, patterns will emerge and be captured in musical form. With this project, I aim to make audible the daily and seasonal changes of the weather, and over the long term track the fluctuations and extremes of our climate.
This project was funded by a Vice Provost for the Arts Student Grant from Temple University, Philadelphia, PA, USA.

