Developing an Advanced Soundscape Audio Engine

Our lead software engineer, Manolis Benetos, explains the main differences between soundscape generating and soundscape design applications and shares his vision of how soundscape design might change storytelling in the future.

Table of Contents

Sometimes I like to think while writing. It helps me organize my thought and also think of the connection between my ideas in new ways.

For my first behind the scenes article, I would like to give you a quick preview of what are the differences between the audio engine of a soundscape generator and a soundscape designer application, but first of all…

What is an Audio Engine?

With the generic term “Audio Engine” we describe the parts of a software application that are responsible for managing everything that has to do with the audio of the software application. The usual sub-parts of an audio engine are file playback, filtering, processing, signal summing, channel management, etc.

When we say audio engine we actually mean the software system that handles audio.

Now, let’s focus on the next part,

What is a Soundscape Generator?

The name is self-explanatory, when we talk about a software application we mean the software tool that does the work of generating soundscapes.

A soundscape is an acoustic environment as perceived by humans, in context. The term was originally coined by Michael Southworth, and popularised by R. Murray Schafer. There is a varied history of the use of soundscape depending on discipline, ranging from urban design to wildlife ecology to computer science. (Source: Wikipedia).

Generators are computer programs that use a formula and specific limits to output a result. Some of you might have heard of key generators, the infamous hacker tools that were used to crack software licenses back in the day, but I’m sure you already saw many applications of generative algorithms in your everyday computing. Random dungeons generated in videogames, that perfect (but fake) fog in your favorite horror film, etc.

So to sum this up, soundscape generators are software applications that use a formula and some user-defined limits to output acoustic environments as perceived by humans.

Many nice tools are doing that job out there, some notable are:

All those do a great job of creating a nice atmosphere using sound, so you can immerse your audience in your stories.

Some are web-hosted, others are desktop applications, and DMDJ is for your mobile devices so you can carry your virtual worlds with you at all times and cast your soundscapes even wirelessly into the ether.

Ok, so we defined what a soundscape generator is,

But, what a Soundscape Designer is?

We already established what a soundscape is, now let’s step on something more complicated, what is design software?

This is a term that you don’t see often but it’s all around you.

The term “Design” comes from “Designare” (Latin) which became “To Designate” (late middle English), meaning do or plan (something) with a specific purpose in mind. In computer science, we don’t use it as a stand-alone term, because doing so would omit the human element in the creative process. Instead what we use is the term CAD (Computer-Aided Design), which means that the act of design is aided by a computer machine and performed by the user. It’s a fair definition.

You’ve seen that kind of software tool everywhere, even if they are not defined as CAD applications. Photoshop,

With our newly acquired knowledge, let’s try and define what a Soundscape Designer is.

Soundscape designers are software applications that help the user to plan (create) an acoustic environment as perceived by humans with a specific purpose in mind.

The void

I would like to give some examples of actual soundscape designer software applications, but there aren’t any.

That’s the void that we want to fill by developing Echotopia. Our mission is to empower people by giving them a true designer tool, so they create fictional or real soundscapes for any cause they desire. Of course, storytellers are our main focus but soundscapes can be used everywhere from the sound arts to architectural design and beyond. But this is for another article coming soon from my colleague Panos Kouvelis. If you want to receive our news on this exciting new sector of audio production, you can always subscribe to our newsletter using the form in the footer of this website.

Main differences

We saw already that there is a difference between a generator and a designer, but what are the differences under the hood?

  1. Designer applications allow for full customization of the result while generators are mostly based on ready-made libraries resulting in variations of the same aesthetic.
  2. Designer applications allow sharing with peers and communities to promote a progressive way of creativity, while generators are already limited enough to not promote that philosophy.
  3. Designer applications are sophisticated simulators in their core, while generators are simpler playback systems.
  4. Designer applications have an open-ended philosophy that allows new and never-heard sounds to be created, while generators limit the user’s creativity and the only way to create something new is usually through paid content upgrades.

All those things concern the end-user, the creator. But for me as a software engineer means also a big difference in how I approach the way I design my code…

The technical stuff

To be frank, for DMDJ I already mixed some technologies used in designer applications although DMDJ is categorized as a generator software. You see in DMDJ all the playback engine is routed into an acoustic simulator to render 3D sound in real-time. That gives DMDJ users the ability to switch between different environmental content intensity levels, day or night, and weather conditions, all with the push of a button. It also made it very simple to switch between indoor and outdoor environments while at the same time weather sounds correct (it doesn’t rain inside the cave but outside), and this happens automatically from the simulation, no need for the user to make the choice. After all the user already has the difficult task of telling an amazing story and guide the adventurers through the fictional world.

But for Echotopia, I had to re-evaluate the complete model which led me to actually create a full acoustic simulator from scratch. That wasn’t easy and we still develop some parts. But this will allow the Echotopia users to create truly immersive and unique environments, without trading-of ease of use.

An image is a thousand words, here is a diagram of how most soundscape generators function:

Image of Echotopia Signal Flow of Existing Audio Engines for Soundscape Generation Web.

And here’s a diagram showing the high-level concept of the audio engine of the Echotopia soundscape designer:

Image of Echotopia Signal Flow of Advanced Audio Engine for Soundscape Design Web.

As you see, there are lots of differences, and the extra capabilities of Echotopia are hard to code and manage. I’m actually developing Echotopia for more than a year now and most of it is the optimization of the audio engine and its architecture, so it can remain true to its cause: To be a real designer application.

The task might be huge and requires a lot of re-writing code and testing all possible scenarios, but I feel that there is a higher cause in what we do. We create the first-ever soundscape designer software applications. Who knows what this will become in the future. As I struggle for openness in our software philosophy and strength in my code, I imagine storytellers creating soundscapes for entertainment, architects creating living spaces with beautiful sound around the inhabitants, academics use it to conserve and display rare acoustic environments, artists finding new forms of art giving the world new experiences, and my mind goes on and on and on.

Signing off

I hope that in my first diary entry I gave you a good idea of what I’m trying to create with Echotopia.

You can always find me at our SoundFellas official Discord server. I’ll be happy to discuss with you our vision and any developments regarding Echotopia, which is now entering the final stages of production and will be soon released for early adopters.

Until next time I’m leaving you with a small gift. Here’s a sneak peek of how Echotopia’s advanced audio engine can help you create infinite transitions that you can use while telling your story, by realistically simulating the acoustic transition between two different environments.

Notice how the sounds blend realistically with the different acoustics of each environment. How the reverb (sound reflectivity) of the forest and the cave create different soundscapes depending on where the party is standing. And one of my favorites is how the occlusion of the walls of the cave influence how the party is hearing the forest sounds when they are already in the cave but near the cave opening.

You see, under the hood, it’s not a simple playback engine like any other soundscape generator application you will find in the market today, which simply mixes sounds like a DJ tool. With Echotopia you will be able to create many realistic environments using only a few area sounds and leave the rest for our advanced audio engine to handle.

You never know where your adventurers would choose to go, why limit your soundscapes on pre-made choices, right?

You can learn more about Echotopia here.

We Share Serious Knowledge And Critical News Only

* We don’t spam and you can unsubscribe at any time. By subscribing you agree to our terms of use and privacy policy.

Create Worlds With Sound

Design • Perform • Render

A screenshot of Echotopia's scene editor showing a digital painting of a huge fantasy monster that becomes a cave used as a scene's map. On top of it there are various audio layers that overlap and can be used to export any position for later use in projects and simple audio players, or the user can directly enter Echotopia's live mode to perform the storytelling in real-time.