foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
Hi all, As far as I can remember this has always been a problem but I thought with the new update model, it might now be an issue worth raising. situation: Playing back a loop which has a MIDI track with a negative time offset problem: MIDI notes at the start of the loop are not looped around so that they play at the end of the loop. eg. if time offset = -50. A 'note on' at the start of the loop should be played at the end of the loop -50. naturally I wouldn't expect a 'note on' at the start of the loop (with a -50 time offset) to be played at the start of the loop but it makes sense to me that it would at the end, otherwise the notion of a loop becomes a bit fragile! I've not been able to find any settings to fix this behaviour, so I'm assuming this is a bug (or at least an oversight) edit: I've created a problem report for the issue
post edited by foldaway - January 04, 16 11:00 PM
|
brundlefly
Max Output Level: 0 dBFS
- Total Posts : 14250
- Joined: 9/14/2007
- Location: Manitou Spgs, Colorado
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 1:57 AM
(permalink)
Makes some sense, but seems more like a feature request than a bug. And how should it handle the case that there's another note event on the same pitch in the next measure that's offset into the loop region? Should it ignore all notes that fall outside the end of the loop region without the offset or only prevent collisions/doubling? Since I don't quantize my MIDI to 100%, I often run into the case that notes are missed because they start before the beat that I snapped the loop to. If it really matters, I just move the loop.
SONAR Platinum x64, 2x MOTU 2408/PCIe-424 (24-bit, 48kHz) Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 8:55 AM
(permalink)
Assuming I've correctly understood your point, the potential problem case you identify simply wouldn't exist if this was fixed. If the loop was a real loop, it would look like this: (imagine each segment is a eg. a 16th note)  As the end wraps around to the beginning any +/- time offset of events will just move them around the circle & they will still be in the loop. I hope this makes my thoughts a little clearer.
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 9:20 AM
(permalink)
Fixing this operation would be particularly helpful when dealing with sounds that have long attack times. eg. Often I will want to start these sounds ealier relative to the beats they were designed to coincide with. If the notes also have a long duration this compunds the problem, as missed notes are even more of an issue. Problems with the currently available workarounds: 1: bouncing to audio > not feasable while still in sound design mode! 2: manually create a long loop to work with > very inconvient when working with a track that already has structure in place. 3: spltting the attack portion of the sound from the rest > impossible in some circumstances. While it is possible to work-around the problem, the time inconvience leads me to generally avoid even attempting these kinds of sound design, which is a shame as when I've had time to do it, some nice things can be achieved.
|
brundlefly
Max Output Level: 0 dBFS
- Total Posts : 14250
- Joined: 9/14/2007
- Location: Manitou Spgs, Colorado
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 1:38 PM
(permalink)
foldaway As the end wraps around to the beginning any +/- time offset of events will just move them around the circle & they will still be in the loop. I hope this makes my thoughts a little clearer.
Your concept seems to assume that you'll only ever start playback at the beginning of the loop, not before it, and you won't ever enable/disable looping or move loop boundaries during playback so the offset can be applied only to events inside the loop boundaries without consideration to the relative timing of notes that come before or after the loop region. But in order to be playing back the offset track with the correct timing when playback starts sometime before the loop boundary and to accommodate dynamic changes in the status and range of looping during playback, SONAR has to have already processed the shift of every event in the offset track so that notes just inside the start of the loop fall out of the loop region, and notes just outside the end of loop are brought into it (or vice versa for positive offsets). In other words, a loop isn't a closed circle as your graphic shows; it's a loop in a longer 'string' of events that have to maintain their relationship to one another at all times. You can't just shift some of them around the loop in isolation from other events in the track.
SONAR Platinum x64, 2x MOTU 2408/PCIe-424 (24-bit, 48kHz) Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 3:05 PM
(permalink)
As we are only ever going to be playing the track forwards, there is only one case that needs addressing & that is what happens at the end of the loop. This case only occurs once already inside the loop & I thought the graphic would help explain how that particular situation would be handled. brundlefly a loop isn't a closed circle as your graphic shows; it's a loop in a longer 'string' of events
I understand & agree BUT surely looped playback when enabled, should simulate an actual loop (/closed circle). In fact, this is exactly what the currently functionality does when there is no MIDI time offset active. It is only when there is a MIDI time offset applied to a track, that this simulation breaks, hence why I am viewing it as a bug or an oversight.
|
brundlefly
Max Output Level: 0 dBFS
- Total Posts : 14250
- Joined: 9/14/2007
- Location: Manitou Spgs, Colorado
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 6:23 PM
(permalink)
All I can say is that it's pretty clear to me that it's working as intended. Looping a section of a MIDI track with a negative offset plays exactly as it would if you destructively moved the MIDI events earlier. And it's generally not desirable to have non-destructive edits play back differently from their destructive equivalents.
SONAR Platinum x64, 2x MOTU 2408/PCIe-424 (24-bit, 48kHz) Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 6:49 PM
(permalink)
brundlefly Looping a section of a MIDI track with a negative offset plays exactly as it would if you destructively moved the MIDI events earlier.
No it doesnt! This is the exactly the problem. A selection that is looped should playback as if the selection were copied & repeated (destructively) eg. select & loop 'ABCD' should playback 'ABCDABCDABCD'... etc. With a small negative time offset we might expect to see ' BCD' on the 1st play of the looped selection (ie. 1st note missing). However when allowed to play through & loop, we would expect to see ' BCDABCDABCD'... etc. Currently what we see is ' BCD BCD BCD BCD' etc. which is not what you would get if you copied & pasted the loop consecutively.
|
Karyn
Ma-Ma
- Total Posts : 9200
- Joined: 1/30/2009
- Location: Lincoln, England.
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 7:01 PM
(permalink)
foldaway With a small negative time offset we might expect to see ' BCD' on the 1st play of the looped selection (ie. 1st note missing). However when allowed to play through & loop, we would expect to see ' BCDABCDABCD'... etc. Currently what we see is ' BCD BCD BCD BCD' etc. which is not what you would get if you copied & pasted the loop consecutively.
BCD BCD is absolutely correct. If you start with ABCD where 'A' is at the beginning of bar 4, but is offset back to the end of bar 3, then loop from bar 4, anything in bar 3 (which now includes 'A') is never played. That is intended and expected.
Mekashi Futo. Get 10% off all Waves plugins.Current DAW. i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum
|
Karyn
Ma-Ma
- Total Posts : 9200
- Joined: 1/30/2009
- Location: Lincoln, England.
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 7:03 PM
(permalink)
foldaway A selection that is looped should playback as if the selection were copied & repeated (destructively)
No, that's not what looping is...
Mekashi Futo. Get 10% off all Waves plugins.Current DAW. i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 07, 16 9:29 PM
(permalink)
Karyn
foldaway A selection that is looped should playback as if the selection were copied & repeated (destructively)
No, that's not what looping is...
Or possibly "No, that's not what looping is... currently under specific conditions in Sonar" ? The problem as I see it, is that this technical perspective does not match the reality. The technical perspective might say: KarynBCD BCD is absolutely correct. etc. The reality is that once any loop contains a softsynth, delay or reverb, the audio generated will loop around. eg. a noise at the end of a loop with a long reverb in the fx chain will not suddenly vanish when playback loops back to the start. Equally a synth note with a long decay won't suddenly dissapear when playback loops back to the start. This creates the kind of seemless loop I've been describing (see above pic). All I'm suggesting is that the MIDI looping should follow the same pattern as the audio. The only options I can see for acheiving this consistency are : 1: no RT audio fx tails persist when the loop restarts - completely impractical from a dev perspective 2: MIDI is looped in the manner I have previously described - practical from a dev perspective If a consistency can be achieved, it simply makes loop playback a far more useful & practical tool! ...which would be nice!
post edited by foldaway - January 07, 16 9:46 PM
|
Karyn
Ma-Ma
- Total Posts : 9200
- Joined: 1/30/2009
- Location: Lincoln, England.
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 6:50 AM
(permalink)
What you described was offsetting a note that is placed at the start of a loop to just before the start of a loop. In that case the note should NOT be played on each repetition of the loop. It is outside the loop boundaries.
Mekashi Futo. Get 10% off all Waves plugins.Current DAW. i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 10:26 AM
(permalink)
☄ Helpfulby John Bradley September 24, 16 12:09 AM
I am specifically referring to the case where a note crosses the loop boundary, when time offset < 0. Apologies if this wasn't clear from my previous posts. A MIDI note is defined by both note on & note off events. Between these 2 events we must assume that audio is being generated (this is the minimal & only safe assumption from a techincal perspective). Please consider the following: [ ] - loop range selection -------- - midi note as viewed in PRV (meant to depict exact alignment with loop range)-------- - midi note with timing modified by a small negative time offset In this example, it can be seen that with the time offset, we should expect at a minimum that the note will generate audio for 87.5% of the loop (obviously this could be higher due to synth note decay time etc.). As such, it is clearly very relevant to the looped range. (...I would argue that any note that causes audio generation within the looped range is relevant, no matter how small!) As it is impossible to tell a synth to skip x ms of it's attack envelope etc. The only alternative that is techincally viable, which allows a truer representation of the looped ranges audio content (while looping), is that which I have defined previously. And as I mentioned previously, it also answers the need for consistency with the operation of other audio fx. The manual also states: Adjusting the time alignment of a MIDI track (Time+) Each event takes place at a known point in the project. On playback, the time offset (Time+) parameter adjusts the times for MIDI events in the track by the designated amount. The value can be as small as a single clock tick or as large as you want. This parameter can be used to make a part play behind the beat or in front of it or to compensate for tracks that sound rushed or late. The time shift can be used to create a chorus or slap-back echo effect by making a copy of a track and then applying a small offset to the copy. You can use larger time offsets to shift a track earlier or later by several beats or measures. Note that you cannot shift any event earlier than 1:01:000. For example, if the first event in the track starts at 2:01:000, you cannot shift its start time earlier by more than one measure. This parameter does not affect the time that is stored for each note event. When the clip is displayed in other views, like the Piano Roll, Staff, or Event List view, you will see the original times as they are stored in the file. To set the time offset for a track ...
link : https://www.cakewalk.com/Documentation?product=SONAR%20X3&language=3&help=Playback.32.html To me this clearly suggests that: a: the time offest is non-destructive b: it's designed to allow for creative uses c: it's designed to allow for timing corrections My suggestion simply allows for these designed goals to be fulfilled whilst working with loops. I hope that this helps explain my thoughts. edited: to make loop range explanation at top fit horizontally
post edited by foldaway - January 08, 16 12:15 AM
|
Karyn
Ma-Ma
- Total Posts : 9200
- Joined: 1/30/2009
- Location: Lincoln, England.
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 10:36 AM
(permalink)
Imagine you have a large cymbal hit, let's make it a big gong, that may take many seconds to decay. It could be played (note on - note off) several bars before the section you want to loop, still being perfectly audible during the section you want to loop, but you'd NEVER hear it during actual loop playback because there'd be no midi info (either note on OR note off) to tell Sonar that it needs to be playing... That is the nature of Midi. Its been like that since 1982.... Edit: Speeling
post edited by Karyn - January 08, 16 10:50 AM
Mekashi Futo. Get 10% off all Waves plugins.Current DAW. i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 11:56 AM
(permalink)
In your example, the midi note is completely outside the loop range & as such would never be played during playback of the loop. And I 100% agree with what you've said regarding your example. However, this is not what I'm talking about! I am talking specifically about the situation where a midi note DOES fall within the looped range. Or, to put it another way : 'The time range of a midi note (start->end) intersects with the defined loop time range (start->end)'. I also understand the limitations imposed by a standard that's almost as old as I am. My suggestion works within these limitations to provide a truer representation of the looped ranges audio content while looping. I acknowledge that a true representation is impossible given the limitations but a truer representation must surely be legitimate goal & it's also one that is achievable given the solution I've proposed. And as far as I can tell this goal is exactly in line with the designed goals of the time offset functionality!
post edited by foldaway - January 08, 16 12:09 AM
|
stevec
Max Output Level: 0 dBFS
- Total Posts : 11546
- Joined: 11/4/2003
- Location: Parkesburg, PA
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 12:56 AM
(permalink)
The doc states that the MIDI data itself doesn't change, but the audible results do. But if the audible portion is outside the loop range because the Note On that triggers that audio is "considered" outside the loop range, then I don't know how to expect anything different. It almost sounds like you're looking for an "Ignore Timing Offset In Loop Mode" type function. Or... perhaps even better, the "MIDI Chase" feature request where MIDI is audible if playback is initiated anywhere during a note's duration regardless of the Note On position.
SteveC https://soundcloud.com/steve-cocchi http://www.soundclick.com/bands/pagemusic.cfm?bandID=39163 SONAR Platinum x64, Intel Q9300 (2.5Ghz), Asus P5N-D, Win7 x64 SP1, 8GB RAM, 1TB internal + ESATA + USB Backup HDDs, ATI Radeon HD5450 1GB RAM + dual ViewSonic VA2431wm Monitors; Focusrite 18i6 (ASIO); Komplete 9, Melodyne Studio 4, Ozone 7 Advanced, Rapture Pro, GPO5, Valhalla Plate, MJUC comp, MDynamic EQ, lots of other freebie VST plugins, synths and Kontakt libraries
|
Karyn
Ma-Ma
- Total Posts : 9200
- Joined: 1/30/2009
- Location: Lincoln, England.
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 1:08 PM
(permalink)
The example I gave was deliberately extreme, but it works exactly the same for a held piano chord that starts just 1 clock tick before the loop point and ends either during or after the loop end. Regardless of any timing offsets. If the Midi Note On message is not within the playback range of the loop, the sound will not be heard. There is no way around it, that's how midi works.
Mekashi Futo. Get 10% off all Waves plugins.Current DAW. i7-950, Gigabyte EX58-UD5, 12Gb RAM, 1Tb SSD, 2x2Tb HDD, nVidia GTX 260, Antec 1000W psu, Win7 64bit, Studio 192, Digimax FS, KRK RP8G2, Sonar Platinum
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 2:24 PM
(permalink)
@stevec Given that the events times are calculated in a non-destructive fashion. I would expect an event + time offset within a loop range, to be ...looped around within that range. Obviously, this expectation is down to my take of what a loop is! & what I use looped playback for. The MIDI chase feature is more of a sledgehammer type solution to the problem, whearas I'm suggesting a scalpel that can only be used in 1 particular usage case. If this required a new function / option name, something like 'Enable loop playback operation as simulation of consecutive duplicates', might work? If you can think of a more clear / more descriptive description, I'm sure it would probably help move the conversation forward. @Karyn Your example simply does not apply to the situation I am describing. I am highlighting a very particular situation where this particular shortcoming (/limitation) of the aging midi standard can be avoided, bringing with it the benefits I have previously stated. So, in this particular & very specific situation, there is indeed 'a way around it'. Which also obeys all the laws of 'how midi works'. This is why I originally thought that this could have been a bug or oversight, given all the benefits it gives! Call it a missed opportunity or feature request if you'd prefer. Whatever frame would allow the conversation to continue past it's current apparent impass. I'm sure we all understand how the operation is currently working & there is no need to restate it repeatedly. I am attempting to discuss potential changes in operation that will bring benefits when working with midi in Sonar. At this point it might be more useful to discuss the merits or otherwise of what I'm suggesting.
post edited by foldaway - January 08, 16 2:41 PM
|
brundlefly
Max Output Level: 0 dBFS
- Total Posts : 14250
- Joined: 9/14/2007
- Location: Manitou Spgs, Colorado
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 2:31 PM
(permalink)
I think this discussion has gotten a little off track. This isn't about re-triggering (a.k.a. "chasing") MIDI when playback starts between the Note On and Off. In the OP's case, the Note On is in fact inside the loop as written. It's only falling outside the loop because a non-destructive offset is being applied. What he's wanting isn't to have the note re-triggered at the start of the loop, but to have Offset event 'wrap around' within the loop instead of being offset in a strictly linear, sequential way. But the bottom line is that what the OP desires for the interaction of Looping and Time Offset is a new feature and needs to be submitted in the Feature Request forum. It's currently working as designed, and does not belong here in Problem Reports.
post edited by brundlefly - January 08, 16 2:44 PM
SONAR Platinum x64, 2x MOTU 2408/PCIe-424 (24-bit, 48kHz) Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
|
Adq
Max Output Level: -82 dBFS
- Total Posts : 426
- Joined: 1/21/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 08, 16 8:44 PM
(permalink)
☄ Helpfulby John Bradley September 24, 16 12:10 AM
I often face this very real problem, because I use something about -6 offset to compensate midi latency when using hardware synths. The rough solution would be to implement absolutely essential function of playing midi notes that start earlier than playback: http://forum.cakewalk.com/A-feature-for-those-that-write-string-arrangements-MIDI-note-chase-m3100396.aspxMore clever solution would take into consideration that midi offeset is not been using just to move midi notes, but to compensate latencies as well. And in this case these notes, that start within the loop, but are offseted before the loop, should be really played prerolled before loop plays.
|
foldaway
Max Output Level: -90 dBFS
- Total Posts : 48
- Joined: 8/25/2015
- Status: offline
Re: CWBRN-43864 : Looped playback with negative Time offset in MIDI track problem
January 10, 16 8:11 PM
(permalink)
I have created a feature request for this which can be found here@Adq: I've also incorporated your suggestion. Makes perfect sense to me!
|