yyang Posted August 21, 2019 Share Posted August 21, 2019 After trying a lot of ways, I found that only programming scripts are best, but in any case not successful, here leave for you to be able to pitch bend two bend range set separately, I always set a value in the source of another value is not valid. My goal is to set a bending range to two degrees, the maximum range of eight degrees, or to control the rise or fall of the octave with a slider. does anyone know this script, can it be shared under Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 21, 2019 Share Posted August 21, 2019 Hello yyang, and welcome to our community! I'm not sure this answers your question but the image below shows one way to have 2 pitch bend ranges available side by side using a standard Pitchbender and Modwheel. Set your synth/sampler Pitchbend Range to one octave. Set up your channel strip with 2 modifier scripts, the first scales the Pitchbend range to around 2 half steps. Set the second modifier script to transform your Modwheel to perform an octave Pitchbend Up. Note: you can use the scale sliders to set up other range values you might need. Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 I received a note from Yyang with further information. It looks like she/he would like to have a pitch bend wheel setup like the amazing Jordan Rudess. I found the example video below. In the video, Jordan is using the pitch bender to go 1 whole step (2 semitones) up from the center point, and 1 octave down from the center point. The pitch bend MIDI output from a keyboard is usually fixed at it's full (high resolution) range. If you are sending this to a virtual plugin you can specify the pitch range at the receiving end inside the plugin. Some plugins (Alchemy, ES2 etc...) allow different settings for Up and Down pitch bend. But if the plugin doesn't differentiate between pitch bend up and down then a modifier script can be placed in the path to reduce one of these ranges. Below is a 40 second motion gif that shows setting this up with Logic's Retro synth and one Modifier MIDI FX plugin. Notes: This set up is probably far more useful than my previous post in that this one emulates the octave down of a guitar's whammy bar while keeping the upward bend to a sensible 2 semitones, all on the pitch bender. The only problem with this setup is most synth/sampler patches default to 2 steps up and down. So the pitch bend range has to be reset to an octave every time you change a patch. Fortunately there is a new Extended Parameter in many of Logic's instrument plugins that doesn't change with patch changes. See Apple's extended parameters note: https://support.apple.com/kb/PH27756?locale=en_US&viewlocale=en_US This feature is intended to be used with a new MIDI standard, allowing separate pitch bends for each note. If you don't mind Mono Mode you might be able to use it here to keep the octave setting global and unaffected between patch changes. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 This can be scripted and seems a worthy thing to script I will take a look this afternoon Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 Hey Dewdman42, Glad you are here. I was hoping you would take a look at a related bug I might have uncovered in the Modifier MIDI FX Script. Using the same setup I'm using above but changing both fields to Pitchbend Down, it doesn't process MIDI correctly, it's outputting a down bend upside down. Can you confirm? And a custom script would be very appreciated! Edit: The Pitchbend Down works if I set the 'Scale' slider to -100% and the 'Add' slider to 126. Weird illogical settings though, maybe some inverted thinking is needed to understand. : ) Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 I don't know I couldn't figure out what are doing with two modifiers...I don't seem to have it going down though. Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 (edited) I was using 2 modifiers in the first example because it seemed that yyang wanted 2 separate controllers set to do pitch bend but with 2 different mod ranges. I'm asking about using just 1 modifier plugin like in the 2nd example, the motion .gif. Don't worry about it now, I will investigate further and post a bug report project because the way it acts now (if I use Pitchbend Down settings), it actually throws away half the pitchbend resolution. Edited August 24, 2019 by Mark R Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 (edited) Try this: /******************************************************************* * PitchBend Scaler * * v1.21 *******************************************************************/ function HandleMIDI(event) { if(event instanceof PitchBend) { if(event.value > 0) { var scale = GuiParameter(0)/100; event.value = Math.round(event.value * scale); if(event.value > 8191) { event.value = 8191; } } else if(event.value < 0) { var scale = GuiParameter(1)/100; event.value = Math.round(event.value * scale); if(event.value < -8192) { event.value = -8192; } } } event.send(); } var PluginParameters = []; PluginParameters.push({ name: "Positive Scale", type: "lin", defaultValue: 100, minValue: 0, maxValue: 300, numberOfSteps: 1200, unit: "%" }); PluginParameters.push({ name: "Negative Scale", type: "lin", defaultValue: 100, minValue: 0, maxValue: 300, numberOfSteps: 1200, unit: "%" }); function ParameterChanged(id, val) { PluginParameters[id].data = val; } function GuiParameter(id) { // if script was recently initialized, reload GUI value if(PluginParameters[id].data == undefined) { PluginParameters[id].data = GetParameter(id); } if(id < PluginParameters.length) { return PluginParameters[id].data; } } Edited September 11, 2019 by Dewdman42 Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 I used a percentage for the scaling, but its not very intuitive to figure out what percentage to use for adjusting pitch bend to musical scale degrees...but of course that depends entirely on the instrument its feeding... So I guess using % is the best way here, you just have to figure out the math yourself for whatever instrument you're using. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 I could also make the % amount more fine grained if that is desirable? Lemme know. Simple change to make percentages down to 10th of a percent. Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 Testing v1.0 here the scaler script works going Upward but drops immediately to full low pitch when going Downward. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 oh yea I'm working on better version couple other things too, stay tuned... Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 Great! We have to leave home for a couple hours will check back. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 23, 2019 Share Posted August 23, 2019 see updated script above Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 23, 2019 Share Posted August 23, 2019 Just checked out v1.1, works great! And Yes, for the topic author's use case (up 2, down 12) I think it would be nice to have a finer grained % amount. A .25% resolution should be able to land within a few cents of the 12 equal tempered notes in an octave up-down pitchbend. Higher ranges could benefit with 10th of a percent but would the sliders become unwieldily? Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 24, 2019 Share Posted August 24, 2019 You can always type a value in directly. I will make it finer grained Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 24, 2019 Share Posted August 24, 2019 I see. I changed the 2 lines that have: numberOfSteps: 300 to: numberOfSteps: 600 and doubled the resolution. With this small change a value of 16.5% was able to tune a whole step pitchbend, and a value of 57.5% set up a 5th pitchbend within a few cents using the sliders and incremental arrows. So cool! Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted August 24, 2019 Share Posted August 24, 2019 good job. I updated the script above to use 1200, which is 1/4 of a percent resolution, which should be accurate enough. Ran into some kind of math rounding bug attempting to make 1/10th of a percent resolution. Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 24, 2019 Share Posted August 24, 2019 Jolly Good! Quote Link to comment Share on other sites More sharing options...
yyang Posted August 25, 2019 Author Share Posted August 25, 2019 Thanks for the two help, but how do you use the above script? I don't know how to achieve the effect I want, please advise Quote Link to comment Share on other sites More sharing options...
Mark R Posted August 25, 2019 Share Posted August 25, 2019 Hi, It is important to remember, to get either of the two scripting methods in this thread to achieve a pitchbend range of up 2 and down 12 steps you must first set your instrument plugin's bend range to 1 octave. In my example (in the 3rd post) set the modifier plugin 'Scale' slider to 17% and 'Add' slider to 0. For Dewdman42's custom script (in the 8th post) set the 'Positive Scale' slider to 16.5% and the 'Negative Scale' slider to 100% Most synth/sampler patches default to 2 steps up and down. So the pitch bend range has to be reset to an octave every time you change a patch. There is a detailed 'Note' about this (and a mono modo work around) in the 2nd half of my 3rd post. Let us know how you get on with it. Quote Link to comment Share on other sites More sharing options...
Dewdman42 Posted September 11, 2019 Share Posted September 11, 2019 Updated script to v1.21 with minor improvement in the way GUI controls are handled. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.