DEV Community


Posted on

I ditched what I worked on for months...

...but I didn't threw it out.

I worked on Ava sound engine for quite some time. I made it from scratch, in C++. C++ is a good choice for audio-related programs, such as the DAW that inspired development of Ava. I decided to separate the DAW's interface with its processing unit, and Ava was born there. It's still in the development.

But Ava was also intended to be used for another project I've been working on for two years too: a digital IoT-based hardware synthesizer. It was/is my university thesis project.

The idea was to turn data from nature, into sounds. But all through the internet and wirelessly.
The basic flow of the device is that there are a unlimited number of ESP8266 (something like Arduino) devices that each have a sensor connected to them. They share their sensor data in a network connected to the internet.
There is a processing unit, a raspberry pi, which receives all of these data and turns them into sounds and MIDI signals. The sounds can be heard when it gets produced, but you can run the MIDI signals into other instruments!

And there is a dashboard that you can use to manage all the sensor nodes in the network, as well as controlling how their data is processed and turned into notes; so you can choose which musical scale the device makes notes in. Or which sound wave type the sound should have. Or how long each note should play. And more!

I intended to use Ava as the sound engine for device. But it was too hard to integrate it with all the python code and have them exchange data without bugs. So I had to ditch Ava in this project. It was sad but it made the project much more easier to develop and flexible.

Anyways, the synthesizer is called "Natural." It's also fully open-source. The repo is here!

It's not done yet, but it's so close to version 1 release! I don't know how many hours I've worked on this, I know I'm having fun tho.

I'll write more about it when the version 1 gets ready!

Top comments (0)