DriftConditions

In the depths of night, an uncanny symphony unfolds—a dance of static and whispers, weaving chaos with forgotten melodies. This stream, generated on the fly by code, captures the serendipity of late-night tuning. It invites listeners to explore a realm where chance encounters form haunting harmonies. Each listen offers an unexpected journey through soundscapes unbound by convention, a mysterious tapestry inviting discovery.

The project was inspired by a real-life radio experience. I was coming home at 2:30am after programming my late-night show Night Ride on local community station KUSP. I was in my old truck and listening to the radio, and someone somewhere was programming an amazing mix, fading in and out of a sermon and a news broadcast overlaid with staticy radio noises. It was wonderful.

I stopped on Highway 9 to listen to this surreal mix. Eventually, I lost the signal, and I tried to re-find the station. I tuned right and there was the sermon. I tuned left and there was the news. I had been listening to liminal space between stations. I thought if this is the radio magic that can happen by happenstance, could I create such a thing with intention?

The project was 15 years in the making. In fact, I proposed a similar project some years ago. But it wasn’t until 2024 that I taught Procedural Methods class and was inspired to sit down and use what I knew to tackle the project. 13 thousand lines of code later, DriftConditions was realized.

How It Works


Welcome to an Immersive Auditory Experience

Welcome to an immersive auditory experience that captures the chaos of late-night radio tuning. Imagine stumbling upon a hidden world of overlapping fragmented stories, ambient sounds, and mysterious crosstalk, where each listening session offers a fresh journey through an evocative and unpredictable sonic landscape.

The Magic of Procedural Generation

The magic lies in its ability to generate this unique experience on the fly, relying on a sophisticated system that combines human creativity with algorithmic precision. Behind the scenes, users can contribute and edit audio recipes. These recipes are like blueprints for the soundscapes you hear, specifying how different audio clips should be combined and processed.

A sample audio clip
A sample audio clip submitted by a user.

Creating the Audio Feed

The real magic happens when these recipes are used to construct the audio feed. Picture a multi-track editing software where each track contains one or more clips. Attributes of each track and clip—such as classification, tags, and length—help the system pick clips that fit together harmoniously. This ensures that every broadcast is a seamless blend of sounds that loosely match the intended style and mood.

A sample recipe
A sample recipe written in JSON5 format specifies the details of each track and clip including type, tags, length, and effects.

Ever-Evolving Soundscapes

The system maintains its ever-evolving tapestry of audio by relying heavily on procedural generation. For instance, the name of each session, the hero image, and even the descriptive text on the homepage are generated anew each time you visit. This approach mirrors the unpredictability of real-world radio interference, where the boundaries between intention and happenstance blur, creating a dynamic and captivating listening experience.

Dynamic Audio Effects

As you listen, you might notice the audio stream fading in and out with different sources. This effect is achieved through a technique similar to Perlin noise, a type of coherent noise used in computer graphics to create natural-looking textures. This technique helps modulate various audio effects, creating a sound that is both unpredictable and harmoniously pleasing.

Graph of harmonic cascade
Harmonic cascade simulating coherent noise to control the amplitude of a clip or track.

Behind the Scenes

Several components work together to bring this experience to life. A user-friendly interface allows users to upload and manage clips, and create and edit recipes. A backend server supports these admin functions, ensuring smooth operation and content management. The real powerhouse, called the MixEngine, generates the audio mixes based on the recipes and randomly selected clips. Finally, a streaming component assembles these mixes into a continuous audio stream, delivering the seamless and immersive experience you enjoy.

Mixing console
MixEngine dynamically combines user-contributed audio clips, recipes, and effects to create a seamless and ever-evolving audio stream.

User Contribution

The station relies on user audio contributions. When submitting audio, we ask users to certify that their contributions contain no copyrighted works for which they do not have the right to use. We appreciate the use of public domain materials, creative commons licensed content, or other works for which users have clear rights. User contributions help enrich the station’s unique soundscape while respecting the work of other artists.

Visit DriftConditions to hear the broadcast assembled live, on-the-fly, never to be heard exactly the same again. Or listen to DriftConditions here.

Leave a Reply

Your email address will not be published. Required fields are marked *