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.

MOZAIC - Create your own AU MIDI plugins - OUT NOW!

12526283031102

Comments

  • @nondes it’ll probably be 3-6 days before I post the first tutorial. I do think @brambos has provided us with some great tools so I’m hoping that in the spirit of Mozaic, I’ll be able to contribute to allowing others to get more out of it.

  • New version of my Scale Compendium now up on patchstorage.com.

    Version 1.4 changes:

    • MIDI handling has been completely rewritten to be more robust. (Thanks to @mbncp for the helpful advice!)

    • All non-note MIDI data (pitch bends, mod wheel, CC’s, etc.) passes through unaltered, meaning you can now use this script for live playing.

    • Legato playing is supported.

    • New scale added: “Scriabin’s Prometheus”

    • Scales have been re-ordered to make them more accessible; e.g., pentatonics are at the beginning of Bank 2 and triads & chords are at the beginning of Bank 3, thus making it easy to switch between them using only the Shift button.

  • edited June 2019

    Hello guys. I have one idea about notes or chords ( hold, latch , toggle ), with ( legato and retrig ) mode . Is anyone willing to build this idea?

  • @InfoCheck said:

    This is a demo of a preset I’m currently working on. If people would like me to share my perspective on how to approach creating patches for Mozaic, let me know and I can do a series of videos on the process from someone who is not a natural programmer.

    Would be very interested in these videos!

  • edited June 2019

    @Bryan Thanks, very cool.
    Style 1 is perfect to learn a scale, and for most key/scale combo it’s easy to find a style that will let you use only white keys for live playing

    Now it would be great to define some Mozaic Global Variables and store the scale in one of them so other scripts can use it.

  • edited June 2019

    @mbncp said:
    @Bryan Thanks, very cool.
    Style 1 is perfect to learn a scale, and for most key/scale combo it’s easy to find a style that will let you use only white keys for live playing

    Now it would be great to define some Mozaic Global Variables and store the scale in one of them so other scripts can use it.

    You and I seem to be on the same wavelength. That's exactly how I use style 1 as well. Because let's face it, I only know a couple of scales, so if I want to play, say, the fifth mode of Enigmatic Minor, I'm gonna have to look that one up...or I can call up that scale on my script and let it tell me what the notes are. Very useful.

    And believe it or not, I was just thinking about using global variables to allow multiple instances of the script to sync up. That would be pretty cool. So that's definitely on the road map.

  • edited June 2019

    Big update to my Mutating Sequence Generator now on patchstorage.com!!!

    Version 2 has been completely reworked and rewritten with lots of improvements and new features. If you liked Version 1, you'll love this one. If you weren't too impressed by Version 1, don't worry, neither was I ;>) But give the new version a chance.

    Version 2.0 changes:

    • Brand new algorithm for generating the random sequence. The old algorithm was very rudimentary but the new method should produce much more musical results. (Old algorithm is still included and can be activated by setting a variable "under the hood.")

    • Density algorithm is also completely new and much more musical.

    • More note divisions added to the Clock control. Range is now from 1/64 triplet to one note every 4 bars. Also, dotted notes are now available.

    • Sequence length values have been decreased in order to make it easier to dial in useful values.

    • Mutation control also rewritten to be more musical.

    • Gate Length now works properly. Keep in mind that this control may not have any effect depending on what sound you use; i.e., sounds with a long release will not be effected by this control.

    • The transpose control now includes +/- 2 octaves.

    • Further refinements to the humanize control. Again, I have tried to make everything as musical as possible.

    • Lots of new visual feedback (eye candy!). Knob values now appear above the knob so you can see the values better when tweaking. It is still possible to see knob values by pressing and holding the Shift key.

    • MIDI CC control over Clock, Seq Length, Mutation, and Density with CC values mapped to Rozeta LFO and XY. MIDI control of the Root and Transpose are also still possible via notes 36-47 and 48-72 respectively.

  • @Bryan said:
    Big update to my Mutating Sequence Generator now on patchstorage.com!!!

    Version 2 has been completely reworked and rewritten with lots of improvements and new features. If you liked Version 1, you'll love this one. If you weren't too impressed by Version 1, don't worry, neither was I ;>) But give the new version a chance.

    Version 2.0 changes:

    • Brand new algorithm for generating the random sequence. The old algorithm was very rudimentary but the new method should produce much more musical results. (Old algorithm is still included and can be activated by setting a variable "under the hood.")

    • Density algorithm is also completely new and much more musical.

    • More note divisions added to the Clock control. Range is now from 1/64 triplet to one note every 4 bars. Also, dotted notes are now available.

    • Sequence length values have been decreased in order to make it easier to dial in useful values.

    • Mutation control also rewritten to be more musical.

    • Gate Length now works properly. Keep in mind that this control may not have any effect depending on what sound you use; i.e., sounds with a long release will not be effected by this control.

    • The transpose control now includes +/- 2 octaves.

    • Further refinements to the humanize control. Again, I have tried to make everything as musical as possible.

    • Lots of new visual feedback (eye candy!). Knob values now appear above the knob so you can see the values better when tweaking. It is still possible to see knob values by pressing and holding the Shift key.

    • MIDI CC control over Clock, Seq Length, Mutation, and Density with CC values mapped to Rozeta LFO and XY. MIDI control of the Root and Transpose are also still possible via notes 36-47 and 48-72 respectively.

    Wow! :o

  • Wow! Mozaic si Great!
    Si there an script for “MIDI channeling” in the líneas of this one?:
    https://forum.audiob.us/discussion/28392/streambyter-script-distribute-polyphonic-midi-to-n-outgoing-mono-midi-channels/p1?new=1

  • @Synthi said:
    Wow! Mozaic si Great!
    Si there an script for “MIDI channeling” in the líneas of this one?:
    https://forum.audiob.us/discussion/28392/streambyter-script-distribute-polyphonic-midi-to-n-outgoing-mono-midi-channels/p1?new=1

    If it doesn't exist yet I'm happy to make it.

  • I need help
    .

  • @pejman said:
    I need help
    .

    Get the relevant knob's value in your onmidinoteon handler and use its value as you desire.

    How do you want those knob settings to influence the Randomness?

    It helps to write pseudocode to describe to yourself (and others) what you want to do. Then it is a simpler matter to figure out the actual programming code you need.

  • edited June 2019

    I want to have plugin for when i play chords through another app like ( suggester ) connect to cubasis for example, this plugin can play chords with different start notes and different velocity randomly, like humanizing .
    I need to control or change maximum value of time random from 0-500 and minimum and maximum values of velocity random each one from 0-127 through knobs. But I don’t know how can or write programs.

  • @Synthi I didn‘t yet convert the script, but it should be no problem to do so.

    I used an LRU strategy (vs reuse if it is the same note) for channel distribution. There is also an updated version that distributes its polyphonic input to N synth with M channels (6 for Quanta/ 4 for Model D etc).
    Double note-on/off also need to be handled on the input side as i found out during debugging with various of the gererative input sources.

    .

    I just would need time to convert to the new syntax, all extra-cases that showed up during intensive testing are already taken care of - but as there are three other nearly finished scripts i have to release first (and i‘m AFK for about one week) the earliest i could publish would be in 2 weeks.

    So if @brambos wants to have a go first, it‘s also okay for me :) But then i probably won‘t convert my version... and implement something else :)

  • @pejman said:
    I need help
    .

    You don't have to change your @OnLoad, and this would be your OnMIDINoteOn and OnMIDINoteOff:

    @OnMIDINoteOn
      delayMax = TranslateScale (GetKnobValue 1), 0, 127, 0, 500
      delayMin = TranslateScale (GetKnobValue 0), 0, 127, 0, 500
      delay = Random delayMin, delayMax
      vel = Random (GetKnobValue 2), (GetKnobValue 3)
      SendMIDINoteOn MIDIChannel, MIDINote, vel, delay
    
      // remember the delay we're using for Note Off
      SetNoteState MIDIChannel, MIDINote, delay
    @End
    
    @OnMIDINoteOff
      // get the delay we used for this note
      delay = GetNoteState MIDIChannel, MIDINote
      SendMIDINoteOff MIDIChannel, MIDINote, 0, delay
    @End
    
  • @pejman said:
    I want to have plugin for when i play chords through another app like ( suggester ) connect to cubasis for example, this plugin can play chords with different start notes and different velocity randomly, like humanizing .
    I need to control or change maximum value of time random from 0-500 and minimum and maximum values of velocity random each one from 0-127 through knobs. But I don’t know how can or write programs.

    I have a script that does something similar to this. However, it builds the chords from single notes played rather than acting on chords passed to it. It doesn’t have a random voicing, but it does have modes that alter the voicing based on keeping as close as possible to the previous chord’s bass or top note.

    https://patchstorage.com/the-chordulator/

    [edit] oops. I see you already found it and made the request for modification over on patchstorage.com. I think I could probably make a modified version but don’t know how soon I’ll have time

  • I finished the demo video for the Midi Matrix Switch script:

  • @brambos : I noticed that the pads aren’t exposed as controls you can send midi to in AUM. Would exposing them be possible?

  • @espiegel123 said:
    @brambos : I noticed that the pads aren’t exposed as controls you can send midi to in AUM. Would exposing them be possible?

    Why not sending the MIDI directly to your script ? Or using the User parameter, if 8 is enough, or the knobs if you use only some off them .. just ideas

  • @brambos said:

    @pejman said:
    I need help
    .

    You don't have to change your @OnLoad, and this would be your OnMIDINoteOn and OnMIDINoteOff:

    Very very thanks of you brambos . That's exactly what I want .

  • edited June 2019

    @wim said:
    [edit] oops. I see you already found it and made the request for modification over on patchstorage.com. I think I could probably make a modified version but don’t know how soon I’ll have time

    Thank you wim for replay .your patch is very interesting for me. I am waiting for modified version.

  • So I have been deliberately avoiding Mozaic as I think I am going to fall deeply into it... I am readying myself.

    So can someone give me the scoop on random? One goal for me has always been to be able to randomise synths that do not have randomisation build in. Gadget synths, Model 15, etc. Is Mozaic the vehicle for this?

  • @mbncp said:

    @espiegel123 said:
    @brambos : I noticed that the pads aren’t exposed as controls you can send midi to in AUM. Would exposing them be possible?

    Why not sending the MIDI directly to your script ? Or using the User parameter, if 8 is enough, or the knobs if you use only some off them .. just ideas

    Because it is sometimes handy to set up a script and have it be triggered from a midi device without rewriting the script. The knobs and cycle pad are addressable this way. handy when using hardware to talk to a script. The script can stay the same regardless of controller. especially when used with AUM's MIDI learn.

  • wimwim
    edited June 2019

    @gusgranite said:
    So I have been deliberately avoiding Mozaic as I think I am going to fall deeply into it... I am readying myself.

    So can someone give me the scoop on random? One goal for me has always been to be able to randomise synths that do not have randomisation build in. Gadget synths, Model 15, etc. Is Mozaic the vehicle for this?

    Mozaic or Streambyter are great for this. You can generate random cc’s with just a few lines of code. You still need to midi-learn those to app parameters, but the randomization is a piece of cake.

    One of the early/quick scripts I did does just that for 20 midi cc’s. Which reminds me, I intended to go back and add snapshot storage and recall.

    https://www.dropbox.com/s/e3ny0ui8mduanxz/MIDI CC Randomizer.mozaic?dl=0


    MIDI CC Randomizer (v1.0)

    Double-tap the Randomize knob or turn it to 50% or higher to randomize the values for each cc. You can also send a value of 64 or higher to the KNOB 0 AU parameter to trigger randomization. The last knob sets the outbound channel for the cc messages.


  • @espiegel123 said:
    Because it is sometimes handy to set up a script and have it be triggered from a midi device without rewriting the script. The knobs and cycle pad are addressable this way. handy when using hardware to talk to a script. The script can stay the same regardless of controller. especially when used with AUM's MIDI learn.

    Do you mean that you have more than one controller and you woud do the AUM midi learn thing each time fo 16 pads ???

  • What’s the convention for triggering pads via AU parameters?

  • @brambos said:
    What’s the convention for triggering pads via AU parameters?

    Don't know but when using notes it will send the velocity, so best guess is 1-127 pad down, set lastpadvelocity to that value and 0 for pad up.

  • @brambos said:
    What’s the convention for triggering pads via AU parameters?

    That's a good question. In the case, that caused me to ask the question, I'm using the pads as and toggles and triggers and would sometimes find it handy to have a hardware midi controller "touching" the pads for me. I am using Mozaic as a smart controller for Loopy.

    So, in my case I only care about knowing that the pad was touched. But I guess since pads can generate velocity, it might make sense to have an incoming non-zero value trigger the pad as if touched and set last pad velocity to the value received (which might be a cc value or a note velocity).

    Anyway, just a thought .

  • edited June 2019

    Hi, my name is Yoni and I’m a new member of the forum, but a long time silent follower...

    Finally I’ve got the nerve to post a comment here because of my new Mozaic script update:

    MidiQ v.0.5

    It’s a “real time” note quantizer (per beat division) with some twists that I think could be useful, especially for midi drumming, since it can do a quantizing effect similar to DrumJam (without the repeat aftertouch effect). It has options to quantize to even and odd beat divisions and has a note gate with flexible options. There is a unquantize knob that lets slightly late notes pass without quantizing to the next pulse, to keep a more natural feeling to the beat, by not quantizing every note ahead.
    It’s a total rewrite from the first version, which I deleted because I think this one is more of what I originally intended.
    I feel like this script fills a small void that I thought was missing from the script collection.
    I’m not a coder, just an enthusiast and a hobbyist iOS music app dabbler, I actually work as a lighting tech in films and tv...
    Hope it’s useful to some of you too...
    Thank you Bram for this engaging app!

    I welcome any comments good or bad...:)

  • @Yoni said:
    Hi, my name is Yoni and I’m a new member of the forum, but a long time silent follower...

    Finally I’ve got the nerve to post a comment here because of my new Mozaic script update:

    MidiQ v.0.5

    It’s a “real time” note quantizer (per beat division) with some twists that I think could be useful, especially for midi drumming, since it can do a quantizing effect similar to DrumJam (without the repeat aftertouch effect). It has options to quantize to even and odd beat divisions and has a note gate with flexible options. There is a unquantize knob that lets slightly late notes pass without quantizing to the next pulse, to keep a more natural feeling to the beat, by not quantizing every note ahead.
    It’s a total rewrite from the first version, which I deleted because I think this one is more of what I originally intended.
    I feel like this script fills a small void that I thought was missing from the script collection.
    I’m not a coder, just an enthusiast and a hobbyist iOS music app dabbler, I actually work as a lighting tech in films and tv...
    Hope it’s useful to some of you too...
    Thank you Bram for this engaging app!

    I welcome any comments good or bad...:)

    Welcome Yoni and thanks for your script, I shall dig into it later.

Sign In or Register to comment.