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.

AB3 / Core / IAA / Network / Virtual / MIDI Interaction Discoveries/Questions/Help!

Since AB3 has been out I've been experimenting with its connections and the like. I'm still not sure of all the intended behaviors between Midi protocols. So I wanted to create this thread for feedback, or anyone who has similar Q's.

Currently, what I'm trying to figure is the MIDI port enumeration I get when I load up various apps into the 3 MIDI slots of AB3.

I'll use some screenshots from Bome's Midi Translator.

  1. Here's my default MIDI Input Ports on the Mac & same state on the iPad. I've kept all the iConnect stuff closed here.

I didn't know much going into AB3 - but a pleasant surprise is each Network Session on the Mac (Or RTP etc Session) on the PC - Gives you 16 MIDI In/Out Channels, and can be loaded on both the MIDI Input/Output slots in AB3. Using the Network sessions (which can work via ethernet or Wireless for MIDI), is a great low-latency way to route MIDI. I think you can create 16 Sessions. And pic also shows Bome Network - which is a single 16 Channel ethernet MIDI connection. I generally use Bome Network between my other computers on the home network as it's really persistent connection with probably sub 1ms latency with multiple hops.

Anyways. I get confused when I start to load up other MIDI apps in AB3. For example, starting a Clear session of AB3 and just loading MF-Monitor into a single MIDI FX Slot - results in 32 MIDI-Out Ports on my Mac (ie single instance of MF-Monitor enumerates 32 Receiving Channels). The Port names are really long: Audiobus - Audiobus MIDI destination endpoint for peer MF Monitor port Monitor 1 @ iPad. The 32 ports look actually like 2 sets of 16 ports. My guess here is each my Network Sessions is automatically provided a MF-Monitor Port for its respective 16 MIDI channels?
I do wish the port names were shorter, in Live the MIDI window isn't resizable and the ports are indistinguishable as such.

Strange behaviors happen from here. In AB3 if I clear the session, disconnecting MF-Monitor, the port enumeration persists on my Computers, until I close MF-Monitor, as it will run without AB3 as well. However, closing/restarting/again clearing AB3 Session, then loading MF-Monitor will not enumerate the ports as before, both Live and Bome confirm this, even with restarting both of them as well to confirm.

But, if I play some notes through my Circuit, for example, into Live on a MIDI track that outputs its MIDI to the Network Session, it will be picked up by MF-Monitor, when I set the Input Channel to receive from the Mac - Here on the Output channel of AB3 I've set up Network Session 2 to forward the MIDI - with My PC being the Receiver. This works great and is reflected in Bome:

I'm unsure of the exact distinction _MF-Adapte_r provides over a Network or RTP MIDI session. It has 10 Midi Ports, whereas the Network Sessions have 16. Multiple MF-Adapter instances work, but they don't enumerate further ports. Again though, MF-Monitor enumerates 16 Receiving channels per instance, so if you monitor multiple AB3 Busses, 32 per instance in my case! Screen grab of MF-Adapter ports from MidiMux: Again, guessing, but looks the primary distinction of MF-Adapter is virtual routing between apps with Core-iOS (or OS) MIDI to and fro apps with AB3 MIDI.

MidiFiLTr-PG of course, loads into the FX MIDI Slot on AB3. You can only run a single instance - and from AB3 it offers a single Output Port, but 2 Input Ports. One of the Input Ports is the AB3 port: midiFiLTr-PG - Audiobus MIDI destination endpoint for peer midiFiLTr-PG port Art Kerns: midiFiLTr-PG MIDI @ iPad - eesh. Here what confuses me is that my assumption is when an app is Loaded into AB3 it should not enumerate both its Core MIDI and AB3 MIDI ports - here a second Output Port: midiFiLTr-PG @ iPad, is available. This would seem to be the case, as the THRU MODE in midiFiLTr-PG only shows Audiobus as an option, when loaded into the FX MIDI slot of AB3. In a Core MIDI scenario, you can pick the output ports to send MIDI-Thru midiFiLT-rPG.

This is where the Rules get a bit fuzzy to me. I know, for example, that IAA MIDI should be disabled when an IAA app is loaded into AB3, right? Maybe tha'ts even wrong - but I believe the Transport Bars that usually show on IAA Apps are supposed to be disabled when part of an AB3 session, correct?

These are just a few aspects of AB3 I've noticed. Do you have any other tips - how about for Presets, Saving, recalling, working betwen IAA/Core/AB3 MIDI? I'm not having any "problems" per se with AB3 - I'd just like to know some more of the rules - and especially the scenarios where rules can be discretionary because of developer options, or protocol flexibility?

Thx for any feedback!

Comments

  • My head asplode and I run back to Session Band :) Good luck with your investigations!

  • Hi @Aud_iOS,

    Audiobus uses so called hidden virtual MIDI sources and destinations. Due to an iOS bug these ports are not hidden sometimes and are shown up in other apps.

    The problem can be solved by the developer of the apps showing Audiobus' hidden MIDI ports. They can check if a port is a private port (search key "kMIDIPropertyPrivate"). If yes they should not display this port.

    Best,
    Gabriel

Sign In or Register to comment.