Scotty Ferguson Posted April 21, 2011 Share Posted April 21, 2011 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 More sharing options...
fader8 Posted April 21, 2011 Share Posted April 21, 2011 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 More sharing options...
David Nahmani Posted April 21, 2011 Share Posted April 21, 2011 I agree, you need to give us more details regarding your general goal: there may be a faster/easier way to get there. Also please add your Logic version and system info to your signature: Read Me Before Posting - Forum Guidelines (#5) Thanks! Link to comment Share on other sites More sharing options...
Scotty Ferguson Posted April 22, 2011 Author Share Posted April 22, 2011 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 More sharing options...
David Nahmani Posted April 22, 2011 Share Posted April 22, 2011 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 More sharing options...
elik Posted April 22, 2011 Share Posted April 22, 2011 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 More sharing options...
Scotty Ferguson Posted April 22, 2011 Author Share Posted April 22, 2011 @David: Thanks a lot for clearing that up for me. I'll try to figure out another way around that problem. @elik: It's not only the score. As I wrote, it makes transposing parts very cumbersome. And chasing doesn't work as easily as it does with PC events. Cheers. Link to comment Share on other sites More sharing options...
David Nahmani Posted April 22, 2011 Share Posted April 22, 2011 @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 More sharing options...
Scotty Ferguson Posted April 22, 2011 Author Share Posted April 22, 2011 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 More sharing options...
David Nahmani Posted April 23, 2011 Share Posted April 23, 2011 When choosing Options > Define Custom Bank Messages... you'll see exactly what messages are being sent when changing bank. I suppose you can locate the PC event and delete them so they're not being sent? I'm not in front of Logic right this minute, but give it a try? Link to comment Share on other sites More sharing options...
Scotty Ferguson Posted April 24, 2011 Author Share Posted April 24, 2011 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.