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.

StreamByter AUv3 (Out now!) - All the Midi-Control you could ask for!

Nic Grant, dev of MidiFire is soon to release the StreamByter module as a standalone AUv3.

This is great news. It's a very powerful utility that could probably achieve any midi conundrum you throw at it.

It does have a steepish learning curve as it uses a kind of coding. However, Nic is pretty much legendary for his customer service and will almost always have a solution for you if you send him an email. Often writing and sending back the code you'll need.

BTW, if anybody here is versed in using the StreamByter from MidiBridge or MidiFire, Nic could do with a few more Beta Testers for this AUv3 version. If you're interested you can drop him a line here... [email protected]

Expected price is $7 USD and local equivalent.

I'll update this post with news and tips over time.

I'll also add a few bits below that may be helpful in working out the code needed for different midi scenarios.

The code uses hex so I'll post a conversion chart for that below.

Will also link to some useful midi spec documents.

A brief mention that in the code examples you'll see these numbers and letters appear quite often.

Not always, but often, these will mean (if they are the first digit) ....

8 = Note Off
9 = Note On
A = Aftertouch (Polyphonic Key Pressure)
B = Controller Change (CC)
C = Program Change
D = Channel Pressure (aka aftertouch)
E = Pitch Bend

N = ALL notes

X = Any Channel ( and/ or other parameter based on code context)
XX = The same Midi message type and channel. (when positioned on the right of the equals sign)

There will also be examples of Arrays using the Letters, M (midi message), G (Global array), I, J, K, L (4 x local arrays). These are mainly used in more complicated midi solutions.

It does take some learning, but is well worth it.

I'll improve the explanations here in time.

In the example below I've remapped all midi events from Step Poly to Poison202 via the StreamByter.

    XX = X7 # remap everything to channel 8
    NX 3C = XX 3D # remap middle C to C#

It says channel 7 (x"7") in the code because index 0(zero) =1, so therefore index 7 = channel 8.
I've also remapped a single note, middle C (3C which is 60 in hex), to C# (3D = 61 in hex)

«13456789

Comments

  • edited June 2018

    Hex conversion chart...

  • edited June 2018

    Audeonic forum where you can find support and code examples...

    http://audeonic.boards.net/

  • edited June 2018

    Here's a pic of some of the app's presets. These serve as multiple examples of what the app can do, rather than ALL of this code being required.

    Sometimes a difficult midi task needs just one line of code. It's AWESOME! :)

  • edited June 2018

    MORE presets....

  • Epic.

  • Yeah it's awesome. I've been testing it too in, apeMatrix the most. So many potential uses.
    When more stuff gets shared a big library will build up quickly :smile:

  • Oh this feels so beautiful, yet so out of my grasp :confounded:

  • Wow! This is exciting.

  • Way over my pay grade! If you have midifire does this add anything new to the midi party?

  • edited June 2018

    @Jumpercollins said:
    Way over my pay grade! If you have midifire does this add anything new to the midi party?

    This is the same StreamByter you'll find in the MidiFire app. I think one advantage is the ease of use as an AUv3 in your hosting environment. For me, that's in AUM.

  • Woah, great stuff! I’m just getting started with stream byter but maybe I could do some testing too. Great to see this becoming a plugin!

  • The main thing I would want from such an app would be the ability to add some humanizing randomness to sequencer and arpeggiator outputs:

    1) Random note deletion, adjustable.
    2) Humanization of rhythms, also adjustable.

  • Holy (every expletive imaginable) !!!!!!

    This news is so amazing. My head is on fire, all these possible scenarios flashing through.
    Damn! This year started a little slow, but it just keeps getting more exciting and amazing everyday. B)

  • Having written some software for personal use for the desktop that randomizes music, I can easily see that this might be what I’ve been hoping for for iOS. I’m definitely a coding kinda geek, so the possibilities it appears to offer could be pretty amazing. The coding language doesn’t appear to be THAT complex. I look forward to getting it.

  • On the upside it looks great and flexible.

    On the downside it’s a bit too adjacent to my paid gig for me to script.

    As @Carnbot says, it would be good for a user library to build up. Much like Audulus.

  • @motmeister said:
    Having written some software for personal use for the desktop that randomizes music, I can easily see that this might be what I’ve been hoping for for iOS. I’m definitely a coding kinda geek, so the possibilities it appears to offer could be pretty amazing. The coding language doesn’t appear to be THAT complex. I look forward to getting it.

    I was able to do some simple “scratch in the surface” type stuff really quickly. It is pretty simple, syntax-wise. A lot of this = that statements.
    But the range of commands you can use is pretty big, so it still takes a while to go deep.
    I have pretty much no coding experience, but I have some scripting experience, which helps.

  • Awesome!

  • @TheVimFuego said:
    On the upside it looks great and flexible.

    On the downside it’s a bit too adjacent to my paid gig for me to script.

    As @Carnbot says, it would be good for a user library to build up. Much like Audulus.

    The presets in that first preset pic pretty much are a library. They’re a bunch of one-line tasks, just copy paste the one you need, that’s it. :)

    Blocking Medley

    by audeonic

    a collection of event blocking examples

    XX = XX +B # block everything
    X9 = XX +B # block channel 10
    X8-F = XX +B # block channels 9 to 16
    F0 = XX +B # block sysex dumps
    FE = XX +B # block active sense
    F8-C = XX +B # block clock
    NX 00-3B = XX +B # block notes below middle C
    NX XX 70-7F = XX +B # block loud notes
    AX = XX +B # block poly key pressure
    DX = XX +B # block channel pressure
    EX = XX +B # block pitchbend
    BX = XX +B # block all controllers
    BX 40 = XX +B # block sustain pedal
    ……………………………………………………………

    Remapping Smorgasbord

    by audeonic

    a collection of event remapping examples

    channels

    XX = X9 # remap everything to channel 10
    X0 = X9 # remap channel 1 to 10
    X0 = X1 +C # copy all channel 1 to 2

    individual notes

    NX 3C = XX 3D # remap middle C to C#
    NX 3C = XX 3E +C # add 3rd to middle C

    controllers

    BX 07 = BX 08 # remap CC7 to CC8
    BX 07 = BX 08 +C # clone CC7 to CC8

    others

    90 3C = BX 07 +C # clone middle C velocity to CC7
    ……………………………………………………………

  • Very neat indeed @SpookyZoo, I’m more into immediate jamming than coding these days but I may well find some creative uses for this ... mapping notes to CCs (possibly with a multiplier/divider) looks interesting.

  • @SpookyZoo You really bringing the fiyah in this thread. Maximum appreciation! B)

  • @TheVimFuego said:
    Very neat indeed @SpookyZoo, I’m more into immediate jamming than coding these days but I may well find some creative uses for this ... mapping notes to CCs (possibly with a multiplier/divider) looks interesting.

    AUM can save the state of StreamByter AUv3, so it could be a code once and load whenever setup, if that sounds useful? :)

  • edited June 2018

    Nic has just put up the basic website that describes the app and it's
    features:

    https://audeonic.com/streambyter

    Screenshot of StreamByter in ApeMatrix...

    https://audeonic.com/streambyter

  • This is awesome news :)

  • So could this be used to create some basic AU midi Fx, that we can save and reuse, and even trade with other users? That sounds insanely cool. And powerful.

    I hope I am understanding this thing correctly. If these AU midi Fx somehow ran as regular AU plugins even for people that don’t own this app, I think I would lose my mind. :)

  • @CracklePot said:
    So could this be used to create some basic AU midi Fx, that we can save and reuse, and even trade with other users? That sounds insanely cool. And powerful.

    I hope I am understanding this thing correctly. If these AU midi Fx somehow ran as regular AU plugins even for people that don’t own this app, I think I would lose my mind. :)

    Certainly can be used for AU midi FX, you can write and save your own presets. Multiple instances etc.

    However, I'm sure it would require the user to own the app, just like any other AU? Or maybe I'm missing part of your question?

  • @SpookyZoo said:

    @CracklePot said:
    So could this be used to create some basic AU midi Fx, that we can save and reuse, and even trade with other users? That sounds insanely cool. And powerful.

    I hope I am understanding this thing correctly. If these AU midi Fx somehow ran as regular AU plugins even for people that don’t own this app, I think I would lose my mind. :)

    Certainly can be used for AU midi FX, you can write and save your own presets. Multiple instances etc.

    However, I'm sure it would require the user to own the app, just like any other AU? Or maybe I'm missing part of your question?

    Yeah I figured you would load the MidiFire AU, which then would run the script of your choice. I was just speculating about a scripting environment that could generate sort of stand alone AU midi Fx. But I figured it not possible, as they would really be more like individual apps. I suppose you would always need an app to run the scripts in, otherwise the scripts would need to be compiled into apps themselves to work as a normal AU in a host.

    So can you trade these scripts/presets with other users of this app easily? It would be a good reason for everyone to get this app, regardless of scripting ability. It seems like it would be easier to use than the StreamByter module inside of MidiFire, for people who aren’t experienced with scripts, or even midi. AU is pretty straightforward.

  • edited June 2018

    @CracklePot said:

    So can you trade these scripts/presets with other users of this app easily?

    Yeah definitely. Literally just copy and paste the text.

    For example, if a forum member here asked for the code to remap the midi from channel 4 to channel 10, and somebody replied with the solution...

    X3 = X9 # remap channel 4 to 10

    They then just copy that text and paste it into the Stream Byter.

    The routing in my example at the top is StepPolyArp > StreamByter > Poison 202.

    StepPoly outputs by default on midi Channel 1. I've selected StepPoly as the source for StreamByter and added the code that will reroute the midi to Channel 8 for Poison 202.

Sign In or Register to comment.