Hacker News new | past | comments | ask | show | jobs | submit login

I am a musician that mainly plays guitar and synths. I have a large eurorack, have tried nearly every MPE compatible synth & controller, and have a massive pedal board. I am also an embedded software engineer and have made audio plugins for VCV Rack. I have written blog posts [0] about MIDI to try to explain it to a technical-ish audience. I have written many, many more posts about why the way we interact with computers is ... sub-optiminal [1] and why new controllers are making it better [2]. I've also written a post reflecting on how AI Art tools like Stable Diffusion have/will affect artists [3] [4]. On my site, I have a list of DAWs and a simple Pro/Con view of each [5]. I have reviewed Emergent Drums, an AI drum-sample tool (and gave it a poor rating) [6]

All of that credential waving is to say, I think about this a lot. The software workflow is so bad that I have resorted to buying an insane amount of hardware, so, what makes it so bad? * Latency correction hell. - Only an issue for musicians not working entirely digitally * Limited I/O (albeit this wouldn't be an issue if I could get away with using less hardware) - You can't use more than 1 audio interface at a time in Windows * Interface navigation hell - VSTs all load as individual windows - There's often still issues with DPI scaling * DRM hell on those virtual instruments * Software stability hell - Not all DAWs sandbox plugins * Complex routings are often complicated - In audio-contexts, we often want to pipe signal around in branching - diverging & merging - paths, often with signals from unrelated chains changing things (ex: sidechain compression from a bass drum)

But I can almost forgive all of those issues. The real issue is and will continue to be MIDI. * 127 values for knobs? Really? That's quantization you can hear. * No good support for microtonal - Current hacks often break down realllllly bad with big scale. If you're in 31EDO, for example, you only get 4 octaves of range. * Clocking is a disaster, making swing, polyrhythms, etc. more of a mess than they need be.

Those are issues that legitimately limit the expressiveness of all music creation. You can't fine-tune a value in MIDI, you can't play between notes (barring MPE, which itself is a hack and not supported in all DAWs), and - combined with the latency problems above - it means *both* your traditional instrument (ie Guitar) and digital interfaced (MIDI) will have weird latency issues.

AI is not the solution and there's more than one problem. There are a few things which could help: * MIDI 2.0 / OSC / Literally anything with more resolution * Designing with more than just western music theory in mind (microtonal, swing/complex grooves, etc.) * A standardized framework for UI

I think VCV rack [7], albeit it absolutely isn't a general purpose DAW, does a good job of addressing many of these issues, but it can't handle more basic use cases either. Sequencing a long track in it is like pulling teeth and performance is quite bad due to processing everything as float's sample-by-sample, not as a buffer.

I do have some hope that change is coming. The Blockhead DAW [8] rightly has many musicians following this space excited for it's novel approach of treating audio in the timeline as a much more fluid source for quick modification rather than baked content you have to modify elsewhere.

There is, ultimately, an incredible amount of complexity that music software has to account for. I could muse(score) about why this is the case: it could audio having a temporal element, unlike a text editor or maybe just the inherit complexities that arise from trying to create with a medium where you have to consider such an extreme amount of information that caries with it cultural context and an ease of offense to the senses that no other medium suffers (Bad audio is much less tolerable than bad video).

No matter the case, it means that a DAW and the interacting with it needs to be very tightly integrated and intentionally designed with good standards while also being highly flexible. We nailed the flexibility, but totally dropped the ball on intentional design and standards that work for us. I don't think that can be un-done now, not without throwing away support for legitimately amazing tools.

While I'm risking going pure-tangent, I also want to mention that there being no good method for hardware acceleration is a limiting factor in the audio world, along with better standards for UI and data transport, we're in desperate need of an open hardware acceleration standard that's easy to use and not crazy expensive. I should be able to throw in a DSP card just like I can throw in a big GPU and have enough umpf in my system not be constantly worrying about freezing tracks or having audio underruns. This is an extra reason for having as much hardware as I do: A lot of DSP distortions eat CPU and sound really bad.

[0] https://opguides.info/music/midi/ [1] https://opguides.info/other/hci2/intro/ [2] https://opguides.info/music/instruments/#expressiveness-and-... [3] https://opguides.info/posts/aiartpanic/ [4] https://opguides.info/posts/ai2/ [5] https://opguides.info/music/software/daw/ [6] https://www.youtube.com/watch?v=Zpq7g9CcGv4 [7] https://vcvrack.com [8] https://twitter.com/ColugoMusic




> On my site, I have a list of DAWs and a simple Pro/Con view of each

You reviewed three DAWs. Glad you put the link to Admiral Bumblebee's page on yours, because that's actually "a list of DAWs".

Re: MIDI - you can already "play between the notes" using either MTS or even just simple pitch bend - the issue with the latter is building a controller that makes this better than the wheel on most keyboards, the issue with the former is finding synths that understand MTS and use it.

> no good method for hardware acceleration is a limiting factor in the audio world

DSP processors have been available for this since before ProTools, which was fundamentally based on hardware acceleration. In the present era, UAD and others continue (for now) to carry that torch, but the principle problem is that during the period where Moore's Law applied to processor speed, actual DSP could not keep up with generic CPUs (every DSP system was the speed of 1 or 2 generations ahead of generic CPUs). Current generic processors are now so fast that for time domain processing, there's really no need for DSP hardware - you just need a bigger multicore processor if you're running into limits (mostly - there are some exceptions, but DSP hardware wouldn't fix most of them either).


> You reviewed three DAWs.

There's definitely more than 3 reviewed there? Sure, a lot of them still say [TODO] on getting a review, but then I don't want to review something I don't have a significant amount of 1-on-1 time with. Maybe you didn't realize there are click-able tabs?

Also, the way you phrased this came off as quite rude. There is someone on the other side of the screen, and you'd do well to consider that in the future.

> Re: MIDI - you can already "play between the notes" using either MTS or even just simple pitch bend [...]

Pitchbend is global to the track, if you play a chord and bend, all of the notes bend equally. With MPE it is possible to bend a single note, but then MPE isn't supported in every DAW (FL Studio doesn't have it) and my gripes with MTS are explained already: You're still working with only 127 possible notes so you limit your octave range. Worse, with all of the microtonal solutions, the UI will still typically look like a 12-tone piano. This is sort of okay for 24TET, but It's immensely confusing for anything else.

> DSP processors [...]

They really haven't been true for audio for a while now. Moore's law isn't dead, but definitionally "Moore's law is the observation that the number of transistors in an integrated circuit (IC) doubles about every two years" doesn't equate to all work loads seeing an improvement. Audio is a pretty latency sensitive, mostly strictly sequential workload. Making audio code that uses multiple cores often isn't even possible. Audio needs clock speed and IPC gains, which we have gotten, but that's not always enough. I have a 5900x and still hit limits. What would you recommend I do, get a Threadripper or Xeon so that I can have even more cores sit idle when making music? If anything, the extra cores have been a hindrance lately - on my 3900x I had before at high loads I had to pin the processes to one chiplet or I'd me more likely to get buffer underruns. It's not as if anyone is arguing that CPUs getting faster so quickly means that we don't need graphic cards.

UAD exists but then you're limited to their plugins and their accelerators are quite expensive for not being really all that powerful. I'm also not convinced that kind of accelerator is even the right approach. Field Programmable Analog Arrays, FPAAs, for example, could be setup with a DAC and ADC on either end. Or we could make DAWs/OSs capable of handling digitally connected analog "plugins" better - think effects like the Big Muff Pi Hardware Plugin [1] or Digitakt with Overbridge [2] (These are the only two examples I know of!). Using the word "Acceleration" was wrong, what I really meant is offloading. We need a way to offload the grunt work to something we can easily add more of or better fits the task. I think this is particularly true of distortions, as slamming the CPU with 4 or 8x oversampling to get a distortion to not sound awful hurts.

[1] https://www.ehx.com/products/big-muff-pi-hardware-plugin/ [2] https://www.elektron.se/us/overbridge


Sorry, my mistake. Four DAWs: Live, Bitwig, FL Studio, Reaper. We'll have to agree to disagree on whether or VCV (which I use very regularly) or trackers are a DAW or not.

I agree with you about pitchbend, but you're narrowing what "play between the notes" means: you seeem to mean "polyphonic note expression", which is a feature that quite a few physical instruments (not just piano) lack.

MPE doesn't need to be supported by the DAW, only by the synthesizer. It's just regular MIDI 1.0, with different semantics. It's more awkward to edit MPE in a DAW that doesn't support, but not impossible. Recording and playback of MPE requires nothing of the DAW at all.

> the UI will still typically look like a 12-tone piano

We just revised the track header piano roll in Ardour 8 as step one of a likely 3-4 step process of supporting non-12TET. Specifically, at the next step, it will not (necessarily) look like a 12-tone piano.

> Audio is a pretty latency sensitive, mostly strictly sequential workload

It's sequential per voice/track, not typically sequential across an entire composition.

IPC gains are not required unless you insist on process-level separation, which has its own costs (and gains, though mostly as a band-aid over crappy code).

If you're already doing so much processing in a single track that one of your 5900X cores can't keep up, then I sympathize, but you're in a small minority at this point.

Faster CPUs don't help graphics when the graphics layers have been written for years to use non-CPU hardware. Also, as you sort of implicitly note, there's a more inherent parallelism and also decomposability of graphics operations to GPU-style primitives than there is for audio (at least, we haven't found it yet).

Offloading to external DSP hardware keeps popping up in various forms every year (or two). In cases where the device is connected directly to your audio interface (e.g. via ADAT or S/PDIF), using such things in a DAW designed for it is really pretty easy (in Ardour you just add an Insert processor and connect the I/O of the Insert to the appropriate channels of your interface. However, things like the BigMuff make the terrible mistake of being just another USB audio device, and since these things can't share a sample clock, that means you need software to do clock correction (essentially, resampling). You can do that already with technology I've been involved with, but there's not much to recommend about it. The Overbridge doesn't have precisely the same problem in all cases, but it can.


I can't agree more with this post! As a middle eastern producer trying to incorporate maqam, the workflow is custom...and frustrating...and funnily still better on a workstation. And CV control is not viable as a control for acoustic sampled vsts.

Your opguide site looks like an incredible resource, thank you for creating it!


I'm the lead author of Ardour [0], and I'd very much like to hear more about your frustrations, since over the next 1-2 years, paying attention to non-European musical culture is one of the things I hope to focus on during development. You can reach me via the email address in my profile, or maybe use our forums at discourse.ardour.org. Thanks.

[0] https://ardour.org/ <= a cross-platform open source DAW that has been around for more than 23 years


Hey Paul,

I'd love to chat! I'll make my way onto the forums. Hopefully there's a relevant spot to post about this :)

PS. Not sure if you're aware your email is not currently in your profile.


There's no existing topic for this, but do feel free to create one.

paul@linuxaudiosystems.com for email


I've been going down the rabbit hole of using all physically modeled synths instead of sample based VSTs so that I can fully take advantage of MPE controls instead of trying to get samples to be expressive though arcane incantations of key twidding in Kontakt. I think it's probably the best option for doing things in a DAW right now, unfortunately.


Would love to find out more about what you're doing here. Not all physical modelling options allow dynamic retuning. Also, which software will allow a double reed like the mijwiz. We really need modartt to crack the remaining instrument classes :) if you're open to chat, do you mind dropping an email to the address in my profile?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: