Improvements to MIDI playback when Time offset feature is used

Author
foldaway
Max Output Level: -90 dBFS
  • Total Posts : 48
  • Joined: 2015/08/25 12:32:12
  • Status: offline
2016/01/10 20:08:45 (permalink)
5 (1)

Improvements to MIDI playback when Time offset feature is used

This feature request is the result of the discussion in this thread & suggests improvements to the current operation of MIDI playback specifically when a MIDI track's Time offset function is used.

With the aims of improving:
1: the consistency between audio & midi in looped playback
2: the usefulness of looped playback in sound / song design
3: integration with external midi hardware

I am defining the improvements in 2 parts:

1: Cyclical looping
2: Playback pre-roll

Details:

1: Cyclical looping

Given a short MIDI sequence 'ABCD' (1 note per bar), played back as a looped selection.

With no time offset applied, we hear:
'ABCDABCDABCD'... etc.

Currently, with a small negative time offset on the MIDI track (eg. -3ms), we hear:
' BCD BCD BCD'... etc.

I suggest changing playback operation so that the selected MIDI loop is treated as a closed circle / cyclical loop.
In this case we would hear:
' BCDABCDABCD'... etc.

Which is what you would get if you copied & pasted the looped section consecutively & played it back in a standard linear fashion.
It is also more consistent with the operation of audio fx in looped playback.

nb. for a longer discussion / more info on this aspect please refer to the thread linked above.

2: Playback pre-roll

As the Time offset functionality is often used to correct for MIDI latency with external hardware.  The loss of the 1st note of the loop as shown in the above example is still a problem.

To address this I suggest that a new option be added to the MIDI track options (on a per track basis), that allows the Time offset to be treated as a latency compensation.  In essence a MIDI equivalent of PDC.

When this option is engaged, initiating playback from the current play head will 1st cause a pre-roll playback of events with a -Time offset.
 
eg. for 4 tracks with notes starting at the same time but with varying time offsets:

   play head
   |    time offset
   |---  0ms : track 1
 --|--- -2ms : track 2
  -|--- -1ms : track 3
---|--- -3ms : track 4

In the above situation a 3ms pre-roll playback is performed before the track with 0 time offset begins playback.
 
[ NB. Thanks to Adq for this very useful suggestion ]

In combination with Cyclical looping, this would enable seamless looped MIDI playback with external hardware.

nb. The reason for providing this as a seperate option is based on the need to be able to also use the Time offset as a purely creative effect.
 
Look foward to lots of +5 votes & hopefully seeing this implemented!  ...& obviously any discussions on potential improvments on the ideas! (or indeed providing any additional info)
 
Cheers,
Rich
post edited by foldaway - 2016/01/11 08:09:25
#1

0 Replies Related Threads

    Jump to:
    © 2024 APG vNext Commercial Version 5.1