Audiobus: Use your music apps together.
What is Audiobus? — Audiobus is an award-winning music app for iPhone and iPad which lets you use your other music apps together. Chain effects on your favourite synth, run the output of apps or Audio Units into an app like GarageBand or Loopy, or select a different audio interface output for each app. Route MIDI between apps — drive a synth from a MIDI sequencer, or add an arpeggiator to your MIDI keyboard — or sync with your external MIDI gear. And control your entire setup from a MIDI controller.
Download on the App StoreAudiobus is the app that makes the rest of your setup better.
Multiply CC values in AUM
Hi!
Is it possible to multiply incoming CC values from a midi controller by a chosen factor in AUM?
For example, I would like to assign a knob on my Novation Launch Control XL controller to a Bus Send in AUM, but instead of having to turn the knob all the way around, I would like to be able to just turn it 50% to have the send amount go from 0 to 100%. So, in this case the incoming CC value would have to be multiplied by 2.
I tried the Audioveek Midi Curve app (included in the Midi Tools bundle), but it seems this only handles midi note values, not CC.
Does anyone know of some other app to achieve this?
Comments
You can do this with Mozaic or Streambyter.
A StreamByter or Mozaic script could do it. Did you want the knob to go from 0 to halfway to get the 100%? Or did you want to turn it between 25% and 75%?
Wow thanks, those apps seem really nice!
Yes, I would like to turn the knob halfway to make the send go to 100%
Here’s the Mozaic script. I have to do something for a bit, but will dust off my Streambyter memory for fun a little later if nobody else beats me to it.
NOTE: This is a very blunt-force way of doing it. Ideally the code should be much more restrictive, to act only on a certain channel and cc combination, but I wanted to keep it short.
Thanks a lot, wim, for the help!
I bought Mozaic earlier and will check out your script and try to understand what everything does.
I fiddled around a bit with the tutorial scripts in the app and actually just found out how to multiply the CC values myslef. Haven’t been programming so much before, but wow, this is really fun to learn
@OnLoad
LabelKnob 0, {Send %}
@End
@OnKnobChange
if LastKnob = 0
cc = GetKnobValue 0
ccMult = cc *2
SendMIDICC 0, 7, ccMult
endif
@End
That would work for sending cc’s from the Mozaic interface, but wouldn’t do anything for your controller.
You probably should round the values to whole numbers. Mozaic reads decimal values from its knobs.
ccMult = Round (cc * 2)
would be better. And, you should follow that with aClip ccMult, 0, 127
so that you’re not sending values over 127.It works if I use the Learn function on Mozaic’s AUM track and assign the Launch Control’s knobs to Mozaic’s knobs, but I suppose that is not the ideal solution. Will analyze your script some more.
Thanks for the tips about rounding and clipping the values!
Ahh. Good idea. That should work well then.
Would this be the right way to write the rounding and clipping code?
@OnLoad
SetShortName {ccx2}
ShowLayout 1
//LabelKnob 0, {Send A}
//LabelKnob 1, {Send B}
SetKnobValue 0, 0
SetKnobValue 1, 0
@End
@OnKnobChange
cc0 = GetKnobValue 0
cc1 = GetKnobValue 1
cc0Mult = Round (cc0 * 2)
cc1Mult = Round (cc1 * 2)
Clip cc0Mult, 0, 127
Clip cc1Mult, 0, 127
SendMIDICC 0, 7, cc0Mult
SendMIDICC 0, 8, cc1Mult
@End
Yep, that looks like it should work.
You can also round the cc0 value when you get it rather than in a later calculation ... whichever makes more sense to you.
cc0 = Round (GetKnobValue 0)
Looks like you’re off to a great start with Mozaic.
(BTW, if you put ``` on a line by itself before and after the code, it’ll all be formatted as a code block in the forum software.)