First note of loop missing

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

Hi there! I'm a first time Tracktion user and I love the work flow in W10 but there's some weird bugs that are almost deal breakers.

1. When playing back in loop mode it always seems to drop the first note of a MIDI clip when it falls on 1:0:0.

2. Also is there no MIDI event viewer? I'd love to see the actual start time of my notes. And when importing a MIDI file I'd like to be able to check for rogue channel changes and sysex messages and get rid of them.

Thank you.
GLHF! (Gandalf Lives, Hobbits Forever!)

Post

I have that bug as well and I can't remember the exact fix but try deleting the track altogether and insert a new midi clip. I believe it happens with collective and certain instruments. Delay seems to be an issue as well that causes this. Also restarting the software will fix it probably

Post

Dropping first notes is a bug with some synth plugins that don't behave well when there is a MIDI all-notes-off message (which we send on the first block of a loop) followed by note on events.

UNfortunately there currently is no MIDI event viewer but you can see MIDI note starts times by selecting notes and looking in the Actions side panel or bottom properties panel. You can see other types of CC messages from the "Control" lanes of the MIDI editor. From the menu, any item that contains events of these kind will be shown with green text so you should be able to see at a glance what it contains.

Post

Thank you for the prompt reply! It's great to see such engagement from the developer in the forum here.

This seems to happen with more VSTi than not. Maybe we could get a option that disables the all notes off message for MIDI loops? You wouldn't have to put it in the menu or anything. As long as there was some flag in the configs file that could be edited. Ideally it'd be per plugin, but globally would work too (understand that this could lead to additional layered notes if they don't end within the loop boundary).
GLHF! (Gandalf Lives, Hobbits Forever!)

Post

DrApostropheX wrote: Mon Mar 11, 2019 12:17 pm (understand that this could lead to additional layered notes if they don't end within the loop boundary).
Not if the software keeps track of which notes it turned on then simply sends the corresponding off messages.

Otherwise, the notes could potentially drone on indefinitely - not just overlapping for a time.

Post

The problem is that this might lead to stuck notes.
There's no reason in the MIDI spec that you can't send an all-notes-off message followed by note-ons at the same time interval.

I don't think it's most VSTi that exhibit this, in my experience I'd guess at around 10-20% of them but if you happen to use one of these you'll obviously get tons of missed notes.

Adding a setting for this is an idea though. It might be that it solves more than it breaks (in terms of stuck notes). It's just difficult to test without trying hundreds of synths.

Post

dRowAudio wrote: Mon Mar 11, 2019 12:25 pm The problem is that this might lead to stuck notes.
There's no reason in the MIDI spec that you can't send an all-notes-off message followed by note-ons at the same time interval.
If you are keeping track of your ON messages and send the corresponding individual OFF messages in place of the ALL NOTES OFF they shouldn't get stuck. If they do then that is simply a different bug.
It's just difficult to test without trying hundreds of synths.
If you see this as a concern, suggest holding it for the next public beta and putting out a request to get the beta testers to help with this - then you can distribute the testing across users with a varied collection of synths.

Post

All-notes-off messages may have a different meaning to synths though. They can use it to reset delays, reverbs, LFOs etc.
Plugins should be able to deal with this.

In an ideal world that would be great but in our experience the ratio of users beta testing (both private and public) is so different that we don't get an accurate representation of the plugins in the industry. When I've asked about this on here before I was only able to get the name of a single plugin (SampleTank 3) that exhibited the behaviour. At least if I had a few more I could test removing the all-notes-off message did indeed fix the problem.

Post

This happens with external synths too. The Nord Modular G2 is one.
And also, if the last note extends to the end of the loop, it will hang.
This really needs attention.

Post

Oddly enough, I am experiencing the issue with SampleTank 3. But also IK Multimedia's MODO BASS. So maybe it's just an IK Multimedia issue. I'd love to help you test, though!

EDIT: Oh, and in AAS's Strum GS-2. It also drops the first note when it falls on 1:0:0.
GLHF! (Gandalf Lives, Hobbits Forever!)

Post

I think that this is a Waveform bug, not a synth bug. If I watch a MIDI monitor when looping a clip, it's basically random whether the note is sent *before* the All Notes Off command or after it. Each block of 4 entries in the attached image is the start of a loop cycle.
You do not have the required permissions to view the files attached to this post.
i9-10980HK. Windows 10 (21H2). Komplete Audio 6. Studio One 5.4.1.

Post

fromwithin wrote: Mon Mar 11, 2019 5:29 pm If I watch a MIDI monitor when looping a clip, it's basically random whether the note is sent *before* the All Notes Off command or after it.
I was starting to wonder if it might be something like that, but then I find it kind of surprising that any synths work... unless there are some that ignore the "all notes off" (as is perfectly valid based on the MIDI standards, but would be unusual).

Post

Are you sure that's just not a problem with the MIDI event viewer you're using?

I've looked at the code for a bit (https://github.com/Tracktion/tracktion_ ... .cpp#L1047)
and we add the allNotesOff message to midiBuffer on line 1074 (which is what gets sent to the plugin) before adding the MIDI notes on line 1092.

It seems to me that the all-notes-off should always happen first, unless the synth is ignoring the order of the buffer and going purely on sample position and getting a random order because they're all at time 0?

Post

dRowAudio wrote: Mon Mar 11, 2019 5:56 pm It seems to me that the all-notes-off should always happen first, unless the synth is ignoring the order of the buffer and going purely on sample position and getting a random order because they're all at time 0?
The synth, or one of the intermediate libraries (JUCE or the underlying OS perhaps)? The MIDI monitor being used would otherwise need to have the same issue, and that seems less likely, though not impossible - perhaps events of different types are being buffered separately for some reason then merged back together on output based on timestamp?

If it turns out to be something like that (whether a library or the synth), how unreasonable to advance the time on the note events by some fraction of a second - the bare minimum needed to place them at a point in time after the "all notes off" and "all controllers off" messages - when restarting the loop?

Post

It could be something like that. Especially if this is going through the VST3 layer.

Do you have a free synth that isn't sample based that always exhibits this behaviour that I could try (on the Mac preferably). I need a solid test case before I can start playing around with things to see what it might be.

I need something that's lightweight and easy to install/setup for test cases.

Post Reply

Return to “Tracktion”