Logic Pro Experiencing random behavior of Sampler instrument articulations when controlling via MIDI

DouglasScott

Logician
Logic version
11
Mac OS
Ventura
I am making use of about a dozen shipping Sampler instruments for a chamber orchestra project and I am having the same problems with all, so I'll pick one as an example: Flute Solo+. I have attached an Articulation Set which (initially) auto-generated itself to contain the two articulations, Legato and Staccato, IDs 1 and 2 respectively. In the Switches panel, I have Type=Note On, Selector=C0 for Legato, Type=Note On, Selector=D0 for Staccato. MIDI Remote is enabled. So this instrument should switch articulations when I send C0 and D0 note-on selector events prior to sending sounding events.

I have a custom MIDI generating system which sends those selectors as very short notes just before each actual note which requires an articulation change. Now, sometimes when I record this MIDI into Logic, the articulations correctly change AND the low C0 and D0 events are not recorded into the track. Other times, with seemingly no change, it's the reverse and no articulation assignment happens and the note events are simply recorded into the track.

It is clear from experimentation that when the mechanism works correctly, Logic does not treat any note listed as a selector as a MIDI event.

Do you have any sense of what hidden variable(s) may be causing these on-again, off-again behaviors? When it works it is glorious! When it does not, it seems to happen on all tracks which use C0/D0 events. Not only that, but for Articulations which are triggered via Mod Wheel events, the same issues occur. If I use the non-plus, non-articulation older versions of these instruments, which respond directly on ModWheel events, the same issues occur.

I have verified via external MIDI monitors that the selector events are all being sent, all the time, and that their timestamps always precede those of the actual notes. Are there undocumented, subtle time dependencies? Event duration requirements? Any other suggestions?

Thanks.
 
Solution
SOLUTION
OK, I figured this out, at least in terms of what to not do:

If you send a note-on selector to an instrument whose Articulation set does not support it, it stops the instrument from responding from that point on until you re-open the project.

Example: Oboe Solo+ supports C0, D0, and D#0 for legato, staccato, and vibrato, respectively. Flute Solo+ supports only C0 and D0. If you send D#0 to the Flute, it will no longer respond to any selector. This may not be true with live keyboard recording, but it is when the MIDI is being generated by an external sequencer.
I have more information: After running some tests, it appears that external C0/D0 MIDI control will generate the articulation changes in Logic during the very first time I record MIDI into the instruments' tracks. If I undo the record (or delete the new track content), and re-record, all articulation control via MIDI is ignored. This resets if I close the project and re-open it. What state is being modified which causes this?

Please, this is making it impossible to work on my current project. Any suggestions or things to try would help.
 
Upvote 0
SOLUTION
OK, I figured this out, at least in terms of what to not do:

If you send a note-on selector to an instrument whose Articulation set does not support it, it stops the instrument from responding from that point on until you re-open the project.

Example: Oboe Solo+ supports C0, D0, and D#0 for legato, staccato, and vibrato, respectively. Flute Solo+ supports only C0 and D0. If you send D#0 to the Flute, it will no longer respond to any selector. This may not be true with live keyboard recording, but it is when the MIDI is being generated by an external sequencer.
 
Upvote 0
Solution
Back
Top