Jump to content

Transformer & Bank Select


Scotty Ferguson

Recommended Posts

Hi,

 

I have a transformer object which transforms Program Change events to Note On messages, for keyswitching. Works flawlessly. I'd like to be able to choose *different* notes (pitches) when switching program *banks*, e.g. on Bank 0, have Program 0 to 2 play C, D, E while on Bank 1 have the same Programs play F, G, A. Changing the Data Byte 1 parameter from 0 to 1 doesn't seem to have any effect. Is this even possible ?

 

Thanks.

Link to comment
Share on other sites

Scotty,

With all due respect, your post doesn't make much sense. What are you changing banks in? Synth? Sampler?

 

Not sure how converting a program change to note-ons would give you keyswitching. Unless the synth needs to see note messages to perform the keyswitching and can't use program changes? If we knew what device or softsynth you were controlling, that would be a big help! :)

Link to comment
Share on other sites

OK, my bad, let me start over.

 

I have a Logic environment which has been working flawlessly so far. I'm controlling Vienna Symphonic Library virtual instruments which are loaded in Vienna Ensemble Pro through the AU plugin loaded in a Logic Software Instrument. I'm not using the Software Instrument directly in Logic. Rather, I have a Multi-Instrument connected to it and I use that in the arrange instead.

 

Now, the VSL instruments use keyswitching for selecting articulations (staccato, sforzato, legato etc). To avoid having stray notes in my MIDI parts, which are a hassle when transposing, printing scores etc, I use Program Change messages which can be easily seen as special events both in the arrange window and the event list.

 

The PC messages are changed into keyswitches with a very simple Transformer object which sits between the Multi-Instrument and the Software Instrument:

 

Status : Program > Fix : Note

Channel : All > Thru

Data Byte 1 : All > Operation gets its input from Data Byte 2

Data Byte 2 : Inside 3-19 > Fix : 127 & Also goes to Data Byte 1 : Use Map

 

This transforms PC messages into Note-On events with velocity 127 according to a very simple custom value map. I limit the PC to between 3 and 19 because other values are used for other instruments and it's too long to explain here... Anyway, the above has been working fine for a long time. I've renamed the Multi-Instrument's MIDI program list with the articulations' names, and it has become magically easy to choose and edit complex articulations.

 

The problem:

 

All VSL instruments use the same keyswitches (starting with C1) but a couple of very low-register instruments (such as the contra-bassoon) have their keyswitches starting at C6. I don't want to modify this behavior. Also, I'd rather not use the regular program change list (like I said, values above 19 are used for other things), so I tried to figure out how to use the bank change parameter, which I've never used before. The idea would be to select Bank 1 instead of Bank 0 for those few special instruments, and then have an articulations list at my disposal which would then be transformed like the regular instruments (the patches can be named, too : instead of the usual "No Bank specified. Names of Bank 0 Used" in the program name editor you can select any of 14 different banks).

 

But, I don't know how to make the Transformer object figure out that the program change is from another bank. I'm not sure how those message are handled by Logic. In a monitor object I see Control 32 appearing when I change banks, but I thought a PC event always carried a bank with it, or am I wrong?

 

You asked for the detailed version, you have it now :) I hope it's clearer.

 

Thanks for any enlightenment.

Link to comment
Share on other sites

But, I don't know how to make the Transformer object figure out that the program change is from another bank.

 

You can't. A bank change event is one type of event, a program change event is another one. Normally you send a bank change event to a synth, which switches to the specified bank. Then you send a program change event, which switches to the specified program. But they're two distinctive events, meaning if in between both events you'd manually switched the synth to another bank, the program event would now select the specified program in that new bank, rather than the bank specified by the previous bank change event.

 

I'm not sure how those message are handled by Logic. In a monitor object I see Control 32 appearing when I change banks, but I thought a PC event always carried a bank with it, or am I wrong?

I'm afraid you're wrong (if you were right we wouldn't need bank change events, just program change events): a BC event is one type of event, a PC event is another.

 

How many new articulations total do you need to program for that couple of very low-register instruments? (you can define more than the default 15 bank change events for your multi)

Link to comment
Share on other sites

If the only reason you are going this whole program change route is to avoid stray notes on the score, you can easily control this by adjusting the note range in the staff styles window. That way you could use regular note based key switching and not have to worry about the key switch notes appearing in the score. And you could easily create and modify a duplicate score style to filter out the upper range notes when necessary.

 

 

Eli Krantzberg

Link to comment
Share on other sites

@David: Thanks a lot for clearing that up for me. I'll try to figure out another way around that problem.

 

I'm willing to help further if you want to. If you tell me how many articulations you need maybe I can help you figure out something else. For example, you could create a bunch of custom bank change events, and use those to switch your articulations.

 

To create your bank change events, in the environment, select your multi and choose Options > Define Custom Bank Messages...

Link to comment
Share on other sites

Thanks again, I wasn't aware of this functionality at all. I can easily program Note-On messages for Bank changes now, but every time I change the bank a PC event is sent as well (with the value currently set next to the bank number). This is, of course, exactly the way you described it would happen in your previous post... So, am I supposed to just filter the PC event off with a Transformer object?
Link to comment
Share on other sites

I'm afraid I don't understand. Please have a look at the attached screenshots. There's a custom bank message which is a note-on event. That works. However, the selected program number is also sent immediately afterwards. This is what I was asking about — should I filter it with a transformer object or is there an option somewhere to disable it?

 

Thanks again.

92664949_Screenshot2011-04-24at9_49_34AM.png.cb13cf03bda1a2e4efeecb695d744a1e.png

1925400741_Screenshot2011-04-24at9_49_21AM.png.f0ad2d3afc2212819ac10f5c0387aaad.png

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...