Logic: Convert MIDI to Pattern from XLN's XO very lossy

Audio Plugin Hosts and other audio software applications discussion
RELATED
PRODUCTS

Post

I've been using XLN Audio's excellent XO drum plugin lately in Logic. It's fantastic for coming up with unique kits made from every sample in your library and creating short, custom drum patterns.

That said, using it in a song is a bit of a chore, because the step sequencer gives you a maximum of 2 bars of content and there's no way to save several versions of the pattern in a single preset. When I write a song, I would need many variants of the core pattern that evolve and build with the song.

XO allows you to drag-drop the MIDI of the drum pattern right into the host, which is great. You can just turn off host sync and let the exported MIDI drive the plugin. But of course, editing a drum pattern as MIDI once it's dropped is extremely suboptimal.

I figured I'd simply use Logic's "Convert MIDI Region to Pattern" function to then use Logic's very deep pattern editor to modify the core patten throughout the song. However, upon trying this with one of XO's stock patterns, I got a warning that not all MIDI data could be converted to the pattern.

"Hmmm," I think, "let me convert the pattern region back to MIDI and compare it with the original MIDI generated by XO to see what I lost"

The answer? A lot. It wasn't just nuance that was removed - almost 20% of the MIDI note-on events were completely dropped and velocities of those that did get converted were changed in the round trip of MIDI -> Pattern -> MIDI. (I'm sure more was lost, but at that point it just made trying to use the pattern sequencer pointless. The beat was kind of ruined.

So, bummer. I'm not certain what causes items to not get converted to a pattern. It seemed like repeats were lost despite the fact that the step sequencer supports them. I'm not sure why velocities were changed. It would be awesome if you could import drum sequences directly as fully-realized patterns.

Post

Step sequencer resolution.

You mentioned repeats - it would be great if the step sequencer could recognize repeats in the midi and translate it to repeats in the pattern but it can’t (at least not yet). Because of this your overall resolution will drop and you can’t capture all notes. It’s the nature of the beast.

Not sure why velocity is dropping though, that should convert. Maybe a bug.

Post

Even if it can’t detect repeats, it could change the step size to the shortest note length (or, rather, to set the step size equal to the smallest time between note on messages in the MIDI) in the midi region. Sigh.

Post

lightsfadelow wrote: Thu Jan 19, 2023 2:29 am I've been using XLN Audio's excellent XO drum plugin lately in Logic. It's fantastic for coming up with unique kits made from every sample in your library and creating short, custom drum patterns.

That said, using it in a song is a bit of a chore, because the step sequencer gives you a maximum of 2 bars of content and there's no way to save several versions of the pattern in a single preset. When I write a song, I would need many variants of the core pattern that evolve and build with the song.
Use the Logic Step Sequencer right from the start to sequence XO

Post

pdxindy wrote: Thu Jan 19, 2023 7:47 pm Use the Logic Step Sequencer right from the start to sequence XO
Yea, I •could* do that, but I'd really like to be able to use the patterns that are in XO as a starting point.

Post

lightsfadelow wrote: Fri Jan 20, 2023 4:29 am
pdxindy wrote: Thu Jan 19, 2023 7:47 pm Use the Logic Step Sequencer right from the start to sequence XO
Yea, I •could* do that, but I'd really like to be able to use the patterns that are in XO as a starting point.
You still can (and I know you know this, so I'm not enlightening you), but you just have to focus on your modifications in Logic's sequencer once you convert - which means only using XO for the sample selection and patterns - but this way, you get the best of both worlds. I used to exclusively only use XO, but have lately been doing just this. Find your samples - which is quicker than Logic, get a pattern you like, drop the midi, convert it, then do all the magic that Logic actually does way better with more variety, in most instances, than XO. I like the simplicity of turning it into 32 or 64 steps and quickly making a few additions/subtractions to give it the uniqueness we look for that we're limited by in XO's short steps sequencer.

And if you get bored with XO's pattern choices, use Logic's, of which there are around 50 - although I do like how in XO you have the option to change a track at a time. But you still get to use XO's excellent sample selection.

Post

Bodhisan wrote: Sun Jan 22, 2023 1:08 pm You still can (and I know you know this, so I'm not enlightening you), but you just have to focus on your modifications in Logic's sequencer once you convert - which means only using XO for the sample selection and patterns - but this way, you get the best of both worlds. I used to exclusively only use XO, but have lately been doing just this. Find your samples - which is quicker than Logic, get a pattern you like, drop the midi, convert it, then do all the magic that Logic actually does way better with more variety, in most instances, than XO. I like the simplicity of turning it into 32 or 64 steps and quickly making a few additions/subtractions to give it the uniqueness we look for that we're limited by in XO's short steps sequencer.

And if you get bored with XO's pattern choices, use Logic's, of which there are around 50 - although I do like how in XO you have the option to change a track at a time. But you still get to use XO's excellent sample selection.
Ok... I am for sure confused.

So I attempted to do exactly what you said here:
Bodhisan wrote: Sun Jan 22, 2023 1:08 pm Find your samples - which is quicker than Logic, get a pattern you like, drop the midi, convert it, then do all the magic that Logic actually does way better with more variety, in most instances, than XO.
This is what prompted my post. Because when I drop the midi and then convert it to a pattern region, it loses about 1/3rd of the notes. Lots of the nuance of the beat is gone. Velocities are changed. Repeats / ghost notes are gone.
Bodhisan wrote: Sun Jan 22, 2023 1:08 pm although I do like how in XO you have the option to change a track at a time. But you still get to use XO's excellent sample selection.
What do you mean that you have the option to change one track at a time? I want to be sure I'm getting the most out of XO.

Post

My apologies, lightsfadelow. I'm bad at reading posts in depth (and emails, and conversations, and expressions). You explained, quite well, that you know exactly the depths of Logic's sequencer and that you wish to get the most out of XO by doing all of your editing inside, then using Logic to further tweak, as opposed to looking for a workaround. Your post wasn't looking for advice so much as it was an expression of frustration.

For me, in the end (or as of now), I paid $79 for XO just to use it as a sample tank. I do all of the editing of the pattern - velocity, tuning, gate, repeat, chance, etc., in Logic - and sometimes even create the pattern in Logic, and was suggesting you do the same - sorry! It tends to be human nature, or I should say my nature, to think we're doing it the way everyone else should be doing it.

One track at a time: I was referring to what I'm sure you already know - how in XO's beat combiner, you can change the pattern of each slot, as opposed to a global choice.

Here's to hoping that in the future, Logic will convert to pattern and save what you do in XO. :ud:

Post

lightsfadelow wrote: Mon Jan 23, 2023 5:25 am This is what prompted my post. Because when I drop the midi and then convert it to a pattern region, it loses about 1/3rd of the notes. Lots of the nuance of the beat is gone. Velocities are changed. Repeats / ghost notes are gone.
I am on Studio One (not Logic) and have not tried this move - converting XO midi to a Studio One pattern - but I suspect the loss will be the same - simply due to the fact that pattern work (at least in Studio One) is like programming an old school TR707 drum machine - every note is on beat, cannot drift or ghost or anything - due to the fact that there are 16 slots (in a default 1/16 note grid pattern)

This does not seem like a bug - it seems like Logic (and probably Studio One) are doing to best they can to jam that (possibly) complex midi series into a pattern. Loss is going to happen regardless what we do - these are two different beasts in terms of containers.

I will test this out and see where it goes in S1 later today.

Cheers!

VP

Post

Vocalpoint Studios wrote: Fri Feb 03, 2023 4:21 pm
I am on Studio One (not Logic) and have not tried this move - converting XO midi to a Studio One pattern - but I suspect the loss will be the same - simply due to the fact that pattern work (at least in Studio One) is like programming an old school TR707 drum machine - every note is on beat, cannot drift or ghost or anything - due to the fact that there are 16 slots (in a default 1/16 note grid pattern)
Actually, both Logic and S1 patterns are have delay parameter so they could drift notes out of grid.

Post

Serhii Kot wrote: Fri Feb 03, 2023 4:54 pmActually, both Logic and S1 patterns are have delay parameter so they could drift notes out of grid.
Interesting - but just because there is a delay parameter - does not mean it would automatically be applied when interpreting a conversion from midi to pattern.

Will need to study this a bit more.

VP

Post

Ok - I have been hacking away in XO for a good half hour now and no matter what I do or what sequence I cobble together within XO (supplied, from scratch, roll the dice ETC) - when I drag that MIDI from XO to Studio One 6 and convert part to pattern - all my tests sound identical.

Matter of fact - I haven't found any instance here where anything appears different, lost or lopped off in the conversion. And I can go back and forth on these as well.

Unless the OP is really building some crazy original stuff in XO that I am simply not capable of programming - for now - given the "better than beginner but probably not expert" riffs I am cooking up in XO - I am not seeing any issues within Studio One with this process at present.

Cheers!

VP

Post

The nature of the problem piqued my curiosity. So I created a simple test case using global groove, per-lane groove, nudge, ratcheting, and accenting. I could then export and see what MIDI events it generates.

It's bog-standard MIDI. Any timing offsets render as exact positions. Note-on and note-off are normal.

However, the length of the notes can be very short. It's possible the pattern conversion is not registering these as "full" hits. Can I suggest lengthening the notes to be at least 1/16th notes before conversion?

Post

Vocalpoint Studios wrote: Fri Feb 03, 2023 9:54 pm Ok - I have been hacking away in XO for a good half hour now and no matter what I do or what sequence I cobble together within XO (supplied, from scratch, roll the dice ETC) - when I drag that MIDI from XO to Studio One 6 and convert part to pattern - all my tests sound identical.

Matter of fact - I haven't found any instance here where anything appears different, lost or lopped off in the conversion. And I can go back and forth on these as well.

Unless the OP is really building some crazy original stuff in XO that I am simply not capable of programming - for now - given the "better than beginner but probably not expert" riffs I am cooking up in XO - I am not seeing any issues within Studio One with this process at present.

Cheers!

VP
I'm confused by this reply. Is what you're saying you don't repro my Logic issue of converting XO MIDI to patterns in Studio One? I'm unsure how that's relevant. It's great that you don't see any loss of notes in Studio One, but I fail to see how that's relevant in Logic.

For what it's worth, the way to verify this is to take a beat from XO and export the MIDI, convert to a pattern, then convert back to MIDI, select all of the notes in the region (which, in Logic anyway, tells you how many notes there are). In my case, doing so results in about 30% fewer notes.

Here's a repro:
1. New Instrument Track > XO
2. Open beat "Fermented Rivers"
3. Hit export button and drag MIDI onto the track that XO is inserted on
4. Double-click the region and note that Logic says there are 128 notes selected.
5. Back in the arranger window, duplicate the region
6. Ctrl-click and choose convert > convert to pattern region
7. Dismiss the dialog
8. Now ctrl-click the newly-created pattern region and choose convert > convert to MIDI region
9. Select the newly converted back to MIDI region and open the editor
10. In the editor of that new region see that there are 106 notes.

I can hear the dropped notes after step 6, which is why I investigated by following through with steps 7-10.

As you can see, 22 of the 128 notes were lost in the conversion to pattern.

Now your mileage in Studio One may vary... but again, I'm not sure that's going to help me ;-)
Last edited by lightsfadelow on Sat Feb 04, 2023 2:24 am, edited 1 time in total.

Post

yellowmix wrote: Fri Feb 03, 2023 10:32 pm The nature of the problem piqued my curiosity. So I created a simple test case using global groove, per-lane groove, nudge, ratcheting, and accenting. I could then export and see what MIDI events it generates.

It's bog-standard MIDI. Any timing offsets render as exact positions. Note-on and note-off are normal.

However, the length of the notes can be very short. It's possible the pattern conversion is not registering these as "full" hits. Can I suggest lengthening the notes to be at least 1/16th notes before conversion?
Hey YellowMix. Just tried this. Same issue - only 106 beats after conversion.

Then I tried doubling the length of the pattern and this was "better" in that it produced 123 of 128 notes - so only 5 notes lost instead of 22. But still lossy.

Post Reply

Return to “Hosts & Applications (Sequencers, DAWs, Audio Editors, etc.)”