Make MIDI clip start faster on auto-play if possible

Issue #210 resolved
Benjamin Klum repo owner created an issue

When auto-playing recorded MIDI clips, early MIDI notes won't be played in the first cycle right after recording. The reason is that Playtime records exactly until the end of the measure (if record stop time is "Next measure"). Let's assume the recorded clip has a MIDI note on beat 1. So this MIDI note is supposed to be played right after the recording ended (only 1 sample later). Processing the recording takes some milliseconds though so this MIDI note is just skipped on the first iteration.

Probably this can be improved. I have following ideas in mind:

  1. Redefine record stop time "Immediately" so it still stops recording immediately but extends the clip length to the next measure (or whatever is set as as play start time). Record stop time "Immediately" as it is defined now probably only makes musical sense for one-shots (or very experimental loops). But even for one-shots it maybe wouldn't hurt to extend the clip length to the next measure.
  2. Work with MIDI overdubbing. Maybe that decreases processing time or means "on-the-fly" processing.
  3. Record the beginning on a secondary track in parallel and then do some heavy glueing (sounds hacky).

Comments (25)

  1. Benjamin Klum reporter

    Seems like this delay is not caused by processing the recording but by glueing in-place. Maybe MIDI loop sections can help here.

  2. Benjamin Klum reporter

    Problem is that both glueing a MIDI item and creating a MIDI loop section (the first time) results in a very short interruption. So delaying the glue (or creating the loop section) only postpones the issue. One solution would be to MIDI overdubbing (see point 2) and create the loop section in advance. Subsequent adjustments of the section shouldn't result in any interruption. But maybe there's a simpler solution.

  3. Benjamin Klum reporter

    Creating a loop section in advance and doing MIDI overdubbing doesn't work because MIDI overdubbing doesn't work on loop sections.

  4. Benjamin Klum reporter

    Leaves us with possibility 1, 3 and a new one: 4) Play an unglued one-shot in the first iteration and loop a duplicate from the second iteration

  5. Benjamin Klum reporter

    4 is bad because it introduces a totally different concept and introduces room for lots of new bugs. Doesn't conform to KISS principle.

    Possibility 5: Stop recording already some milliseconds earlier with MIDI clips and fill the remaining part with silence. Like 1 but for record stop time "Next measure". Rationale: The beginning is more important than the end when doing auto-play.

  6. Benjamin Klum reporter

    5 is also too slow and filling with silence is actually pretty difficult to do it quickly.

    Possibility 6: Combination of MIDI overdub, non-looped source and on-demand beat-wise prolonging (for immediately having an item which doesn't need to be glued) with auto-punch selected items (for not starting recording too early but for still picking up notes played before)

  7. Benjamin Klum reporter

    re #210 Verious improvements, try method of recording stuff even record start position has not been reached yet. Issue: First note skipped.

    → <<cset 2cc85b7545b5>>

  8. Log in to comment