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!

1679111254

Comments

  • @brambos how about a script that can save 8x CC values and create snapshots. Then morph between Snapshots. Maybe using note input. 128 snapshots would be ace.

  • edited May 18

    @MonkeyDrummer said:
    My $.02 to the mods...

    I think we will, sooner than later, want a Mosaic subforum otherwise various discussions and tangents are going to swamp this place...

    Was it you looking for one big button to sweep from a lp to hp filter a while back?
    Wonder if it's doable with mosaic ?

  • @Dchild said:
    @brambos how about a script that can save 8x CC values and create snapshots. Then morph between Snapshots. Maybe using note input. 128 snapshots would be ace.

    I’m working on something like that right now. Four Pads to store four snapshots, then morph between them using the quadrants of the XY pad.

    Bram (or someone else) can probably do a hell of a better job of it than me, and faster. I will not be in the least put out if someone beats me to it! B) o:)

  • @reasOne said:

    @MonkeyDrummer said:
    My $.02 to the mods...

    I think we will, sooner than later, want a Mosaic subforum otherwise various discussions and tangents are going to swamp this place...

    Was it you looking for one big button to sweep from a lp to go filter a while back?
    Wonder if it's doable with mosaic ?

    Piece of cake.

  • wimwim
    edited May 18

    If there’s someone out there who genuinely would use this app to create things, or to learn more about MIDI and programming, but honestly can’t afford it, please PM me. I have a promo code, but would like it to go to someone it would really help.

  • @wim said:
    If there’s someone out there who genuinely would use this app to create things, or to learn more about MIDI and programming, but honestly can’t afford it, please PM me. I have a promo code, but would like it to go to someone it would really help.

    You’re a gem, Wim. Your patches and enthusiasm combined with my desire to support whatever Bram does has sold me on this.

  • @MonkeyDrummer said:
    My $.02 to the mods...

    I think we will, sooner than later, want a Mosaic subforum otherwise various discussions and tangents are going to swamp this place...

    www.busboffins.com is available....

  • @reasOne said:

    @MonkeyDrummer said:
    My $.02 to the mods...

    I think we will, sooner than later, want a Mosaic subforum otherwise various discussions and tangents are going to swamp this place...

    Was it you looking for one big button to sweep from a lp to hp filter a while back?
    Wonder if it's doable with mosaic ?

    Yea, maybe/probably buy using AUM’s lp/hp and doing a creative mapping with an array or something...

    I’ve not actually picked this monster up yet! Shhhhhh... 🤫

  • First of all, this app on incredible and I thank you for making it. One thing I’m trying to figure out how to use it for is to launch clips for an Ableton like set. If anyone has any ideas you’d be the savior of my workflow. All I can think of is the AUM file player since LP-5 drives me insane with the crashing but that clutter seems like a nightmare.

    For anyone having issues with the comma not showing up(I am as well) one workaround I realized is to copy a comma to your clipboard and just paste it.

  • @Jumpercollins said:

    Tried that still no sound definitely missing something !

    Made a simple video of how to use it (no talking or subtitles, so watch the knobs..). Hope it will help you to get some sound.

  • @NoonienS said:

    @Jumpercollins said:

    Tried that still no sound definitely missing something !

    Made a simple video of how to use it (no talking or subtitles, so watch the knobs..). Hope it will help you to get some sound.

    WOW top stuff 🙂

  • The user and all related content has been deleted.
  • @EyeOhEss said:

    @wim said:

    @iamspoon said:

    @rrc2soft said:

    @iamspoon said:
    I’m not a keen coder but this looks great!
    Anyone know if I could create something like the SB Factory “morph” slider sending out multiple MIDI CC values?

    You could use Mozaic XY Pad and/or knobs to send CC values depending on the XY/knob value. Mozaic creates events whenever the value of the GUI elements are changed.

    Give me an example of what you want and I will try to code the skeleton for you

    Very kind of you to offer so before you reconsider here’s the kind of thing I was thinking of :smile:

    1

    A bank of ~8 midi cc controls linked to/controlled by a master dial/cross fader on the UI?

    To elaborate a bit, I’m aiming to have 1 master midi controller (say mod wheel or a dial) that effects all the other midi cc knobs on the interface, preferably with variable/bipolar range.
    Clumsy description, but in essence something like the Yamaha super knob(!?!?) idea where one controller effects multiple CC’s by different amounts in different directions..

    2

    Similar but possibly more complex to code with storing and morphing values ?!?
    Something with functionality like the “morph” fader in SB Factory, but with user definable midi CC to bring this kind of morphing to some ageing external synths.

    I’d be happy to help if this kind of thing is possible!

    This or something like it sounds doable and fun, The XY pad would be perfect for the “super knob” and pads for storing presets to morph between.

    • Tweak knobs
    • Hit pad 1 to store a snapshot
    • Tweak knobs
    • Hit another pad to store a snapshot
    • Morph between settings in pad 1-4 using the quadrants of the XY Pad
    • Maybe add a scaling knob, a randomization factor knob ...

    I might have to take a stab at that one. Too many ideas competing in my brain right now!

    This sounds like it’d be cool :) @brambos maybe you could add a layout specifically based on Octatrack scene fader? But also with an x/y, for extra design choice.

    So would have -
    Crossfader (with a button either side of it)
    8 x Knobs to send different CC
    8 x Buttons for storing different sets of those CC values.
    X/Y pad.

    So you tweak the CC knobs. Save a snapshot to one of the 8 buttons. Then you can hold one of those 8 buttons and tap one of the buttons left/right of the fader to allocate that snapshot to Either side of the fader. Then you can just jam the fader for snapshot morphing between the left/right snapshots. And mix and match by allocating any two of the 8 snapshots as Left/Right on the fader.

    Ideally it would have even more snapshot buttons, either in banks or onscreen if gui space allowed, but 8 would work fine for minimum.

    Interesting. Although you could already use the default “mix” layout and use the shift button for effectively doubling the number of pads.

  • edited May 18
    The user and all related content has been deleted.
  • wimwim
    edited May 18

    Ugh. I have run up against my mathematical / logical limitations. I’m trying to morph between four values based on a point in an XY pad.

    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    Maybe I’m just too tired to see it, but I think I just forgot way too much of my High School geometry (or more likely I was just staring at Debbie Voltz in those tight sweaters way too much).

  • @NoonienS said:

    @Jumpercollins said:

    Tried that still no sound definitely missing something !

    Made a simple video of how to use it (no talking or subtitles, so watch the knobs..). Hope it will help you to get some sound.

    @NoonienS Your so kind young Sir a thousand thanks for the video will give it a go now and report back.

  • edited May 18

    This app is not just great tool for doing MIDI stuff - while reading manual i realized that it is great entry point for understanding basics of coding for non-coders ... More i'm getting into this app, more amazed i am, not just as user but as coder in first place - outstanding job ! Amazingly designed, perfect balance between festures and easy to understand structure !

    For now - app of the year !

  • edited May 18
    The user and all related content has been deleted.
  • edited May 18

    @NoonienS Finally I’m getting some sound, haven’t quite got my head around editing the sequencer yet that will come in time. Can see the power of Mozaic now just from this one preset alone. Many thanks for this.

  • edited May 18

    @wim said:
    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    I haven't picked up the app yet, but have been reading through the manual.
    Would TranslateScale work?

    // calculate value for 10/82
    
    x = TranslateScale 10, 0, 127, 80, 20
    y = TranslateScale 82, 0, 127, 100, 18
    
    z = (x + y) / 2
    
  • @dendy said:
    This app is not just great tool for doing MIDI stuff - while reading manual i realized that it is great entry point for understanding basics of coding for non-coders ... More i'm getting into this app, more amazed i am, not just as user but as coder in first place - outstanding job ! Amazingly designed, perfect balance between festures and easy to understand structure !

    For now - app of the year !

    That’s great praise! Thanks!

  • This is pretty amazing, but I have no idea what the limitations are with this beast.

    I would love to attempt to build a midi splitter / plus individual pitch bend for each midi channel output.
    So I could play a chord, it spits out 16 midi channels, and I can tell midi channel 1 to pitch bend down a semitone over 3 seconds. Midi channel 2 pitch bend down 4 semitones over 2 seconds etc etc - across all midi channels.

    My interest lies in chords/notes doing certain tasks, like arpeggiators with different speeds and channel sends for each note in any chord, with probabilty etc.

    Possible?

  • edited May 18

    @Jumpercollins said:
    @NoonienS Finally I’m getting some sound, haven’t quite got my head around editing the sequencer yet that will come in time. Can see the power of Mozaic now just from this one preset along. Many thanks for this.

    Great to hear! Can understand if the editing is not super intuitive. Had to do it the way it was posssible with the tools available in Mozaic (which is a lot already). @brambos , in a future update it would help if it would become possible to latch pads to different colours + some kind of label per pad..

  • Well, this is a really nice surprise.

    I genuinely feel that I don’t need any more tools on iOS to achieve my goals and wasn’t planning to buy any — but it also feels fateful that if on the very day that I’m actually getting paid fairly to perform music with code (https://algomech.com/2019/artists/udagan/ !!) that something like this is released, I should certainly re-invest some of the performance fee in it!

  • "LabelPad" would be really handy - label can be displayed inside pad, top centered ..

    It will help in combination with shift create more complex app with menu navigation like on Korg Electribe (like Shift+pad 0 -> jump to layout with per pad note knobs, Shift+pad 1 -> jump to layout with per pad volume knobs, etc...)

  • @blakkaz said:

    @wim said:
    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    I haven't picked up the app yet, but have been reading through the manual.
    Would TranslateScale work?

    // calculate value for 10/82
    
    x = TranslateScale 10, 0, 127, 80, 20
    y = TranslateScale 82, 0, 127, 100, 18
    
    z = (x + y) / 2
    

    Thanks for checking it out. I thought that was the way too, but I’m not getting the expected results.

  • @wim said:

    @blakkaz said:

    @wim said:
    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    I haven't picked up the app yet, but have been reading through the manual.
    Would TranslateScale work?

    // calculate value for 10/82
    
    x = TranslateScale 10, 0, 127, 80, 20
    y = TranslateScale 82, 0, 127, 100, 18
    
    z = (x + y) / 2
    

    Thanks for checking it out. I thought that was the way too, but I’m not getting the expected results.

    This is a slightly more complex mathematical problem than it appears on first sight, because each value is made up out of the weighted influence of all 4 corner-values. I've tried solving it using Pythagoras, but I'm not getting the exactly correct values either.

    I have just forwarded the question to the mathematical community on the interwebs. Let's see what the true boffins come up with ;)

  • @brambos said:

    @wim said:

    @blakkaz said:

    @wim said:
    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    I haven't picked up the app yet, but have been reading through the manual.
    Would TranslateScale work?

    // calculate value for 10/82
    
    x = TranslateScale 10, 0, 127, 80, 20
    y = TranslateScale 82, 0, 127, 100, 18
    
    z = (x + y) / 2
    

    Thanks for checking it out. I thought that was the way too, but I’m not getting the expected results.

    This is a slightly more complex mathematical problem than it appears on first sight, because each value is made up out of the weighted influence of all 4 corner-values. I've tried solving it using Pythagoras, but I'm not getting the exactly correct values either.

    I have just forwarded the question to the mathematical community on the interwebs. Let's see what the true boffins come up with ;)

    Oooohhh. In the big leagues now! Thanks for doing that! I asked around at the local beer joint and even the bartender was stumped. Didn’t know where else to turn.

    Can’t wait to hear back!

  • edited May 18

    @rrc2soft said:
    Here is the first script I finished during the Beta. It is an automatic strummer: Input four notes, select a strumming pattern using the knobs (from the first knob onwards), and Mozaic will strum those four notes for you.
    Note that this script provides support for up to four patches within the script, which are selected using the pads (and accessible with an AU parameter)

    Mozaic Project File
    https://dropbox.com/s/npsawsoxdw1bk2x/Strummer.mozaic?dl=0

    Source code @ Github
    https://gist.githubusercontent.com/rrc2soft/8f6f8d155af242a83eb2f2d7f1e29832/raw/1477ae97b37c34724e4beb123ed56f34b9bd720f/Strummer

    Also, as some of you are having problems importing and using user-created scripts, I have created a video that explains the whole process:

    https://youtu.be/hMUvJ9H_eYk

    @rrc2soft Thanks after watching the video and downloaded the script from the AB Wiki managed to get the Strummer working, must say a great piece of work having a lot of creativity and fun with it thanks.

  • @wim said:

    @brambos said:

    @wim said:

    @blakkaz said:

    @wim said:
    Let’s say I have four values: 80, 20, 18, 100.

    • If at 0/0 on the pad, the value is 80
    • If at 0/127 on the pad, the value is 20
    • If at 127/127 on the pad, the value is 18
    • If at 127/0 on the pad, the value is 100

    But ... how do I figure out the value if I’m at various positions like 10/82, 100/100, 100/80?

    I haven't picked up the app yet, but have been reading through the manual.
    Would TranslateScale work?

    // calculate value for 10/82
    
    x = TranslateScale 10, 0, 127, 80, 20
    y = TranslateScale 82, 0, 127, 100, 18
    
    z = (x + y) / 2
    

    Thanks for checking it out. I thought that was the way too, but I’m not getting the expected results.

    This is a slightly more complex mathematical problem than it appears on first sight, because each value is made up out of the weighted influence of all 4 corner-values. I've tried solving it using Pythagoras, but I'm not getting the exactly correct values either.

    I have just forwarded the question to the mathematical community on the interwebs. Let's see what the true boffins come up with ;)

    Oooohhh. In the big leagues now! Thanks for doing that! I asked around at the local beer joint and even the bartender was stumped. Didn’t know where else to turn.

    Can’t wait to hear back!

    Gotta love the internet. The trick is to approach it as a 3 dimensional calculation rather than a 2D plane, and use bilinear interpolation. Here’s the solution:

    @OnLoad
      // corner values
      v00 = 80
      v01 = 20
      v11 = 18
      v10 = 100
    @End
    
    @OnXYChange 
      x = GetXValue / 127 
      y = GetYValue / 127
      z1 = (1-x) * (1-y) * v00
      z2 = x * (1-y) * v10
      z3 = (1-x) * y * v01
      z4 = x * y * v11  
      z = z1 + z2 + z3 + z4
      log z 
    @End   
    
Sign In or Register to comment.