Jump to content

SCRIPT: Channelizer


Recommended Posts

** I wrote this before I saw Dewdman's post above, so I don't know if this is still relevant, but it has some info his reply doesn't, so I'll post it anyway. Hope it helps! **

 

I'm not sure I fully understand what you're trying to do and I'll let Dewdman do the heavy lifting in his reply, but generally, I think this script does everything you want. I play a part in and everything is on MIDI channel 1. I can change articulations for any notes or phrases separately and the script takes care of all the channel changing for the notes and CC data. You will only see all of that data on one channel, so you see the entire arc of each CC in the automation lane for that particular CC no matter which articulation is selected. The whole process is very transparent and operates pretty much the same way as it does when you're using key switches for articulation changes rather than MIDI channels. The only strange problem I have is that when I first go to use an instrument, I sometimes don't hear any sound until I turn off Scripter and then turn it on again. After that, it seems to be fine, but it would be nice if this didn't happen since it can be confusing for a moment. Other than that, this is a great solution to working with articulations in Play. Thanks again to Dewdman!

Link to comment
Share on other sites

I haven't experienced the problem you're speaking about where you have to turn scripter on and off again. I'd like to get to the bottom of that though, please PM me and let's figure it out. I doubt its the script itself causing that, it might be preferences related though, i have a hunch. PM me though so you can give me info to try to replicate the problem here.
Link to comment
Share on other sites

Thanks Splunk for jumping in on the topic. Dewdman, i'm experiencing the same problem with needing turn off-on the Scripter. Not really a big deal but if you were getting ready to bounce right after you re-opened a session, it's the kind of thing you might not notice right away...til its too late

 

Otherwise, so far, perfect! Christmas in July

Link to comment
Share on other sites

Let's figure out why that is happening though..if I can fix it in script code I will. Just to be sure, please tell me if you are using in audio preferences the multithreading playback tracks mode or Playback and live mode...

 

Otherwise, I will try to see if I can replicate what you guys are experiencing

Link to comment
Share on other sites

so one thing about that setting, there is a weird bug in LogicPro, when you have it set to Playback tracks, then you load up a track and if you start to try to play notes on the visual keyboard of a plugin, for example, you will hear super big latency or perhaps nothing. Until you hit a few notes on your actual midi keyboard, then suddenly the channel is fully activated somehow and works as expected.

 

This does not happen if you use Playback and live mode, for whatever reason. (unless i Have that backwards, I can't remember now for sure)

 

and I notice that as you you switch from track to track, selecting different track headers, it always starts out fubar until some midi goes through first. its super annoying.

 

So i'm wondering if this is what you are guys are actually experiencing and its effecting scripter somehow. Please try it both ways with that setting and let me know for sure it still happens regardless of the preference setting.

Link to comment
Share on other sites

Dewdman, I just PM'd you, but I'm using Playback and Live Tracks for my Multithreading mode.

 

Buster, I just found out that starting the transport also wakes up all the scripter channels so they work in live mode. When I just select one of the channels before starting the transport, Play doesn't respond to my keyboard, but as soon as I hit the spacebar to start playback, all of my scripter channels respond to my playing after that. Even if none of the channels have any MIDI data on them, just starting playback seems to wake everything up. At least, that's what my experiments over the past half hour seem to indicate.

Link to comment
Share on other sites

Yes, there seems to be a problem. This is what I see before either toggling Scripter or starting playback. These error warnings disappear after that.

 

WARNING: articulationID [1] channelizing exceeds range of NaN channels

WARNING: Muting channel overlap

 

WARNING: -->[NoteOn port:1 channel:1 pitch:69 [A3] velocity:51 articulationID:1]

WARNING: articulationID [1] channelizing exceeds range of NaN channels

WARNING: Muting channel overlap

 

WARNING: -->[NoteOff port:1 channel:1 pitch:69 [A3] velocity:64 articulationID:1]

WARNING: articulationID [1] channelizing exceeds range of NaN channels

WARNING: Muting channel overlap

Link to comment
Share on other sites

1) confirmed that 3.2g still had the problem by quitting/restarting Logic. The problem persisted; needed a re-run of the script to activate tracks/articulations

2) installed the update, trashed the previous version, opened the scripter on all channels and selected updated version. verified that worked.

3) quit Logic and re-opened. Did NOT have to re-run script to activate. Worked exactly as expected

 

You're an ace!

Link to comment
Share on other sites

8-)

I've read and understood the instructions (i will un-channelize my sets, very easy), but the source channel/ports thing is a bit unclear. Do i need to increment the range with EACH track? Or is each track brand new (= source ch 1)? The latter would be easier. In my case, i'd never have to worry about range. Each track in the tracks area corresponds to only one instrument and that instrument's articulations. I don't go above 16, at least for now. I've tried and seen that LPX only writes real time CC to MIDI CH 1

 

Also, this means i have to instantiate this in Scripter in the MIDI FX dropdown on each track, right? Suggesting again that range overlap wouldn't be something i would need to worry about with my above described method and limits.

 

So here are some diagrams which might help you understand various different ways that Channelizer could potentially be used..Let me know if it doesn't make sense..

 

Single PLAY for each instrument.

 

in this example, each track feeds a single PLAY instance with up to 16 articulations. Articulation ID's 1-16 are used for both tracks.

 

singlePlay.jpg.0e5ec11d8eac5ba061396be2347361f5.jpg

 

Two tracks feeding two instruments in one PLAY instance

 

In this example, there are two orchestral instruments being hosted in the PLAY instance with up to 8 articulations each. Articulation ID's 1-8 are used for both tracks.

 

twoPlay.jpg.b219bb77140276573762eabe010c090b.jpg

 

VePro

 

In this example, multiple tracks are feeding a single VePro plugin which connects to a VePro server that is capable of up to 768 midi channels on 48 ports. In this example there are 4 tracks with up to 8 articulations each... Its using 2 midi ports in VePro to handle up to 8 articulations per instrument. Articulation ID's 1-8 are used for all tracks.

 

vepro.jpg.5e9783522ced220cc547fbac0be6ef84.jpg

Edited by Dewdman42
Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
  • 1 month later...

hi,

I'm new here, just discovered your forum.

And I think I found exactly what I am searching for since several days.

As you mention in post #44, I work with Art Conductor fora Articulations, but articulations are only transmitted to Vienna Ensemble Pro on Port I.

So with this Channelizer, will all the articulations transmitted on all ports ?

Thanks ,

Best regards,

Eric

Link to comment
Share on other sites

  • 4 months later...

I'm probably missing something rather obvious, but I can't figure it out. I'll post a few screenshots to see if we can do some troubleshooting.

 

So, here is the instance of Play I created, with several patches loaded:

Play.thumb.jpg.368def94c9cea002289a49a3be09b32b.jpg

 

Here are my settings for the Articulation set in that track:

Articulations.thumb.jpg.8e16db62a351ff4e5aa6256ef9ee8b13.jpg

548265747_Articulationswitches.thumb.jpg.5ad3cafa8a81b5d97564d99374a29831.jpg

801845306_Articulationoutputs.thumb.jpg.8ed83b742d105e2355238634641ea4f1.jpg

 

I loaded Scripter as a MIDI FX on the track and ran your script, this is what the window looks like:

Scripter.thumb.jpg.26967a779e2410400a85c195eacaebf5.jpg

 

And lastly, the MIDI editor with notes that have different articulations assigned to them, but the problem is that they all sound the same, the articulations are not being read:

493761286_Noteswithdifferentarticulations.thumb.jpg.154b32c6789a2b96b4b2830b4e895ae4.jpg

Link to comment
Share on other sites

Here's another little tip for debugging stuff like this....

 

I have another Scripter script available which is a Midi Monitor and it displays more information then you typically get with most midi monitors. It runs in scripter, so you can put it after Channelizer and then you can see exactly how the data is being channelized, before it goes to PLAY.

 

Find out info about MidiMonitor here: viewtopic.php?f=45&t=139579

Link to comment
Share on other sites

Everything else looks fine, except if you're going to use the midi remote input switches, then make sure you click on the MIDI REMOTE button in the top right..it will stay lit to show you have MIDI REMOTE mode engaged, otherwise it doesn't work.

 

And yes...assign each PLAY instrument to the particular midi channel you expect it will be listening to. OMNI means each of them plays all midi channels...so basically whatever Channelizer is sending, they are all playing, I suspect if you play it right now, in OMNI mode you should see some little light blink on all the instruments for every note. So anyway, yea configure each one to listen to the midi channel you are expecting channelizer to use based on the articulationID. Channel 1 for artid 1, channel2 for artid2, etc..

Link to comment
Share on other sites

That is so that if you want while you are recording your midi tracks, you can use whatever switches you want to use there to switch how articulationID will be assigned to each note as you play it. That way you can kind of switch the encoding articulationID on the fly as you're playing your midi keyboard. Once its in the track, then those switches aren't used anymore... Normally the output section determines whether to send the actual instrument keyswitches or not...or to channelize notes...but in order to use Channelizer you have to leave the OUTPUT section blank and let channelizer do the channelizing.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...