A technical support community for Apple Logic Pro users.

 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Way to override MIDI noteOn between tracks/channels?

Wed Jul 29, 2020 12:38 am

I'm new here, so hi!

I have been working on a polymetric drum machine for a while, a free web-based version of which is here: https://heydon.github.io/beadz-drum-machine/.

Because it lets you loop individual tracks at different rates (hence polymetric) it has a feature where you can block out / cancel / override one track's sound with another's. For example, I can make sure that, where a snare and kick sound coincide, the snare overrides / mutes the kick. Can make it sound much like a real, improvising drummer this way.

I wanted to recrete this feature in Logic Pro X, but am having trouble. I thought noise/midi gates would help, but they are for blocking sound, not overriding events. I also looked into midi scripting, since I can write JavaScript. This doesn't seem to let me control one track's/channel's events based on anothers. I THINK what I need is something that can tell where 2 midi noteOns across two tracks/channels coincide and remove one track's from the queue (if there is such a concept!)

Thanks for the help, and if there's interest I can post a link to a free version of the desktop/macOS version of that drum machine. It has a lot more features.

Thanks again, cheers.
 
User avatar
Atlas007
Posts: 8885
Joined: Mon Dec 14, 2009 11:58 pm
Location: Montreal

Re: Way to override MIDI noteOn between tracks/channels?

Thu Jul 30, 2020 5:53 am

Not able to verify same (not at the studio presently) but IIRW using connecting the margin dots between lanes in the Step Editor could achieve what you describe...
LogicX 10.5.1 ( & 9.1.8),MainStage3.4.4
MBPro 17", Core2Duo, 8G, OSX 10.12.6
MacPro, Xeon 6Cores, 64GB, OSX 10.15.5
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII
AAS, NI, Celemony, Spectrasonics, Korg, etc...
PC, iPad3(V-Control & LogicRemote), AtariST(Notator SL), Several vintage gear
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Thu Jul 30, 2020 6:20 am

Thank you for the tip, @Atlas007. Do you mean the step editor or the step sequencer? I did wonder if I could do this with the step sequencer, but I'm not familiar at all. If you have any more detail/context that would be amazing. Thanks again.
 
User avatar
Atlas007
Posts: 8885
Joined: Mon Dec 14, 2009 11:58 pm
Location: Montreal

Re: Way to override MIDI noteOn between tracks/channels?

Thu Jul 30, 2020 10:18 pm

heydon wrote:
Do you mean the step editor or the step sequencer?
I did wonder if I could do this with the step sequencer, but I'm not familiar at all.
There is apparently no such feature per say in the Step Sequencer. I was referring to the Step Editor's high hat group feature.
OTOH, I think that the Sampler has a similar feature (see Exclusive Class in user's manual p.421), which also acts the way you describe.

heydon wrote:
...
I also looked into midi scripting, since I can write JavaScript. This doesn't seem to let me control one track's/channel's events based on anothers.
...

If you wish to actuate many virtual instrument plugins (from different tracks) at once with a single Scripter MIDI Fx, you could use an IAC loop. (Providing that you enable same in the Audio MIDI Setup app).
Use a software instrument channelstrip (onto which you have instantiated your Scripter MIDI FX).
On that same channelstrip, instantiate an External MIDI instrument, and set the latter's MIDI Destination to an IAC bus.
In the Environment, connect the object Physical Input's IAC's prong to the channelstrip's objects you wish to be actuated by your Scripter MIDI Fx. You will probably need to use a Monitor object to mult the connectors to the various channelstrip objects.

Using an IAC loop isn't mandatory if you don't need to record the Scripter MIDI Fx output.
LogicX 10.5.1 ( & 9.1.8),MainStage3.4.4
MBPro 17", Core2Duo, 8G, OSX 10.12.6
MacPro, Xeon 6Cores, 64GB, OSX 10.15.5
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII
AAS, NI, Celemony, Spectrasonics, Korg, etc...
PC, iPad3(V-Control & LogicRemote), AtariST(Notator SL), Several vintage gear
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Thu Jul 30, 2020 11:16 pm

I'm glad you said IAC loop! I was just starting down that route. Thanks so much for the detail, will give it a shot.
 
User avatar
Atlas007
Posts: 8885
Joined: Mon Dec 14, 2009 11:58 pm
Location: Montreal

Re: Way to override MIDI noteOn between tracks/channels?

Thu Jul 30, 2020 11:17 pm

Could you keep us posted on how it went?
LogicX 10.5.1 ( & 9.1.8),MainStage3.4.4
MBPro 17", Core2Duo, 8G, OSX 10.12.6
MacPro, Xeon 6Cores, 64GB, OSX 10.15.5
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII
AAS, NI, Celemony, Spectrasonics, Korg, etc...
PC, iPad3(V-Control & LogicRemote), AtariST(Notator SL), Several vintage gear
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 3:45 am

Sure! Really appreciate the "sound board" (sorry, bad pun).

So far, I have got the external instrument all set up, controlling two separate midi tracks.

When I play a note on the external instrument track, both tracks it's connected with sound out. Great start!

I _think_ everything is the same as in this video (which goes step by step over the approach you were suggesting): https://www.youtube.com/watch?v=u5L5A4eJs8I.

BUT I can't seem to get MIDI effects/scripts (arpeggiator etc) to propogate to the controlled tracks from the external track as the video demonstrates.

Note sure where to go from there! Here's how things are starting to look:

Image
 
User avatar
cleamon
Posts: 216
Joined: Sun Jul 05, 2015 6:00 am

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 5:19 am

heydon wrote:
block out / cancel / override one track's sound with another's.
Thanks again, cheers.

I wonder if you could use a side chained effect to "duck out" one track when there's signal on the other? It's not midi, but the effect would be the same.
iMac 21.5 mid 2017 || 3.4Ghz i5 || 16gb || OS/X 10.14.6 || LP 10.5 || steinberg UR242 || Motu 828 MkII
 
User avatar
Atlas007
Posts: 8885
Joined: Mon Dec 14, 2009 11:58 pm
Location: Montreal

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 6:38 am

Where did you instantiate your MIDI Fx plugin?
It should be on the External Instrument channelstrip.
And that channelstrip must be fed with some notes for the arpegiator to actuate your (Ultrabeat) plugins.
Either that or the Scripter MIDI Fx must by itself emit the note events.
That works fine over here.
Although, over here, I established the connection from the IAC prong (instead of the Sum one).
And both of my destination virtual instruments channelstrips are into a summing stack.
Anyhow, I don't think that should make a significant difference.
OTOH, I notice that your Physical Input object only has two prong connectors (Sum and IAC bus). Don't you have any other MIDI devices/controllers connected? Did you create a new Physical Input object instead of using the one already located in the Click and Ports layer?
LogicX 10.5.1 ( & 9.1.8),MainStage3.4.4
MBPro 17", Core2Duo, 8G, OSX 10.12.6
MacPro, Xeon 6Cores, 64GB, OSX 10.15.5
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII
AAS, NI, Celemony, Spectrasonics, Korg, etc...
PC, iPad3(V-Control & LogicRemote), AtariST(Notator SL), Several vintage gear
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 8:27 am

@cleamon Thanks, but I tried that. The trouble is, some notes or sounds have longer tails and they emerge after the "blocking" note (the length of which I wouldn't know ahead of time) finishes.
 
User avatar
fuzzfilth
Posts: 3685
Joined: Mon Aug 03, 2009 2:31 am
Location: Germany

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 8:38 am

You could just use a Voice Limiter set to polyphony 1 and either top or bottom note priority, like this:
Bildschirmfoto 2020-07-31 um 17.38.52.png
Bildschirmfoto 2020-07-31 um 17.38.52.png (48.42 KiB) Viewed 313 times

or Exclusive Groups in the Sampler, like Atlas mentioned. All of these, as well as the Scripter approach will only work in playback, as you can't perform & record two MIDI notes at the exact same time, so you'd always have the attack phases of both quasi-simulteneous sounds.
Christian Obermaier
Contact me for private Logic Consulting, Training, Troubleshooting via Skype, Zoom or Teamviewer

1 x MacPro 6core 2010 24Gb RAM
2 x MacBookPro i7 2012 16Gb RAM
OSX.14.6. Mojave, Logic X.4.4 & 5.1
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 3:29 pm

@fuzzfilth Any way to get that to work between tracks? So a note played on one track cancels any (of the exact time) on another?
 
User avatar
fuzzfilth
Posts: 3685
Joined: Mon Aug 03, 2009 2:31 am
Location: Germany

Re: Way to override MIDI noteOn between tracks/channels?

Fri Jul 31, 2020 3:50 pm

Bildschirmfoto 2020-08-01 um 00.49.45.png
Bildschirmfoto 2020-08-01 um 00.49.45.png (164.81 KiB) Viewed 264 times
Christian Obermaier
Contact me for private Logic Consulting, Training, Troubleshooting via Skype, Zoom or Teamviewer

1 x MacPro 6core 2010 24Gb RAM
2 x MacBookPro i7 2012 16Gb RAM
OSX.14.6. Mojave, Logic X.4.4 & 5.1
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Sat Aug 01, 2020 12:56 am

Okay @fuzzfilth and @Atlas007, I will take all of these clues and try to get something working. I'm new to MIDI routing so it might take a while, but I will report back!
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Sun Aug 02, 2020 2:05 am

Okay, I think @fuzzfilth's approach is the closest so far to what I need. But I'm still not quite there yet.

I set something up to mimic the screenshot (thanks!) but with just two synths. This is what it looks like:

Image

I think, despite being labeled "MIDI Instrument A" and "MIDI Instrument B" @fuzzfilth is using multi-instruments?

Anyway, I am now able to limit/block notes across different instruments. That is, in the following picture, the second note of the first instrument does not sound. Yay!

Image

Trouble is, they map to the same synth (labeled "Basic") so have the same sound. If I switch to channel 2, the same effect happens, but with the "Chime" synth:

Image

I guess this is because of the channel splitter, which seems to be working against me here? Because what I want to be able to do is use one synth to override another, so a Chime sound can override a Basic sound, or vice versa. In the following picture, there is no limiting/override. One synth just plays over the other as you'd expect under normal circumstances:

Image

Makes sense, I guess (I dunno, I'm new :? ) because they're now considered the same instrument. Same thing happens with separate instruments and channels, though:

Image

So, I'm probably missing something obvious (thanks for the patience) but is there not a way to do the limiting across different actual voices/synths?
 
User avatar
fuzzfilth
Posts: 3685
Joined: Mon Aug 03, 2009 2:31 am
Location: Germany

Re: Way to override MIDI noteOn between tracks/channels?

Sun Aug 02, 2020 5:14 am

To be frank, if the requirements for this patch's abilities are ever expanding, I'd rather throw all required sounds into one instance of Sampler and use the Groups Exclusive feature there. This gives you 128 different sounds right off the bat which should suffice to emulate linear drum fills.
Christian Obermaier
Contact me for private Logic Consulting, Training, Troubleshooting via Skype, Zoom or Teamviewer

1 x MacPro 6core 2010 24Gb RAM
2 x MacBookPro i7 2012 16Gb RAM
OSX.14.6. Mojave, Logic X.4.4 & 5.1
 
User avatar
Atlas007
Posts: 8885
Joined: Mon Dec 14, 2009 11:58 pm
Location: Montreal

Re: Way to override MIDI noteOn between tracks/channels?

Sun Aug 02, 2020 6:19 am

BTW, have you tried porting your web base Beadz quantum polymetric drum machine into the scripter?
LogicX 10.5.1 ( & 9.1.8),MainStage3.4.4
MBPro 17", Core2Duo, 8G, OSX 10.12.6
MacPro, Xeon 6Cores, 64GB, OSX 10.15.5
ULN8, MOTU MIDI TP-AV, C4, MCU Pro, KorgNano, Novation SLMkII
AAS, NI, Celemony, Spectrasonics, Korg, etc...
PC, iPad3(V-Control & LogicRemote), AtariST(Notator SL), Several vintage gear
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Sun Aug 02, 2020 11:45 am

@Atlas007 I have been using the scripter to emulate discrete features of Beadz, yeah! It already has a probability "gate" built in, and I wrote something to fluctuate the velocity the way I wanted to humanize it more.

The only thing I still can't work out is this "one instrument voice limiting another instrument" thing. I feel like it's nearly there, and I appreciate your and @fuzzfilth's help.

To be clear, @fuzzfilth, there has only ever been that one requirement, but maybe I haven't been articulating it well enough, because I'm not clear on the terminology. My bad! I don't think the sampler thing would work, because I want to create polymetric sequences and I'm not sure it would allow that. But I could be wrong!
 
User avatar
fuzzfilth
Posts: 3685
Joined: Mon Aug 03, 2009 2:31 am
Location: Germany

Re: Way to override MIDI noteOn between tracks/channels?

Sun Aug 02, 2020 11:49 am

If you have 15 drum sounds, you could put them all into Sampler, set up your Exclusive Groups to restrict polyphony, and then feed that from as many tracks as you like. In Logic, many Tracks (with different loops) can feed one Channel (Instrument).

That's certainly 100 times easier than rigging up elaborate patches in the Environment and with IAC, both of which I usually won't fear to suggest as anyone round here will confirm.
Christian Obermaier
Contact me for private Logic Consulting, Training, Troubleshooting via Skype, Zoom or Teamviewer

1 x MacPro 6core 2010 24Gb RAM
2 x MacBookPro i7 2012 16Gb RAM
OSX.14.6. Mojave, Logic X.4.4 & 5.1
 
heydon
Topic Author
Posts: 11
Joined: Wed Jul 29, 2020 12:18 am
Contact:

Re: Way to override MIDI noteOn between tracks/channels?

Mon Aug 03, 2020 12:34 am

@fuzzfilth Okay! But I can't route any arbitrary MIDI track through the sampler, right? I could only use what the sampler allows (sampled sounds). This sounds like it would at least partially solve the problem though.

I don't mind using the environment if it solves the problem as originally posed. Is it possible to do what I was trying in viewtopic.php?f=1&t=150918&view=unread&sid=d2755eec1f39c010b081f7fffdcd7892#p790097? To just voice limit across any tracks/sounds? It seems like, if anyone would know here, it'd be you. It would be much more powerful this way, because I can just do it with any instrument.