Home Artists Posts Import Register

Content

Hello to my three patrons,

Thank you! I do feel a bit weird about accepting money from people without being able to offer anything in return. I am working towards a beta release which hopefully will be ready before the end of the year, and I'll likely make it available exclusively to donators.

In the meantime I thought I should try to keep you up to date which what I'm actually working on though i might not be super good at remembering to do this. Hopefully then it feels less like throwing money into the wind or something

Recently i posted a video on twitter about moving blocks around in the workspace while the arrangement is playing, without causing any clicking artifacts. This problem is 100x more horrible than i made it sound and this morning i've been trying to solve some of the corner cases that still lead to clicks.

Each block has its own playback object which will perform a crossfas,de to the new data when it's moved. The workspace also allows you to create frame accurate looping regions which will also cause a click when the arrangement jumps position, so each block actually needs 4 instances of the playback object to support clickless looping and moving at the same time. To make matters worse this all has to be synchronized without locking any mutexes or allocating any memory in the audio thread. To make matters worse Blockhead does not deal with time in the same way as traditional DAWs. There's no internal MIDI clock and blocks are not aligned to any fixed grid unless you explicitly create a tempo guide. This means I have to optimize the way blocks are processed by splitting the arrangement up into fixed size chunks. Each chunk maintains a list of all the blocks which currently lie inside it, and the chunks are played back one at a time as the playback traverses from left to right. So if you pull a block really fast out of all the chunks that it's currently sitting in, this can also cause a click.

Hopefully I can make this all more or less 100% click-free but if I can't figure it out I'll probably put this problem on hold and start work on something more important.

Comments

Anonymous

As someone with considerable audio and sound design knowledge (and some basic coding skills), I've been fascinated by your DAW's unique design philosophy / resynthesis capabilities / general feature set / etc. (based on what I've seen of it so far). I can imagine the complexity in handling all these click cases in real time: quite a task indeed. Regardless of where this feature winds up, I'm quite interested in Blockhead - and looking forward to helping out in the beta!