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 Store
Audiobus is the app that makes the rest of your setup better.
would be really great, if some devs would put heads together and create universal API - easy to adopt - for saving and sharing AU patches between users. With tagging, charts, searching by name, genre, author, etc... stuff like that.
Like universal patch browser,with centralised database server for easy sharing between users, which will bring some standards into AU plugins patch management wild west...
"PatchBus" .. maybe side-project for @Michael :-))
Since the spirit of the app is to make things accessible to a beginner, simplicity would seem to be the better choice.
I'm really enjoying learning and playing around with MOZAIC. I have some scripting experience from way back, so it's making good sense to me, but with the very nicely written Programming Manual, anyone wanting to learn should be able to get into it. Once learned, I'd expect scripters like me would want to see user functions where we can pass variables and get back a result. Buttons that light up for switching things on and off might be nice, as would drop down lists, labeled pads, and... so much for simplicity.
Yeah.. I'm vigilant for scope-creep. But adding things that are just really useful will make it into the language. Such as user-defined functions and some more array manipulation functions.
Array initializers and array copying are now working...
Take the easiest route
You need to be making scripts and more au entertainment
Haven't spent much time yet with mosaic, but I look at it...that as time passes there could be hundreds of scripts, which equal hundreds of free au's...im in.
Keep up the fantastic work
Another thing that I would be wary of because it's easy to screw up, but which would probably aid an ecosystem, would be some kind of package manager for useful functions.
I also feel that people are going to want more GUI options. I've only written to scripts so far, and both times I really felt the limitations of only having 5 layouts...
If nothing else, I would really like better output options. LEDs, a text area, something. Oh, and labels for knobs would be useful. When you have 10 knobs it's kind of nice to know that knob 4 is for Beat divisions, while knob 5 is probability...
You can already label each knob/slider separately. But I really want to stay away from adding a wysiwyg GUI editor or such.
I just went to the Wiki page for the Mozaic app:
And I opened the User Manual for the App:
Then I open a couple scripts using a text editor and they start with some non-character data but the script was easily readable after a few lines of binary details.
It's pushed me into "must have" fan category. Check it out if you're on the fence.
If it convinces you it's not for you just remember you never need to write a line of script to
learn to load and run one.
I think we'll see some pretty amazing code creations using it over the next
This might also make a fun app to teach people programming skills... time to get it and
try the dreaded screen keyboards and my Bluetooth Keyboards.
Well... that was a pretty good start doing something I try to avoid: screen editing text.
Everything is done to assist.
I added some more text to the Mozaic editor on the iPad:
I had Mozaic running in AUM to feed Midi to a synth and when I upload the script I hear a Middle C which is a decimal 60. I like starting with anything that works and adding more lines as I get ideas. The longest words are Functions and the editor pops them up as choices after typing a few letters.
this thing is going to be BIG. Damn, can i buy some stockmarket shares of Ruismaker company :-)) ?? Like really, i feel like this is beginning of something big. Really big.
Labels for pads would be ne handy too, you can put text " top center" or even "center center"...
I don’t mean a label for the current value of the knob but a label for the knob itself.
For example I can show the current volume for a label but there’s no way for me to designate that it’s a volume knob
@brambos Hey, I've wanted to have just a few switch buttons that can send midi cc to use kinda like an on/off switch assigned to different tasks. Nothing complicated or fancy. I can do what I want to do using KB1's dials. They're obviously designed to be turned like a dial, but if you tap the top quickly, they can send like a switch.
I'd rather have some actual button switches. Kinda like the 8 buttons you get with the nanoKeystudio bluetooth unit.
If all I wanted was 3 or 4 buttons that were labeled that I'd just hit for on/off and loaded as an AU window that I could have open to quickly turn stuff on/off... can I do that easily enough with Mozaic? All I see in the sample images are dials, sliders and pads. But, I'm assuming the pads could be used as button switches too?
@skiphunt Yes, pads can be used as switches and can also simulate velocity trigger. Some great examples of pads being used such as @wim excellent MIDI echo script.
From the manual...
Trigger Pads The 16 pads can obviously be used as triggers, but also be 'misused' to display basic status information. Each of them can be made to light up via script: there are functions for making them flash, but also for switching the background LED on and oﬀ (i.e. a latch mode).
When the user triggers a pad by tapping on it, a velocity is derived from it (by looking at how close to the center of the pad the tap was placed). The following example shows how to use these mechanisms. We switch Latch mode on the pad on and oﬀ when the user taps it with a high velocity (so: near the center of the pad).
BTW, the example code in that section of the manual can be simplified by the addition of the
PadState padnumfunction that came later.
Can be shortened to:
Sorry if this has been answered already, but can Mozaic handle SysEx?
I don’t mean device dumps, just short messages.
I’m currently using StreamByter for this purpose, but interested in trying Mozaic as well.
Wow!!!! Just... wow...
This is exactly what I’d been wanting for the last few weeks and didn’t think anything existed like this on iOS.
This patch is fantastic for doing a kind of ‘Alchemy’ style snapshot saving and morphing thing... but with absolutely any synth.
Have been playing with it pointed at Gadget synths over the last two hours and it just works SO well!!! And is super simple to set up.
Also I love the fact I can very simply save the session in AUM and it recalls the exact snapshots I’ve set.
It brings some of those somewhat basic Gadget synths back to life...
Thanks so much @wim and of course @brambos
Not sure I’ll ever get round to programming anything in this app but it’s worth it (and I just bought it tonight) just for this one script.
Only 1 tiny request @wim - can that 9th knob that currently does nothing be utilised to give us 9 different CC’s (not just 8) to affect? Or is 8 a much simpler number for your code to work with?
Edit: And one final idea... how about holding shift and tapping a pad instantly randomises all 8 cc values and assigns the snapshot of the random values to the pad? Might be a pretty cool extra?
I've been thinking about Samu's post recently about scripting audio slicing and the kinds of scripts I've dreamt about. The one experience that I'd love to replicate at the AU host level is the iWavestation random button. I'm imagining a random button that loads random patches in a sampler like Audiolayer or Reslice or chameleon; randomizes 3-4 different scaled note sequences and timing to create polyrhythms; and perhaps randomizes effects patches (this may be a stretch). Ideally I could half or double each sequence to create different patterns. Is this sort of thing out of reach with Mozaic?
Hi @Matt_Fletcher_2000 It’s just a matter of changing a few numbers in the script to change the number of cc’s, but I was kinda holding that knob back to make a knob that would scale all the knobs up or down proportionately. My brain power fizzled before I got that working (damn algebra weakness again).
Another idea: if I assign a Cc to the X and Y values you could midi learn one to another (or multiples) and have effectively as many cc’s as you want. Another way to go would be to make it so you can flip back and forth to the all-knobs view to give access to more cc’s
I did think about adding a randomizer. I could easily do that with a long press on the shift button.
I’ll think about your ideas. I kind of want to keep it from getting too complicated though.
Right, something like that would help making things less cryptic. What you can do already now is to set the label to the concatenation of the two, e.g ”Vol 97”.. However, you quickly run out of characters forcing you to heavily abbreviate things, making it cryptic for the user.
Maybe a Micheal can set up something like KVR’s Download..
I think I’m going to use Patchstorage.com for this
Good catch! I’ll update that bit!
Hmm, I’ll grab Mozaic as soon as I get me some more gift-cards...
How does one grab the ‘note lenght’(ie. how long the note was held to avoid stuck notes?).
This could be useful for creating a realistic midi-echo with feedback options.
@brambos Thanks for the comma fix!
2 ideas come to mind.
(1) Generating MidiOn's and MidiOff's at even intervals from the source note will create echos of the note with the same lengths between On and Off. If you echo the On's and echo the Off's every note will have the same length in each echo. There are some echo scripts available to see how they did it.
(2) I suppose you could calculate the time interval between On and Off from the Event details and us subtraction to arrive at the length of the note in a wall clock sense and then apply that time to the Host's BPM to arrive at a musical "note value".
There are some echo scripts available to see how they did it.
I looked at one of @wim's scripts and he adds a delay for every echo and has some logic to
stop a note if the delay is shorter than the first echo and extra logic to stop the last echo.
But it's a careful implementation of option #1.
His delay value is tied to some math around a PPQN knob and a Multiplier Knob so his echoes are based upon fractions of the Host's BPM settings. Thanks for asking the question.
It made me learn something new and I found code that works.
As expected there are many different ways to go about. I would use a counter to count the number of metronome pulses between note on/off. Something like this:
You could also use this as a starting point for a MIDI looper script.
It’s pretty much perfect as it is.
[If you do a randomiser then please, please consider being able to randomise (or not) each of the four positions/pads independently. That would be a lot more useful than a global randomise of everything. That’s why I was thinking something like ‘long press of shift and then tap one of the 4 pads you want to randomise the settings of’. ]
Can someone give me some guidance on importing scripts from Dropbox? I’m using ‘open in’, which opens up Mozaic but doesn’t copy the code, sorry if this is super obvious!
I’ve had to restart Mozaic to pick up the preset occasionally.
This was in standalone mode.