An exploration of the DAW landscape

Intro

Recently I've really been getting into computer music and synthesizers again. It's been a long time interest of mine, especially the early nineties when I was studying in the university and had (took) a lot of time to delve into it. Back then I bought some classic hardware synths like the Roland D-50 and Alpha Juno-1 (both of which I still own), and created the Soundblaster AWE32 homepage (for its time a very powerful PC soundcard) together with a friend. In those days the DAW (Digital Audio Workstation) and VST (Virtual Studio Technology, first SDK version released in 1996) concepts hadn't really developed, mainly because the limited power of the PC's at the time, and the PC software available was basically MIDI editors like Cakewalk and Cubase. After university I got busy with work life and other stuff, so my music creation was basically halted to a stand still.

Lately I've had much more free time and have decided to get into creating music again. After all, what's more important to spend time on than one of your passions? This blog post is basically a summary of what I want to my "studio" to look like and the experiences I've had so far trying different software applications (mostly DAW's), VST plugins and some hardware devices.

Software vs Hardware Synths

I love hardware synths. They are great for sound creation and experimentation (in fact I recently bought a Roland SYSTEM-1 for that reason and it's great synth for the price), and analog synths can produce some amazing sounds. But they have so many disadvantages compared to software synths: they are expensive, have limited polyphony and/or timbrality, limited/non-extendible synth engines (limited number of oscillators, LFO's etc.), hard to input audio from (most DAW's only support one audio input), take up physical space etc.

So that's why I've decided to use 100% software synths in my music. This makes it possible to load and play a song without the need for any external hardware devices, edit sound parameters in realtime (I'm ok with using some audio samples for drums etc., but kept to a minimum), use the same synth on multiple tracks, easily store and load presets etc.

User Interfaces

I find the typical PC user interface a bit constrained in the creative process of music making, keyboard and mouse are not the best devices for that. This is something I definitely miss from hardware synths, the immediate and tactile user interface with real knobs, buttons, sliders etc. I've looked at hardware DAW controllers like Ableton Push 2 and MIDI keyboards with slider/knobs (I have a Novation 49SL Mk2), but they all are very limited compared to the interface of a real hardware synth.

So I've decided to build my own user interface device based on a 21.5 inch touch screen with multiple hardware knobs (probably 64 of them) placed over or around the screen. The contents of the touch screen will change depending on the selected track or VST device, similar to an OSC (Open Sound Control) controller. The touch functionality of the screen will be used for buttons, sliders, pattern editing etc., but for parameter editing the knobs will mostly be used. The screen will show the parameter name and value close to the knob so it will be easy to find the right knob and edit the parameter value. The knobs will be endlessly rotating so there are no stop positions, this is a must when editing an existing synth preset (there's nothing more annoying than knobs being in the wrong position). For the encoders I will use Hall effect sensors which are very accurate, have high resolution (more than 1000 steps/rotation), quite cheap (about $3-4 each) and very small. I'm about halfway through that hardware project and I will probably post a new blog post about it when I've completed it.

Music Creation Process

I'm mainly into electronic music production with repeating patterns and sequences, rather than playing and recording things live. I started my music creation using trackers on the Atari ST back in the eighties, and I like that work flow of first creating short clips/patterns/sequences which then are then combined to a complete song. I want to split my music creation process into two steps: a very creative experimentation step and a song arrangement step.

Step 1: Creative Experimentation

This step is a very creative step in which new ideas are explored by creating/editing sounds and short note sequences. The user interaction should be as smooth as possible without time consuming interruptions like copying clips around, song composition, messing with timelines etc. I will use the touch screen to add tracks, create/add/edit synth sounds and effects, and create/edit small sequencer patterns. Everything should be accessible with as few clicks and steps as possible. This means no mouse or keyboard is used in this part.

I would like to have the following functionality (at least) for this step:
  • Set song BPM by value or tapping
  • Add/remove/select active track/channel
  • Show a mixer view to select volume, solo, mute for all tracks
  • Add/remove plugins (instruments, audio effects, MIDI effects etc.) and plugin chains for the selected track, preferably from a favourites list
  • Load and store presets for each plugin and the entire plugin chain
  • Show the name and set/get the value of pre-selected parameters for one or multiple plugins (multiple pages if parameters don't fit on one page)
  • Create new/delete clips for selected track
  • Edit clip with graphical grid editor
  • Record a new clip from MIDI input
  • Select playing clip for each track, bar synced (basically an Ableton session view)
  • Being able to set base key (C/D/E,... + major, minor,...) and auto correct inputted notes
  • Play one base note and have relative clips will be auto transposed to that note (taking into account the currectly selected key of course)
  • Split keyboard between bass/comp and melody sections
  • Create linked/ghost copies of clips to try different combinations for the tracks
Everything shall be easily accessible (one or two touch clicks) from the touch screen and the knobs. I will probably be forced to write my own front end application and some VST plugins for this step. It will communicate with my DAW, so the DAW has to have a pretty advanced extension API to support the functionality listed above.

Step 2: Song Arrangement

If the produced results of the first step good enough, a second part where a song is created by arranging and mixing the parts created in the first step. This is a more engineering step where creativity is less important. In this step I will use the arrangement view of a DAW or MIDI editor mostly with a mouse and keyboard. I will use knobs for recording automation of synth parameter changes etc.

In this step I would like to at least have the following functionality:
  • Arrange and layout multiple linked/ghost copies of the clips, including those from step 1
  • Add clip independent track automation with MIDI CC and plugin parameters, either by recording manual parameter changes, drawing in GUI or by adding LFO's and envelopes
  • Change base key at specific time points in the song, and relative clips should follow this automatically
  • Common mixing and mastering actions such as those available in most DAW's
  • Of course all functionality from step 1 should be available as well

Evaluating DAW's

In this part I will share my experiences trying different existing DAW's for Windows. I will evaluate them based on how I like the workflow and the UI, and also how their functionality match my goals described above. I don't want to be tied too much to a specific DAW, so preferably want to use open standards like MIDI for songs and VST for plugins. It would be nice to use open source software for sequencing and plugins so I can make modifications if needed.

Some DAW's (mainly Ableton and Bitwig) have a session view which fits quite well into my preferred way of working, but unfortunately the common way of using the same clip data in multiple places is by copying it. I find that highly unintuitive and counter productive, and preferably I would like to have a clip bank and then use linked/ghost copies of the clips. Unfortunately I haven't found a DAW's that supports both session view and linked clips.

Ableton Live

Ableton is the "standard" DAW for electronic music production, and I really like the clean UI and device handling. However it's quite expensive and I really don't need all the extras included in the Live Suite. I have spent a lot of time testing Ableton and creating some songs with it.

Good:
  • VST's are well supported
  • The session view is good for step 1
  • Clean, minimal UI with easily accessible VST and device parameters
Bad:
  • Doesn't support linked/ghost clips natively, but there are some plugins that provide rudimentary support for it
  • To be able to communicate with Ableton I probably need Max for live and Live Suite which is really expensive

Bitwig Studio

Of all the DAW's I have tested I like the UI of Bitwig the most. It's as clean and minimal as Ableton, but prettier and even more accessible and powerful. I've spent many hours with the program and writing my own extensions using the Java API. If I can work around its shortcomings it's probably the DAW I will use.

Good:
  • VST's are well supported
  • The clip launcher is good for step 1
  • Clean, minimal, beatiful UI with easily accessible VST and device parameters
  • Very powerful and flexible device modulator system
  • The grid
  • Has a Java controller API
  • Decent price compared to Ableton Live Suite
  • Nice touchscreen support included (I will probably not use it, but it's nice to have)
Bad:
  • Doesn't support linked/ghost clips natively, but I think it will be possible to create a plugin that adds basic support for it in the clip launcher (but not arrangement view)
  • The Java API is quite limited, for example the clips in the arrangement view are not accessible which is a bummer

Cakewalk (by BandLab)

Ah, old Cakewalk which I used back in the nineties. Now it's a free DAW with lots of functionality, however compared to the clean UI's of Ableton and Bitwig it feels really dated and it has some weird functionality restrictions. I've done some test songs in Cakewalk (the new version) and tried using some VST's with it.

Good:
  • VST instruments are well supported
  • The matrix view could possibly work for step 1, but it seems limited compared to what Bitwig and Ableton offers
  • Has a controller SDK, but I haven't looked much into it
  • Supports linked/ghost clips in the arrangement view (not sure about the matrix view)
  • Free!
Bad:
  • The VST chain handling and UI is really bad compared to Ableton and Bitwig, for example you cannot have VST MIDI plugins before a VST instrument and MIDI events are not propagated to the effect chain
  • Overall the GUI feels dated and clumpsy

Reaper

Reaper is a powerful DAW with a reasonable price. I spent a few hours trying out using VST's, reading the plugin API documentation and writing a simple plugin script.

Good:
  • VST's are well supported and you can easily create/store/load chains and parameter values
  • Has a controller/plugin API
  • Has pooled MIDI items for linked/ghost clips in the arrangement view
  • Very reasonably priced
Bad:
  • The UI for handling devices and chains is poor compared to Ableton and Bitwig
  • No session view, however there is an extension for it
  • The controller/plugin API is C-based and quite limited (no support for events for example)

FL Studio

A quite popular DAW for electronic music production. I have only tried it for a few hours, but the UI felt cluttered and not as accessible as Ableton and Bitwig. Maybe it gets better when you use it for a longer time. I haven't tried the plugin API yet.

Good:
  • VST's are well supported and the Patcher is really powerful for creating graphs of VST plugins 
  • Has a controller/plugin API, not sure how powerful it is though
  • Linked/ghost clips are supported (it's even the default action)
  • Quite reasonably priced, especially if you don't need audio clip support
Bad:
  • The UI feels cluttered and not as intuitive as Ableton and Bitwig
  • No session view
  • Question marks regarding the plugin API

Waveform (Tracktion)

Waveform comes in a free version and a pro version. I spent a few hours using the OEM version which came with my ROLI Seaboard Block. I played with the plugin rack and read the small amount of documentation there is about the controller API.

Good:
  • VST's are well supported and I like plugin/device chains UI
  • The plugin rack is really powerful for creating plugin graphs
  • Has a controller/plugin API, but it seems to be quite limited
  • Linked/ghost clip support
  • Has some nifty note functionality for creating pattern and chord clips that are automatically transposed
  • Free version
Bad:
  • No session view
  • Need the Pro version to get full functionality in the plugin rack
  • Undocumented, limited controller API

Ardour

This is the DAW I spent the least time with. I just found the UI extremely unintuitive and even the most basic functions took me minutes to figure out. It seems like a DAW primarily focused on audio editing rather than MIDI sequencing.

Good:
  • VST's are well supported
  • Has a controller/plugin API, but it's very limited
  • Linked/ghost clip support
  • Free (sort of I guess)
Bad:
  • Dated and unintuitive UI
  • No session view
  • Very limited controller/plugin API

Summary

So, that's my current state of exploring some (most?) of the popular DAW's. I like Ableton and Bitwig the best of all the DAW's I've tried. The two are quite similar when it comes to clean GUI layout, session view, device handling etc. but I find Bitwig a bit more powerful and intuitive. As I mentioned above I don't want to be tied too much to a specific DAW so I will almost exclusively use VST plugins and not the included DAW-specific plugins like for example the Bitwig grid (which would be great as an open source VST though). IMHO, the main problem with Bitwig is the lack of linked/ghost clip support and the limitations of the controller API. If those problems are fixed it would be a no brainer to pick Bitwig.

Reaper, FL Studio and Waveform are good programs, but their dated UI's compared to Bitwig, the lack of session view and question marks regarding their controller/plugin API's makes either of them a hard pick.

I can't see myself ever using either Cakewalk nor Ardour, they are definitely not my cup of tea.

Some DAW's I've excluded without even trying them: Logic Pro as I'm a Windows user, Cubase because of the stupid USB protection and quite steep pricing (I would need at least Cubase Artist, but still have limitiations).

If you have any insights or recommendations regarding DAW's I would be happy if you leave a comment :)

Comments

  1. Hi! A regular reader here in Lubbock, Texas!
    I finally trusted to leave a comment
    I have enjoyed reading your page.
    Just wanted to tell you to keep up the great work you are doing!
    reimage license key
    movavi photo editor crack
    microsoft toolkit crack
    morphvox pro crack
    wondershare mobiletrans crack

    ReplyDelete

Post a Comment

Popular posts from this blog

Rust for the Seasoned Scala Developer

Data Modelling in Rust

Data Modelling in Rust Continued