Make MIDI clip start faster on auto-play if possible
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:
- 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.
- Work with MIDI overdubbing. Maybe that decreases processing time or means "on-the-fly" processing.
- Record the beginning on a secondary track in parallel and then do some heavy glueing (sounds hacky).
Comments (25)
-
reporter -
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.
-
reporter Creating a loop section in advance and doing MIDI overdubbing doesn't work because MIDI overdubbing doesn't work on loop sections.
-
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
-
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.
-
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)
-
reporter Issue
#215was marked as a duplicate of this issue. -
reporter re
#210Make MIDI loops start immediately after auto-play - first draft→ <<cset 69cf1b9246f0>>
-
reporter re
#210Don't scroll back to edit cursor when recording MIDI and auto-play enabled→ <<cset ea2b74ae9eec>>
-
reporter re
#210Give recorded MIDI clip name of track→ <<cset b27f706309d2>>
-
reporter re
#210Fix freeze when using tempo detection→ <<cset a485634a5f5c>>
-
reporter re
#210Verious improvements, try method of recording stuff even record start position has not been reached yet. Issue: First note skipped.→ <<cset 2cc85b7545b5>>
-
reporter re
#210Add Playtime Worker plugin which helps getting access to MIDI data for more robust and better timed recording→ <<cset 27ee44da5290>>
-
reporter re
#210Use Playtime worker plugin first draft→ <<cset 82e46ac90861>>
-
reporter re
#210Use Playtime worker plugin second draft→ <<cset 41de49aaded1>>
-
reporter re
#210Refactor slot recording data encapsulation→ <<cset e8e764134c19>>
-
reporter re
#210Refactor code for triggering recording→ <<cset d965a3a3a88b>>
-
reporter re
#210Fix broken audio recording and work further on MIDI recording stopping phase→ <<cset 2a452445d4f4>>
-
reporter re
#210Fix small refactoring mistake→ <<cset f9dd6c979ce9>>
-
reporter re
#210Improve recording with worker→ <<cset 20704a4d07c7>>
-
reporter re
#210Correctly clear task from worker after recording→ <<cset e619ca315b2f>>
-
reporter re
#210Correctly take over notes that were played before the scheduled recording start time→ <<cset fb9ef01ea975>>
-
reporter re
#210Fix MIDI recordings if auto-play not enabled→ <<cset 6f9daeb7f18e>>
-
reporter re
#210Correctly detect tempo for MIDI clips→ <<cset 5fffed2ddf87>>
-
reporter - changed status to resolved
- Log in to comment
Seems like this delay is not caused by processing the recording but by glueing in-place. Maybe MIDI loop sections can help here.