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.

MIDI CC controlled MIDI note filter -- exists? (or scripts?) -- <<The answer was Mozaic>>

2»

Comments

  • @wim said:

    @OscarSouth said:

    @wim said:
    What would be really helpful is if you could send a midi spy or other capture before and after the mozaic script. All I can do without replicating your exact setup is to see if what comes out is correct based on what goes in. If so, the it's a Koala or other setup issue. If not, the bug should be easy enough to find.

    I’ll do that tomorrow. Slipped my mind tonight as it was a bit late already.

    Maybe don't bother spending too much time on it. I need to add the stuck note stuff anyway.

    Didn't get to this yet but I'm still planning to explore more.

  • @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:
    What would be really helpful is if you could send a midi spy or other capture before and after the mozaic script. All I can do without replicating your exact setup is to see if what comes out is correct based on what goes in. If so, the it's a Koala or other setup issue. If not, the bug should be easy enough to find.

    I’ll do that tomorrow. Slipped my mind tonight as it was a bit late already.

    Maybe don't bother spending too much time on it. I need to add the stuck note stuff anyway.

    Didn't get to this yet but I'm still planning to explore more.

    Same. I wrote the basic note tracking, but haven't tested yet. By coincidence, I'm sitting down to that now.

  • @wim said:

    @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:
    What would be really helpful is if you could send a midi spy or other capture before and after the mozaic script. All I can do without replicating your exact setup is to see if what comes out is correct based on what goes in. If so, the it's a Koala or other setup issue. If not, the bug should be easy enough to find.

    I’ll do that tomorrow. Slipped my mind tonight as it was a bit late already.

    Maybe don't bother spending too much time on it. I need to add the stuck note stuff anyway.

    Didn't get to this yet but I'm still planning to explore more.

    Same. I wrote the basic note tracking, but haven't tested yet. By coincidence, I'm sitting down to that now.

    I'm working on a minimalist version of the functionality that I described originally. I notice that the the behaviour I noticed occurs with ANY stream of MIDI data passed through Mozaic.

    For example, Koala will behave significantly differently to this script:

    @OnMidiNote
    SendMIDIThru
    @End

    .. than to the same MIDI input to that script, with the Mozaic instance muted.

    This means that it's nothing do do with your script and with an innate behaviour of Mozaic.

    As these are only drum triggers, I've solved the issue in my minimalist implementation by filtering out the Note Offs and re-adding it in the script with an arbitrary delay.

    If I send the Note Off with a delay of 0, the same problem occurs. If I send the Note Off with even a delay of 1, Koala behaves normally. Could it be that the Note Off messages are coming in so fast after the Note Ons from the drum machine that they're being bundled into one message by Mozaic, thus not being received in an expected order in Koala? Pure speculation.

  • @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:
    What would be really helpful is if you could send a midi spy or other capture before and after the mozaic script. All I can do without replicating your exact setup is to see if what comes out is correct based on what goes in. If so, the it's a Koala or other setup issue. If not, the bug should be easy enough to find.

    I’ll do that tomorrow. Slipped my mind tonight as it was a bit late already.

    Maybe don't bother spending too much time on it. I need to add the stuck note stuff anyway.

    Didn't get to this yet but I'm still planning to explore more.

    Same. I wrote the basic note tracking, but haven't tested yet. By coincidence, I'm sitting down to that now.

    I'm working on a minimalist version of the functionality that I described originally. I notice that the the behaviour I noticed occurs with ANY stream of MIDI data passed through Mozaic.

    For example, Koala will behave significantly differently to this script:

    @OnMidiNote
    SendMIDIThru
    @End

    .. than to the same MIDI input to that script, with the Mozaic instance muted.

    This means that it's nothing do do with your script and with an innate behaviour of Mozaic.

    As these are only drum triggers, I've solved the issue in my minimalist implementation by filtering out the Note Offs and re-adding it in the script with an arbitrary delay.

    If I send the Note Off with a delay of 0, the same problem occurs. If I send the Note Off with even a delay of 1, Koala behaves normally. Could it be that the Note Off messages are coming in so fast after the Note Ons from the drum machine that they're being bundled into one message by Mozaic, thus not being received in an expected order in Koala? Pure speculation.

    I think it's time to conjure up @brambos. If the different behavior can be demonstrated with a script as simple as the SendMIDIThru above, it should be something that can be replicated and understood.

    Is it happening only in Audiobus, or in other hosts as well?

  • edited March 2021

    @wim said:
    Is it happening only in Audiobus, or in other hosts as well?

    Good question (I am using AudioBus) and I'll answer it after I cook dinner, unless someone else does first!

  • @wim said:

    @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:

    @OscarSouth said:

    @wim said:
    What would be really helpful is if you could send a midi spy or other capture before and after the mozaic script. All I can do without replicating your exact setup is to see if what comes out is correct based on what goes in. If so, the it's a Koala or other setup issue. If not, the bug should be easy enough to find.

    I’ll do that tomorrow. Slipped my mind tonight as it was a bit late already.

    Maybe don't bother spending too much time on it. I need to add the stuck note stuff anyway.

    Didn't get to this yet but I'm still planning to explore more.

    Same. I wrote the basic note tracking, but haven't tested yet. By coincidence, I'm sitting down to that now.

    I'm working on a minimalist version of the functionality that I described originally. I notice that the the behaviour I noticed occurs with ANY stream of MIDI data passed through Mozaic.

    For example, Koala will behave significantly differently to this script:

    @OnMidiNote
    SendMIDIThru
    @End

    .. than to the same MIDI input to that script, with the Mozaic instance muted.

    This means that it's nothing do do with your script and with an innate behaviour of Mozaic.

    As these are only drum triggers, I've solved the issue in my minimalist implementation by filtering out the Note Offs and re-adding it in the script with an arbitrary delay.

    If I send the Note Off with a delay of 0, the same problem occurs. If I send the Note Off with even a delay of 1, Koala behaves normally. Could it be that the Note Off messages are coming in so fast after the Note Ons from the drum machine that they're being bundled into one message by Mozaic, thus not being received in an expected order in Koala? Pure speculation.

    I think it's time to conjure up @brambos. If the different behavior can be demonstrated with a script as simple as the SendMIDIThru above, it should be something that can be replicated and understood.

    Is it happening only in Audiobus, or in other hosts as well?

    I’m testing in AUM now and it looks like it’s not happening there. Soo .. @Michael maybe you’d like to know about this?

    I actually did have issues in AudioBus in the past where I was sending in different midi cc streams in perfect synchronisation (from a laptop) and only one seemed to be able to be received at the same time. If I was controlling those parameters by hand (hardware faders) then the same issue didn’t occur. Maybe connected?

  • wimwim
    edited March 2021

    @OscarSouth said:
    I’m testing in AUM now and it looks like it’s not happening there. Soo .. @Michael maybe you’d like to know about this?

    I actually did have issues in AudioBus in the past where I was sending in different midi cc streams in perfect synchronisation (from a laptop) and only one seemed to be able to be received at the same time. If I was controlling those parameters by hand (hardware faders) then the same issue didn’t occur. Maybe connected?

    That's odd. My experience has been just the opposite. I had scripts that failed in AUM because they sent too many midi messages too close together. Placing a midi monitor, I could see the messages being dropped. I had to add some short delay to the messages to stagger them. Those same scripts worked without the delay in Audiobus. Weird. But, that was also at least a few updates ago for both apps and for iOS, so much could have changed.

  • @wim said:

    @OscarSouth said:
    I’m testing in AUM now and it looks like it’s not happening there. Soo .. @Michael maybe you’d like to know about this?

    I actually did have issues in AudioBus in the past where I was sending in different midi cc streams in perfect synchronisation (from a laptop) and only one seemed to be able to be received at the same time. If I was controlling those parameters by hand (hardware faders) then the same issue didn’t occur. Maybe connected?

    That's odd. My experience has been just the opposite. I had scripts that failed in AUM because they sent too many midi messages too close together. Placing a midi monitor, I could see the messages being dropped. I had to add some short delay to the messages to stagger them. Those same scripts worked without the delay in Audiobus. Weird. But, that was also at least a few updates ago for both apps and for iOS, so much could have changed.

    If the issue is that Koala can’t handle the note on and off being less than a millisecond apart, AUM being the slightest bit less efficient might result in better behavior than AB if AB is slightly more efficient. I have found a few situations with different apps where I need to make sure note one and offs don’t come in too close together.

  • wimwim
    edited March 2021

    @espiegel123 said:

    @wim said:

    @OscarSouth said:
    I’m testing in AUM now and it looks like it’s not happening there. Soo .. @Michael maybe you’d like to know about this?

    I actually did have issues in AudioBus in the past where I was sending in different midi cc streams in perfect synchronisation (from a laptop) and only one seemed to be able to be received at the same time. If I was controlling those parameters by hand (hardware faders) then the same issue didn’t occur. Maybe connected?

    That's odd. My experience has been just the opposite. I had scripts that failed in AUM because they sent too many midi messages too close together. Placing a midi monitor, I could see the messages being dropped. I had to add some short delay to the messages to stagger them. Those same scripts worked without the delay in Audiobus. Weird. But, that was also at least a few updates ago for both apps and for iOS, so much could have changed.

    If the issue is that Koala can’t handle the note on and off being less than a millisecond apart, AUM being the slightest bit less efficient might result in better behavior than AB if AB is slightly more efficient. I have found a few situations with different apps where I need to make sure note one and offs don’t come in too close together.

    I don't think that's really the issue. The same controller sending to directly to through Audiobus Koala works fine. Sending through Mozaic in Audiobus with a simple SendMIDIThru doesn't work. Sending through that same simple script in AUM works. By process of elimination, the most likely cause seems like it must be something about Mozaic running inside Audiobus.

  • So the symptom is hanging notes, when using SendMIDIThru?

  • @brambos said:
    So the symptom is hanging notes, when using SendMIDIThru?

    Something like that — the pads are depressing and un-pressing somewhat randomly when the midi stream is passed through Mozaic in AudioBus. You can see a video here:

    If I filter out the note offs and re-add them in the script with a delay of 1, then Koala responds normally (same as if receiving midi directly from the drum machine). If I change that behaviour to a delay of 0 for note off then the behaviour is identical to simply sending MIDI thru.

  • edited March 2021

    Are the note on and note off messages send simultaneously (i.e. without a delay between them?). If so, I'd recommend always separating them with a tiny delay. Lots of apps and devices choke when you send them with the same timestamp because the order of simultaneous messages in the MIDI transmission is not guaranteed.

    One cause of the problem I can think of is that multiple events are packed together in a single message and Koala skips all events after the first?

  • @brambos said:
    Are the note on and note off messages send simultaneously (i.e. without a delay between them?). If so, I'd recommend always separating them with a tiny delay. Lots of apps and devices choke when you send them with the same timestamp because the order of simultaneous messages in the MIDI transmission is not guaranteed.

    One cause of the problem I can think of is that multiple events are packed together in a single message and Koala skips all events after the first?

    It's coming from an Alesis SR-16 drum machine. I notice that the off comes in very quickly (if I use it to trigger a sound with sustain then it's pretty much instantaneous). Adding a tiny (even the tiniest of tiny) delay to the note off in Mozaic (actually, I'm just filtering the old note off and creating a new one in Mozaic) seems to get the behaviour back to normal, but running this drum machine into Koala through AudioBus directly is definitely different (normal) behaviour compared to a direct SendMidiThru in Mozaic.

  • Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

  • @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    It seems to be only an issue with this specific Alesis device. I haven't been able to reproduce the issue with any hardware/app, so I'm inclined to say the problem is not with Mozaic.

  • edited July 2021

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    I don't recall any resolution or discovery of the cause of the problem -- it seems to be something in between AB, Mozaic and Koala but I didn't do any more checking switching up apps. I've had a different issue with AB in the past sending a lot of mixer control data into AB (from a script so it'll all be hitting at the same time) and AB only responding to one of multiple simultaneous inputs, so I kind of feel it's to do with how AB interacts with Mozaic. That being said though, it does mean than in AB, a 'bypass' script in Mozaic isn't really bypassed -- the behaviour is different. That said, you can get around it very effectively by simply filtering out the note offs and adding them back in with the smallest delay possible.

    @brambos said:

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    It seems to be only an issue with this specific Alesis device. I haven't been able to reproduce the issue with any hardware/app, so I'm inclined to say the problem is not with Mozaic.

    I don't think it's anything intrinsically to do with the (self declared "one of the most popular drum machines ever made") SR-16 unit aside from the fact that the note ons and note offs are sent very close together -- it's just sending pretty basic MIDI sequencing down a 5pin cable so I'd assume that any rhythm sequencer that sends midi note on and off together would do the same thing. I've had issues with other computerised MIDI sequence sources and just AB (described above) and it doesn't happen in AUM, which make me feel it's how Mozaic interacts with AB rather than a fundamental Mozaic issue. Either way it's easy to work around.

    This is all just opinion and intuition based on my experience -- I'm not an iOS developer.

  • Thanks for the workaround tip. I’m adapting the script and will share

  • @OscarSouth said:

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    I don't recall any resolution or discovery of the cause of the problem -- it seems to be something in between AB, Mozaic and Koala but I didn't do any more checking switching up apps. I've had a different issue with AB in the past sending a lot of mixer control data into AB (from a script so it'll all be hitting at the same time) and AB only responding to one of multiple simultaneous inputs, so I kind of feel it's to do with how AB interacts with Mozaic. That being said though, it does mean than in AB, a 'bypass' script in Mozaic isn't really bypassed -- the behaviour is different. That said, you can get around it very effectively by simply filtering out the note offs and adding them back in with the smallest delay possible.

    @brambos said:

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    It seems to be only an issue with this specific Alesis device. I haven't been able to reproduce the issue with any hardware/app, so I'm inclined to say the problem is not with Mozaic.

    I don't think it's anything intrinsically to do with the (self declared "one of the most popular drum machines ever made") SR-16 unit aside from the fact that the note ons and note offs are sent very close together -- it's just sending pretty basic MIDI sequencing down a 5pin cable so I'd assume that any rhythm sequencer that sends midi note on and off together would do the same thing. I've had issues with other computerised MIDI sequence sources and just AB (described above) and it doesn't happen in AUM, which make me feel it's how Mozaic interacts with AB rather than a fundamental Mozaic issue. Either way it's easy to work around.

    This is all just opinion and intuition based on my experience -- I'm not an iOS developer.

    Did you ever stick a midi monitor before Mozaic and before the receiving app to confirm your suspicion that AB was dropping events?

    It could well be the receiving app having issues. There are a few synths and other apps that have trouble when note offs come soon after note ons. Btw, Koala has some issues when recording is triggered by midi events if start and stop come too close together.

  • @espiegel123 said:

    @OscarSouth said:

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    I don't recall any resolution or discovery of the cause of the problem -- it seems to be something in between AB, Mozaic and Koala but I didn't do any more checking switching up apps. I've had a different issue with AB in the past sending a lot of mixer control data into AB (from a script so it'll all be hitting at the same time) and AB only responding to one of multiple simultaneous inputs, so I kind of feel it's to do with how AB interacts with Mozaic. That being said though, it does mean than in AB, a 'bypass' script in Mozaic isn't really bypassed -- the behaviour is different. That said, you can get around it very effectively by simply filtering out the note offs and adding them back in with the smallest delay possible.

    @brambos said:

    @wahnfrieden said:
    Did anyone ever resolve this? Interested in using the script (for muting percussion notes in a large drum rack) but worried about this being a permanent issue. Thanks

    It seems to be only an issue with this specific Alesis device. I haven't been able to reproduce the issue with any hardware/app, so I'm inclined to say the problem is not with Mozaic.

    I don't think it's anything intrinsically to do with the (self declared "one of the most popular drum machines ever made") SR-16 unit aside from the fact that the note ons and note offs are sent very close together -- it's just sending pretty basic MIDI sequencing down a 5pin cable so I'd assume that any rhythm sequencer that sends midi note on and off together would do the same thing. I've had issues with other computerised MIDI sequence sources and just AB (described above) and it doesn't happen in AUM, which make me feel it's how Mozaic interacts with AB rather than a fundamental Mozaic issue. Either way it's easy to work around.

    This is all just opinion and intuition based on my experience -- I'm not an iOS developer.

    Did you ever stick a midi monitor before Mozaic and before the receiving app to confirm your suspicion that AB was dropping events?

    It could well be the receiving app having issues. There are a few synths and other apps that have trouble when note offs come soon after note ons. Btw, Koala has some issues when recording is triggered by midi events if start and stop come too close together.

    Did a lot of testing at the time but not much since then as it was easy to work around once I’d identified the behaviour.

Sign In or Register to comment.