I haven’t posted any updates about the project since the last Aug! Development hasn’t stopped although it has not been progressing as fast as I thought it would. Life and university and covid and procrastination and everything tends to happen all at once. (I have to go PLUS ULTRA プラスウルトラ❕)
If it’s your first time here, hello! I’m making a free and open-source DAW. You can read more about why I’m doing this here!
Anyways, after a long time reading about other projects and studying other codebases and their stack and architecture, I came to realize I needed to change my approach: separate the whole sound processing unit from the application-specific interfaces (such as the UI)
So I completely separated the sound processing unit from the other parts, and started designing and implementing a completely standalone audio engine usable in both hardware and software applications. The sound engine is called “Ava.” (pronounced as “ävä” In my native language it’s a rather poetic word for “sound,” probably my favorite word in Farsi.)
So basically on one hand, the DAW will use the sound engine and has a controller acting as an interface with the engine that manages the state changes and function calls inside a while true. On the other hand, the controller will update the UI based on the engine status.
Parallel to this project, I’m doing my university thesis project which is a digital hardware synthesizer which uses the same engine. The architecture is basically the similar to the DAW (thanks to the separation of the engine.) The synth has an interface which communicates with the engine on one hand, and works with the hardware components and peripheral devices on the other hand!
I will talk about the structure of the engine and my design more in detail in the next post.