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.

Multiple MIDI Ports in AUM !?

I have currently some “difficulties” in understanding multiple MIDI output ports per audio unit in AUM or any other AU host. In detail: why many MIDI enabled audio units are using multiple ports for the MIDI output of just channel data???

Traditionally MIDI uses up to 16 channels per MIDI port.
So one port can send 16 channels of data per default at same time. This may be confusing to a newbie but it is a 30 years lasting data transmission protocol, clearly structured and logical ...

Furthermore, each MIDI consuming effect or instrument can have a channel filter on the input in AUM, which effectively limits the input to the required amount (or channel) of data, that can be understood and correctly handled by the effect or instrument.

So why is there the necessity to provide multiple output ports with MIDI generating audio units at all, if there are no more than 16 channels used. (i.e. Fugue, Ape Send MIDi... and so on). In my opinion this is confusing just more and not well thought (also in view of host performance and visual resource management).

Can someone please enlighten me?

The reason for asking: I’m developing a multichannel sequencer and an multitimbre sound module (audio units), which can be connected or operate independently. The plan is to provide just the one standard virtual midi out port and/or one virtual midi in port to these audio units, as these do not use more than 16 channels. In fact nobody actually really does that ... most effects are not even multi - channel or multi - timbre.

But currently I can actually virtually see the users complaining, that there is only one out port / in port, because they probably expect multiple (16!?) single ports for the sequencer and the module, which would be somewhat idiotic in many aspects but raising the support level again to unreached amounts, endless explaining why that was realized this way and not the other ...

Comments

  • @JG_digister_com said:
    I have currently some “difficulties” in understanding multiple MIDI output ports per audio unit in AUM or any other AU host. In detail: why many MIDI enabled audio units are using multiple ports for the MIDI output of just channel data???

    Traditionally MIDI uses up to 16 channels per MIDI port.
    So one port can send 16 channels of data per default at same time. This may be confusing to a newbie but it is a 30 years lasting data transmission protocol, clearly structured and logical ...

    Furthermore, each MIDI consuming effect or instrument can have a channel filter on the input in AUM, which effectively limits the input to the required amount (or channel) of data, that can be understood and correctly handled by the effect or instrument.

    So why is there the necessity to provide multiple output ports with MIDI generating audio units at all, if there are no more than 16 channels used. (i.e. Fugue, Ape Send MIDi... and so on). In my opinion this is confusing just more and not well thought (also in view of host performance and visual resource management).

    Can someone please enlighten me?

    The reason for asking: I’m developing a multichannel sequencer and an multitimbre sound module (audio units), which can be connected or operate independently. The plan is to provide just the one standard virtual midi out port and/or one virtual midi in port to these audio units, as these do not use more than 16 channels. In fact nobody actually really does that ... most effects are not even multi - channel or multi - timbre.

    But currently I can actually virtually see the users complaining, that there is only one out port / in port, because they probably expect multiple (16!?) single ports for the sequencer and the module, which would be somewhat idiotic in many aspects but raising the support level again to unreached amounts, endless explaining why that was realized this way and not the other ...

    Maybe best ask the developer part of the forum?

  • I want the users opinion, because i do not understand the demands.

    Addition:
    The problem just multiplies, if you consider that one can load many instances of an audio unit. A module wit 16 ports would establish 16 virtual ports and a sequencer too with EACH new instance. Well that‘s actually really confusing then ...

    I need to understand how the users work. As I see the problem, that many developers do not understand the multiple MIDi port feature of Apple‘s programming interface very well and thus make such fatal decisions with publishing multiple ports, if that is just not necessary with their plugins. This has certain impact on the performance and the resources of a host app.

  • edited September 2019

    Nothing confusing with AUM midi set up IMO, i can’t speak for other ios hosts as i don’t use them.

  • I think multiple ports add to flexibility.
    Or some hosts/AU instruments may not have channel filtering, in which case that's the only way.
    Or some protocols (mpe) require multiple channels for single recipient.
    That said though I wouldn't want to see f.e 16 ports/instance if it's a 16ch seq/gen, but imo up to 4 it's still manageable.

  • Hmm,

    i'm fairly used to work with multi-channel midi on single ports, but to others this may be confusing (and it introduces the additional step of limiting the midi input channel). Here AUMs midi matrix with multi-port Fugue Maschine:

    When using only a single port, the Midi Matrix looks like:

    .
    @JG_digister_com I would prefer single port with 16 channels. As already mentioned, the matrix and each channels input port list would be spammed when using several instances.

    I also would like if the multi-port of Fugue Maschine could be switched off with a setting (Advertise Ports: Yes / No) out of the same reason.

    .

    @j_liljedahl AUM Feature-Request: Usage of single-port / multi channel midi could be simplified by also showing the filtered midi channels in the matrix:

    Only show that column, if any of the midi inputs is limited - perhaps use 'omni' for the ones that are not limited :)

  • @JG_digister_com said:
    I have currently some “difficulties” in understanding multiple MIDI output ports per audio unit in AUM or any other AU host. In detail: why many MIDI enabled audio units are using multiple ports for the MIDI output of just channel data???

    Traditionally MIDI uses up to 16 channels per MIDI port.
    So one port can send 16 channels of data per default at same time. This may be confusing to a newbie but it is a 30 years lasting data transmission protocol, clearly structured and logical ...

    Furthermore, each MIDI consuming effect or instrument can have a channel filter on the input in AUM, which effectively limits the input to the required amount (or channel) of data, that can be understood and correctly handled by the effect or instrument.

    So why is there the necessity to provide multiple output ports with MIDI generating audio units at all, if there are no more than 16 channels used. (i.e. Fugue, Ape Send MIDi... and so on). In my opinion this is confusing just more and not well thought (also in view of host performance and visual resource management).

    Can someone please enlighten me?

    The reason for asking: I’m developing a multichannel sequencer and an multitimbre sound module (audio units), which can be connected or operate independently. The plan is to provide just the one standard virtual midi out port and/or one virtual midi in port to these audio units, as these do not use more than 16 channels. In fact nobody actually really does that ... most effects are not even multi - channel or multi - timbre.

    But currently I can actually virtually see the users complaining, that there is only one out port / in port, because they probably expect multiple (16!?) single ports for the sequencer and the module, which would be somewhat idiotic in many aspects but raising the support level again to unreached amounts, endless explaining why that was realized this way and not the other ...

    What are some examples of MIDI AUs that implement the feature to which you object?

  • edited September 2019

    look above now. ^^ everything very good demonstrated. thanks to _ki.

    Now imagine this with a sequencer and an multitimbre tone module. it would establish 16 to 32 ports with each instance. this is what I moaned. the 16 channels can be managed by one single MIDI port in contradiction to this, which is called OMNI.

  • Unfortunately the api (application programmin interface) does NOT feature dynamic port creation. it is an initialization feature. Therefore this entire thread here.

    If it could be created/changed dynamically, this would be a solution as the unit could have a switch to do it. But this isn‘t the case.

  • edited September 2019

    Uuups, now look at this: AUM is not even able to display all the ports with just 2 Fugues and 2 Ape Send MIDI audio units in portrait mode. this is a 12.9 inch display.

    So one single 16 port plugin would actually occupy everything there. .. ^^

    I think question answered:
    For devs, its not a good idea to publish multiple ports, if you do not have more than 16 channels to work with or another important reason for doing that ...

    B.t.w.: I always asked myself, why there is no multi timbre sound module and no MIDI file player as audio units there yet, as this could drastically improve the creative work with AUM and Matrix, as you can use external MIDI editors on any system for creating music patterns and then load these arranged MIDI files for iOS audio production with such hosts.

  • edited September 2019

    @JG_digister_com said:

    Uuups, now look at this: AUM is not even able to display all the ports with just 2 Fugues and 2 Ape Send MIDI audio units in portrait mode. this is a 12.9 inch display.

    So one single 16 port plugin would actually occupy everything there. .. ^^

    I think question answered:
    For devs, its not a good idea to publish multiple ports, if you do not have more than 16 channels to work with or another important reason for doing that ...

    B.t.w.: I always asked myself, why there is no multi timbre sound module and no MIDI file player as audio units there yet, as this could drastically improve the creative work with AUM and Matrix, as you can use external MIDI editors on any system for creating music patterns and then load these arranged MIDI files for iOS audio production with such hosts.

    Beathawk f.e is multi timbre sound module, and I agree that in that case it's more convenient to have single port. I guess it's not so popular yet because no host supports multiple audio outs from AU, which would be good to have.

    For midi file player, have you tried Photon?
    As for AUM port display, I'm kinda used to it. When my iPad attached to my main setup (iConnectmidi4+ alone 16 ports) it's endless scrolling. But I would still prefer having multiple ports in most cases.

  • KQ Dixie is also multi-timbral. It uses a single midi port with up to 8 or 16 parts using individual midi channels.

    New app sounds interesting. :)

  • edited September 2019

    KQ Dixie ?!

    I did not know this as I love FM. But I fear the UI is distracting me again from it. ^^ shame on me yes, it physically hurts my eyes (as someone told in another thread...)

    This is really sometimes an issue.
    But i want to give it a try.

    Ps: bismark i16 is just misleading. am I right with this? I cannot feature out whether (and then why) this is not a multi timbre synthesizer audio unit, as the app definitively is.

  • @JG_digister_com you can change the colors to be less distracting. It's worth it. It's my favorite synth and pairs really well with JAF collection.

  • Even if the setting is not dynamic, the app could offer to toggle setting in the standard IOS settings and apply that only on startup.

  • edited September 2019

    Good idea, but...

    I fear that’s just not possible, as the audio unit is always loaded by the system processes, not even by the loding host app. because it will loaded into a global system process. As the audio unit is even not an app, but a system managed extension, it has limited possibilities to call up system preferences prior being loaded this way...

    I am not sure with this, as this would require several tests to verify. I currently do not even know, whether it even can establish own system preferences, excuse me..

    On iOS, any audio process (especially the audio unit system) is a system process, completely managed by the “big brother”. and he will badly hurt your fingers if you do not do what he wants. 😎

    the publishing of MIDI ports is so early inside the initialization process, that it is questionable whether this can get initialized based on any external conditions. it is established quasi at construction time and it is outside the focus of an host app at this moment.

  • wimwim
    edited September 2019

    One way to look at it: you can always add features later if there's demand, but once added you can't really take it away. Multi-port midi seems like one a good one to keep back until there's a clear demand for it.

  • It is how it is. One option could be for hosts to provide the means to switch off the displaying of selected ports if the user doesn’t wish to see/use them.

  • @JG_digister_com, one use case for multiple ports from Fugue is to live jam on the routing matrix as you play, quickly changing which playhead gets sent to which destination on-the-fly. This wouldn't be doable with channel filtering.

  • @bleep Thats what my Midi Matrix Switch script fo Mozaic does. You can mangle and jam with the 16 channel configuration (and do muting) without stuck notes.

    Using AUMs matrix, switching channels while a note is active will produce a hanging note as the note-on may be received by a synth, but the note-off goes to a different synth. That can even happen for fast playing notes.

  • The main advantage I think is workflow. Much easier working with multiple ports rather than midi channels in routing, it's visually much clearer. It would be nice to be able to hide/unhide ports though to clean up the view a bit. :)

  • @_ki said:
    @bleep Thats what my Midi Matrix Switch script fo Mozaic does. You can mangle and jam with the 16 channel configuration (and do muting) without stuck notes.

    Using AUMs matrix, switching channels while a note is active will produce a hanging note as the note-on may be received by a synth, but the note-off goes to a different synth. That can even happen for fast playing notes.

    In which version of AUM? hanging notes when routing MIDI was fixed in 1.3.0, released about 4 months ago.

  • @j_liljedahl You are right: I just re-tested with the current AUM and it correctly sends note-offs for sustained notes when disconnecting via the midi matrix or the channel selector. Very nice and a cool feature :)

    .

    I found a minor glitch while testing: AUM stores these sustained notes even when they are already released and will re-send them on next disconnect of the same connection.

    Here the steps to reproduce:

    • Load KB-1 and Midi Monitor into midi slots.
    • Connect KB-1 to Midi Monitor, set KB-1 to latch and press C3: You'll see the note-on in the midi monitor.
    • Disconnect KB-1 from Midi Monitor (while note is still latched) and AUM generates a note-off send to Midi Monitor.
    • Release C3 key in KB-1 while beeing unconnected.
    • Now reconnect KB-1 to Midi Monitor, press C4 (latch is still on) and notice the note-on shown in Midi Monitor.
    • Upon disconnecting, AUM will send note-offs for C3 and C4

    When using AUMs internal keyboard, AUM only sends the currently latched notes.

    But when sending sutained notes from AUMs keyboard to Rozeta Scaler, Scaler to Midi Monitor and then disconnecting Scaler from Midi Monitor, note-offs for old sustained notes are re-send.

    .

    I don't think these 'extra' note-offs pose a big problem Nevertheless, I wanted to inform you

  • @_ki said:
    @j_liljedahl You are right: I just re-tested with the current AUM and it correctly sends note-offs for sustained notes when disconnecting via the midi matrix or the channel selector. Very nice and a cool feature :)

    .

    I found a minor glitch while testing: AUM stores these sustained notes even when they are already released and will re-send them on next disconnect of the same connection.

    Here the steps to reproduce:

    • Load KB-1 and Midi Monitor into midi slots.
    • Connect KB-1 to Midi Monitor, set KB-1 to latch and press C3: You'll see the note-on in the midi monitor.
    • Disconnect KB-1 from Midi Monitor (while note is still latched) and AUM generates a note-off send to Midi Monitor.
    • Release C3 key in KB-1 while beeing unconnected.
    • Now reconnect KB-1 to Midi Monitor, press C4 (latch is still on) and notice the note-on shown in Midi Monitor.
    • Upon disconnecting, AUM will send note-offs for C3 and C4

    When using AUMs internal keyboard, AUM only sends the currently latched notes.

    But when sending sutained notes from AUMs keyboard to Rozeta Scaler, Scaler to Midi Monitor and then disconnecting Scaler from Midi Monitor, note-offs for old sustained notes are re-send.

    .

    I don't think these 'extra' note-offs pose a big problem Nevertheless, I wanted to inform you

    Thanks for the information, I'll look into it, but I agree it's probably not an issue in practice.

  • @j_liljedahl said:

    @_ki said:
    @j_liljedahl You are right: I just re-tested with the current AUM and it correctly sends note-offs for sustained notes when disconnecting via the midi matrix or the channel selector. Very nice and a cool feature :)

    .

    I found a minor glitch while testing: AUM stores these sustained notes even when they are already released and will re-send them on next disconnect of the same connection.

    Here the steps to reproduce:

    • Load KB-1 and Midi Monitor into midi slots.
    • Connect KB-1 to Midi Monitor, set KB-1 to latch and press C3: You'll see the note-on in the midi monitor.
    • Disconnect KB-1 from Midi Monitor (while note is still latched) and AUM generates a note-off send to Midi Monitor.
    • Release C3 key in KB-1 while beeing unconnected.
    • Now reconnect KB-1 to Midi Monitor, press C4 (latch is still on) and notice the note-on shown in Midi Monitor.
    • Upon disconnecting, AUM will send note-offs for C3 and C4

    When using AUMs internal keyboard, AUM only sends the currently latched notes.

    But when sending sutained notes from AUMs keyboard to Rozeta Scaler, Scaler to Midi Monitor and then disconnecting Scaler from Midi Monitor, note-offs for old sustained notes are re-send.

    .

    I don't think these 'extra' note-offs pose a big problem Nevertheless, I wanted to inform you

    Thanks for the information, I'll look into it, but I agree it's probably not an issue in practice.

    Ok, found it :) It was an optimization that ignored any MIDI events coming out of AUv3 instances in case it was not connected to any MIDI destination. (No need to spend CPU time processing MIDI packages if they're not going to be used, I thought).

    So, it also meant it stopped tracking note states. Fixed by removing the optimization.

Sign In or Register to comment.