Audio recording, undo strategy, and automated saving/loading

Let’s consider a module that emulates a tape recorder where you can place the play/record-head on any position on a virtual tape to record some audio here and there on this tape, maybe overlapping, maybe not.

From a user’s perspective, I would expect being able to undo every single recording step.

From a developer’s perspective, to enable undo this way, every recording take has to be stored separately, as a chunk of memory or as a file (don’t forget autosave).

The easier way would be to say “there’s no undo on a virtual tape”, e.g. in a way Teenage Engineering does it on it’s OP-1.

And of course, there are many possible flavours of undo strategies between a full blown undo of takes on a tape and no undo at all.

What are your thoughts on an undo strategy for audio recordings?

How would you expect it to work in the VCV Rack?

What undo strategies should be avoided?

Thanks in advance for your ideas and considerations!

What about having a one step undo? So you could only undo the latest overdub. This way you only have to implement 1 separate buffer apart from the main one. Once you start recording a new overdub, the last one gets permanently added to the main tape.

As a user I’d find this sufficient to avoid mistakes and as a dev it seems pretty straight-forward to implement.

1 Like

Taking this a bit further (possibly changing your concept of the module too much), what about having this separation of one layer more fundamental to the whole design, not just as a “hidden” undo option.

So there would be two tapes, one where you can record directly and one where you can only “auto-overdub” the contents of the first. This way the mechanics of the undo would be more realistic and visible, basically you could only choose to erase the “direct tape”. This would also make it possible to include controls for trying out different volume, offset, speed etc of the overdub before folding it into the main tape.

Would second what unlessgames writes because there are unlimited overdubs by using more copies of the module!

So that would be a workflow a bit similar to a hardware looper pedal ? I like that idea, in my opinion it would work well.

I’ve implemented ONE level of UNDO for any disruptive audio editing in simpliciter


It could be if this is a common feature in pedals. I’ve only tried a basic looper pedal once which didn’t have undo at all.

I guess it depends on what direction @Ahornberg wants to take this. I might be wrong but the mentioned tape recording on the OP-1 is more about recording a song as opposed to creating a loop. Not sure what difference does this make in the way of undoing though. Personally, I somewhat enjoy limitations related to unundoableness as they move things forward. :slight_smile:

DAWs keep everything as a separate clip and allow unlimited undo at the clip level. Not that it’s worth the effort for you, but it’s certainly doable.

Thank you for all your ideas and opinions.

1 Like

Just another question on audio recording.

All modules I found so far are only saving audio triggered by a user action. Some loop recorders have no save option.

My intention for my TapeRecorder module is the following:

  • if a patch is closed (the Rack itself is closed), then all recordings will be saved
  • if a preset is saved, the audio will saved in a file [presetname].wav in the same folder as the preset file
  • all other automatic saved audio will go to the recordings-folder inside the Rack-folder
  • automatic saved audio gets an ID similar to the module IDs

What do you think about this strategy?