Daw development question

I would have too but it quickly appeared that some requirements of the project seemed hard or impossible to implement with Tracktion Engine, which is rather more than less an engine in the traditional sense. So that’s maybe an indirect answer to the question below :slight_smile:

The way such programs work, with tracks and clips, and a piano roll, I’ve known since the 90s. Cubase appeared in 1989 as a midi sequencer. Basically, almost all DAWs today are still built in much the same way as they were back then. If I want to code a music program for beginners today that is simple and intuitively designed, I probably shouldn’t use a new, innovative concept.

Youtube: NextStudio

I used the tracktion engine to write this program. I hope to get it to a state where I can release it soon. There are a few things I need to implement first though. It is a long way to make something like this. Especially as a hobby project. I could have written my own DAW engine with juce only. But I could never have achieved such a quality as the tracktion engine. It’s just amazing how stable the engine runs. When the app crashes, it’s actually always because of a mistake I made.

3 Likes

The discussion went very far… I think a specific topic about it will be interesting.

On my side, my idea to develop a Daw came from the disappointment of clip based Daw, I mean Ableton Live and Bitwig. They are in my opinion at the state of the art as clip based sequencer, but each have annoying thing for my workflow (so, personal things):

  • Ableton Live: the price, the way they handle vst with multi output, the undocumented script API for midi controler (even if we can find it on the internet), their philosophy is not my cup of tea.
  • Bitwig: No follow Action for Scene (they named it “Next Action”), even if clips have next action to trigger the next clip (but it is visualy a garbage to work with it).

My first approch was to find a workaround with Bitwig to have Next Action for Scene, but the API didn’t allow it, I have to use “loopMidi” and a dirty midi learn to achieve it. I waited 2 versions of Bitwig in the hope they add this “simple” feature, but I think I can hope until I’m dead… I ask the developers of Bitwig, create wishlist on ‘Bitwish’, I saw the feature on the version 5…, so I give up. I try to go back to Ableton, but the way multi output vst are still handle, annoys me.

I like the minimalistic approch of NI Maschine, a Daw with a Groovebox approach (I meant only considering the software). So, I search a clip based Daw, minimalistic, with only a Session View (Arrangers thing isn’t my cup of tea) to build song. The closest I find are IOs App (I didn’t want to invest on a Ipad, since music production for me is a hobby) and ZenBeats, that look like clip based software Groovebox. But clearly it miss features.

My hope before deciding build my own Daw from scratch or quite, was to find an open source project that I could fork, that is quite similar to what I wanted to achieve. I found Zynthian, that is minimalistic and clip based sequencer. But it is not a SDK, and so far I didn’t find proper documentation to understand how they build it. Even if, I try to decypher the code…

On my side, I didn’t think that my Daw will be revolutionary (if achieved), perhaps I will finish it in 5 years or more, but I prefere trying to build something that is achieveable with tools there and there, instead of being resigned of using Daw that I don’t like. At least, I will learn thing.

1 Like

why people want to build a DAW

You may as well ask why would someone want to build another synthesizer, or guitar … or effects unit … or mixer …

Its because there are features missing, plain and simple, and no one DAW fits all sizes.

There is a lot of room for improvement in the DAW UI paradigms that are out there - we still have relatively boring tools for composing music, which don’t really promote the instrumentality/performance of the musician, and rather end up pigeonholing musicians into a “standard way of doing things”.

For me, the power of Tracktion is that it presents the abstractions of the Edit very well, and gives developers the ability to make smart design decisions about the UI - which is the one area where a lot of innovation in the DAW field is really, really required in my opinion.

Some folks don’t want to “word process” tracks into existence, and find the whole DAW front-end experience tedious and uninspiring - a good reason to get into the DAW development side of things, is to address that tedium and attempt to innovate new user interfaces that allow folks to perform music, not just edit it. This is how we got Ableton Live and Bitwig, after all - two DAW’s that really, really didn’t need to be made - after all, we already had Cubase and Cakewalk and Logic and Studio One and Pro Tools … but yet, the UI paradigms that were bravely attempted by these early innovators have become a new industry standard…

So I think moaning about other devs wanting to write their own DAW’s is a bit myopic - and I say that as a very happy recipient of the Tracktion framework. Existing DAW’s, including Waveform, leave a lot to be desired - and I think there is really a lot more innovation to be had in this realm, which is why Tracktion is so important, and your work so valuable, Dave …

1 Like

That’s true. But the amount of work involved in creating a DAW is way, way larger than what you would need to create a synth, where (thanks to JUCE and other frameworks) you can delve directly in the specifics of your product. With a DAW you need to create a whole ecosystem that needs to be there, and will be similar to most others, before you go into anything specific.

2 Likes

For me the potential of Tracktion is in the non-DAW UI’s that can be developed around the Edit. That’s a very interesting challenge, imho …

Ah yes I remember this. I’d love to get all these in to Engine/Graph at some point.

Yes, the non-DAW UI’s as a frontend is exactly where I see most people writing apps based on Tracktion Engine or not. The point of TE is that most audio apps at some point need to do all the things a DAW does, just presenting it in new and exciting ways. These kind of products hopefully do offer something new and can grow over time.

It’s the creating a “traditional” DAW I think most people underestimate and why I try and probe a bit. Sometimes, as you say there is a definite desire/business case. It’s just a huge amount of work and so much to think through.

Exactly this.


I absolutely do want to see what kind of cool UIs people put around TE or any DAW-type engine though. That’s where the real creativity lies (I say this as the author of one of the more “traditional”-type DAWs, although we do try and put some creative tools in there).

Just so its clear, Dave - I think I can speak for a lot of us who have a great deal of respect for your work, and I don’t want the tone of my replies to imply otherwise. You and your team have pushed things very far forward for a lot of us, and that has to be acknowledged.

And yes, the alternative UI’s are the interesting part. I have another business case for why a company might want to write its own DAW, or DAW-like software, but I’ll reserve that for another time/place … :wink:

Interesting discussion!

In my case, I wrote my DAW because I wanted the simplest possible DAW that still has all the basic capabilities (see my post above). For example, my DAW has only one view. There are no other screens. Midi editing is done in place— each midi clip is its own piano roll editor.

It does not do looping. I do not use looping. Similarly, I stripped out any other features I do not use.

It is customized to the way I work in my studio. And that is what is difficult to achieve with existing DAWs. Most DAWs force you to adopt their way of doing things. I wanted a DAW that works my way.

1 Like

has this talk been recorded? anywhere to watch?

would be really interesting

It was recorded and I think it will be posted to the ADC YouTube channel at some point. No idea what their schedule is though.

1 Like

Hey Dave,
I am still getting familiar with vanilla JUCE but looking into community plugins for easier development.

What are your thoughts about the ideal use case for Tracktion when developers also can choose from Jive, Melatonin, and other community tools to simplify JUCE development?

I just watched an introduction to the Tracktion Engine and plan to learn more soon:

Thanks!

I’m not sure what the question is… Tracktion Engine is a backend framework so you can perfectly well use Jive and Melatonin to do your frontend UI.

1 Like