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.
Circular XY LFO motion
I currently have the Rozeta suite by @brambos and absolutely love it but I am not certain if I can use it to achieve my desired goal
I would like to setup 2 LFOs to control XY movement in Virtual Room such that the XY position moves in a circle
Is this possible to do using Rozeta LFO or any other AU based LFO? Is there a way to control the phase offset of oscillators in Rozeta LFO? Is phase offset necessary to achieve a circular motion when addressing an XY controller?
Thank you so much!
Comments
There's a demo in the Mozaic tutorials that does exactly this...
(I think it's called "drawing circles", off the top of my head)
@brambos amazing thank you so much~ so if I purchase mosaic there is already a solution with midi out that will allow me to do this out-of-the-box without learning any coding?
Btw have been suuuuupppper excited about mosaic as I was a huge max4live user when working on desktop so the idea of being able to create custom midi controllers on phone is incredibly exciting, I just haven’t dove in because I know that I don’t have time at the moment to learn the coding language~ is there a mozaic user library/forum anywhere online for sharing patches/asking questions?
Right now that circles demo simply moves the puck of the XY pad around in a circular motion. But it uses LFOs to do it, so adding MIDI out is just 2 extra lines of code - depending on how/what you want to send out (2 separate MIDI CC codes?).
The Mozaic thread in here has become a Q&A thread of sorts, and there's a script exchange at Patchstorage.com
If you let me know what you like to send out I'll happily extend the script for you. If you enjoy doing it yourself for learning purposes that's also fine. Let me know if you like me to do it
Hey @brambos ~ thank you so so much I reeeeeaaaalllly appreciate that🙌🙌🙌🙌
If you wouldn’t mind sending me the code for how to add two separate midi cc outputs that would be incredible and infinitely appreciated!! I’ll be hosting everything in AUM routing the ccs to instances of virtual room
@brambos
One other quick question~ is there an easy way to adjust the code such that the radius and speed of the circular rotation can be adjusted by turning the GUI knobs?
Isn't this just a case of using Sine & Cosine for the X & Y axis?
(For more interesting variations being able to select the start-phase for the LFOs is a bonus).
Here's my quick adaptation. I've mapped speed to the first knob. I'll leave radius as an exercise to the user (I've made it easy though, because min and max make up your radius and they are already parametric )
@annahahn let me know if it works for you.
@brambos got it working beautifully~ thank you so much🙌🙌🙌🙌going to write you momentarily in another thread with a Q regarding Rozeta scaler~again thank you so so much!!
@OnLoad
// LFO default settings
min = 0
max = 127
if (Unassigned speed)
speed = 0.5 // half a hz.
endif
if (Unassigned radi1)
radi1 = 0
endif
if (Unassigned radi2)
radi2 = 127
endif
SetLFOType 0, {sine}
SetLFOType 1, {cosine}
Call @MyLFOSetup
// set start phases for both lfos
ResetLFO 0
ResetLFO 1
// set the metronome to 48ppqn resolution
SetMetroPPQN 48
// GUI
LabelKnob 0, {Speed}
LabelKnob 1, {Radius1}
LabelKnob 2, {Radius2}
@end
// update gui and midi output
@OnMetroPulse
x = GetLFOValue 0
y = GetLFOValue 1
SetXYValues x, y
SendMIDICC 0, 12, x
SendMIDICC 0, 13, y
@End
@MyLFOSetup
SetupLFO 0, radi1, radi2, NO, speed
SetupLFO 1, radi1, radi2, NO, speed
@End
@OnKnobChange
if LastKnob = 0
v = GetKnobValue 0
speed = TranslateScale v, 0, 127, 0.1, 2 // set speed: 0.1 hz - 2.0
Call @MyLFOSetup
endif
endif
if LastKnob = 2
k = GetKnobValue 2
radi2 = k //
Call @MyLFOSetup
endif
@End
@Description
This script uses 2 LFOs to create a circular motion and sends the coordinates out on CC#13 and CC#15 (MIDI Channel 0)
@End
Excellent!
I agree 🙂
If you look at the code above you’ll see that’s a really simple change.
I mean, I agree that his is possible with just Rozeta by feeding the XY controls a sin and a cosin from roseta LFOs. No need for any programming.
Like Samu said, in rozeta LFOs CC 13 is a sin, cc 15 a cosine. Receive one on the x axis and the other on the Y and bingo!
You could probably get it to draw a mushroom with mosaic, though. No* limits!
(* some)
Hey
I made a better version of the code-radius is now adjustable with a single knob
@OnLoad
// LFO default settings
min = 0
max = 127
if (Unassigned speed)
speed = 0.5 // half a hz.
endif
if (Unassigned radi1)
radi1 = 0
endif
if (Unassigned radi2)
radi2 = 127
endif
SetLFOType 0, {sine}
SetLFOType 1, {cosine}
Call @MyLFOSetup
// set start phases for both lfos
ResetLFO 0
ResetLFO 1
// set the metronome to 48ppqn resolution
SetMetroPPQN 48
// GUI
LabelKnob 0, {Speed}
LabelKnob 1, {Radius1}
@end
// update gui and midi output
@OnMetroPulse
x = GetLFOValue 0
y = GetLFOValue 1
SetXYValues x, y
SendMIDICC 0, 12, x
SendMIDICC 0, 13, y
@End
@MyLFOSetup
SetupLFO 0, radi1, radi2, NO, speed
SetupLFO 1, radi1, radi2, NO, speed
@End
@OnKnobChange
if LastKnob = 0
v = GetKnobValue 0
speed = TranslateScale v, 0, 127, 0.1, 2 // set speed: 0.1 hz - 2.0
Call @MyLFOSetup
endif
endif
if LastKnob = 1
k = GetKnobValue 2
radi2 = 127-bb
Call @MyLFOSetup
endif
@End
@Description
This script uses 2 LFOs to create a circular motion and sends the coordinates out on CC#13 and CC#15 (MIDI Channel 0)
@End
Hi @annahahn -
To keep the forum from jacking up your code, you can place a line with just ``` In it before and after the code. The character needed is a bit difficult to locate on the on-screen keyboard. On an English keyboard I long-press the apostrophe key until the alternative characters come up. I’m not sure how it works for other language layouts.
Nice to see you diving into Mozaic.