Skip to contents

Neutrinowatch: A Daily Podcast… of a kind

The idea of audio advertising being dynamic — which is to say, not static and easily changeable — is one that the podcast industry is pretty comfortable with at this point. True, plenty of sponsor reads are still hard-recorded into the episodes that contain them, but dynamic insertion is so widespread as a podcast technology now that encountering ad spots tailored to your location and other demographic data is fast becoming the norm. As someone based outside the US (specifically, in the UK), the tipping point around this was certainly noticeable even to me: I now hear far more British voices telling me which promo code to use for ten percent off than I ever have before, even when I’m listening to American podcasts.

However, I find it interesting that the technology seems to be less present within the context of the podcast content itself. Once a final mix of an episode is completed and signed off, the usual practice for the vast majority of shows is to upload the finished product to the hosting platform and — barring errors that need correction — leave it there to be discovered, downloaded, and preserved as such. Although the opportunity is theoretically there, most podcast makers are yet to explore the possibilities of dynamic insertion tech for creative purposes in addition to commercial ones. It has been done before, of course, perhaps most notably in the 133rd episode of Welcome to Night Vale, which served three different endings to listeners at random depending on which one was inserted into that particular stream or download. But that’s the outlier, or exception, that proves the rule. ​​

Neutrinowatch, from Jeff Emtman and Martin Zaltz Austwick, is a new experimental project that’s now trying to push the boundaries of what’s possible with creatively-focused dynamic insertion. The project takes the shape of a daily podcast with a difference: When you pull up the show, you’ll see that the feed only houses seven seemingly persistent episodes, but the substance of every episode changes every day. If you were to stream or re-download each one every morning, you would hear something slightly different to the day before.

The computerized voice that narrates the first episode explains the gambit at greater length as she introduces herself — her name, favourite colour, location, and a whole host of other variables will alter according to when you are accessing it. Most podcast platforms and apps, with the exception of Spotify (which rehosts the show before streaming it), will allow listeners to delete and redownload each episode as many times as they want.

Emtman and Austwick describe Neutrinowatch as a “generative podcast”, because once they’ve set up the processes behind an episode, the show generates its variations without their input. They don’t personally tinker with the edits and then reupload new .mp3 files to the hosting platform for each episode in the early hours of each morning. Instead, they’ve written a body of Python code that handles all of that for them, leaving the show to decide for itself within the parameters they have set what each new day’s versions will sound like.

Both creators have a track record playing around in the more strange, experimental side of audio — Emtman makes the weird and wonderful Here Be Monsters, while Austwick has contributed to shows including 20,000Hz and does things like analyze Tom Waits’ entire discography in chronological order. Austwick also has a PhD in Quantum Computing, which gave the duo a bit of a technical headstart when they began to work on Neutrinowatch.

“To make the audio, we’re using a bunch of Python libraries which work with audio, and then one or two that work with speech synthesis,” Austwick told me over the phone last week, when I asked for more detail on the underlying process. “Depending on the episode, it will be generating speech or randomly selecting different pieces of audio. And then there’ll be a framework which when it has made those decisions — generated speech, decided which bits of music its using, etc  — it will assemble it.”

The setup is sophisticated enough that these Python libraries can produce something equivalent to your standard DAW — that is, the Digital Audio Workstation, like Audacity or Pro Tools — working with fades, overlays, cuts, delay effects, reverb, and more once set in motion. There’s plenty of tweaking that goes on during the initial creation phase for an episode, with the parameters for lists and libraries adjusted to accommodate, for instance, the pronunciation limitations of the standard Mac text to speech functionality (which is what the show uses at the moment; in the future they hope to build a deepfake “Jeff and Martin” to narrate).

Once the creative components that power Neutrinowatch are pieced together for a particular episode concept, the second part of the process is delivering it to listeners. Finding a host that could work with their code and their unusual requirement of having a small number of episodes that changed every day was a challenge, but Austwick eventually hit upon JustCast, a no frills podcast host that allows you to publish new episodes by just adding them to a Dropbox folder.

“You can go in and add show notes through their interface, but what that means is that folder is just on my desktop, and whenever a new episode is regenerated, it just writes a new mp3 over the previous one,” Austwick explained. “Everything else stays the same, the RSS feed stays the same, the thing that it’s pointing at has the same name, but it’s a different file.” He has a “cron job” — in layperson’s terms, it’s a Linux command for scheduling tasks to execute in the future — set up to do this automatically, and just has to open his laptop for ten minutes each day so that it can run. The end result of this is a state in which each episode constantly shifts on the 24-hour cycle. Each day, everyone who listens will hear the same thing, but someone pressing play the next morning will get something different.

I’m told that there have been experiments in the past around “truly responsive” generative podcasting, where the listeners hears something different depending on a variables other than just time, such as location, but for now that is beyond Neutrinowatch’s resources, although they hope to add a geographical element (such as customised tide tables or astronomical observations) in the future.

As you might expect, this technology and process lends itself most obviously to fiction shows with some kind of sci-fi or surreal flavour, since the constantly shifting nature of the episodes can be best explained in that milieu. For now, Neutrinowatch resides firmly in that zone, describing itself as a “semi-fiction” show. In the introduction Emtman says that “each day represents a little jolt into a parallel dimension”, and that’s certainly how it feels as a listener. But Austwick was keen to stress when we spoke that this first batch of seven episodes represents only the beginnings of their experiments with generative podcasting. He’s keen to help other creators with the process so it can be put to other uses, and is contemplating ideas as diverse as a murder mystery, a mash up of soundscapes, and a story that unfolds via dispatches from a mission to Mars. When the podcast is essentially making itself through infinite variations, there’s no limits on what you can do.