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.

Request new Mozaic Scripts *HERE*

1232426282962

Comments

  • If Mosaic has the capability, I need a script with 10 random ramping LFOs.

    Top knobs for selecting CC.

    Bottom knobs for LFO speed.

    The top left knob for midi channel selection.

    The bottom left knob for selecting Sync on/off.

  • McDMcD
    edited September 2020

    If ROOT is 0
    then ROOT + 0 = 0 - first channel - AUM will call it "1"
    Root + 1 = 1 - second channel - AUM would call it "2"
    Root + 2 = 2 - third channel - AUM would call it "3"
    ...
    Root + 15 = 15 - sixteenth channel - AUM would call it "16"

    So, 0 to 15.
    16 will break stuff because MIDI only allocates 4 bits for the channel value and 16 is 5 bits -
    10000 binary or 0x10H and 16 in decimal and 20 in octal. That covers all the bases.

    Sorry... just bored and eager to do something that requires thought.

  • Is there a script for diverting midi from one channel to another?

  • @wim said:
    But - like I say, you don't need to touch that array, or any of the code.

    I was speaking without trying the code! just trying to decipher the data :)

    Now tried and is working great!! Thanks!! I see I can select ANY MIDI channel!

  • McDMcD
    edited September 2020

    @jolico said:
    Is there a script for diverting midi from one channel to another?

    This would route everything to channel 9. Yes that's a valid script in the least amount of typing.
    The 9 can be any value from 0 to 15. Just remember AUM will see it as 10 and not 9. Mozaic
    starts at 0 and AUM starts at 1 for channel labels.

    @OnMidiInput
       SendMIDIThruOnCh 9
    @End
    
  • @McD said:

    @jolico said:
    Is there a script for diverting midi from one channel to another?

    This would route everything to channel 9. Yes that's a valid script in the least amount of typing.
    The 9 can be any value from 0 to 15. Just remember AUM will see it as 10 and not 9. Mozaic
    starts at 0 and AUM starts at 1 for channel labels.

    @OnMidiInput
       SendMIDIThruOnCh 9
    @End
    

    Thanks 🙏

    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

  • McDMcD
    edited September 2020

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    Oh StreamByter code... you need to declare that... this is the Mozaic Script hotline.
    Huge differences.

    What IOS version are you running? There's a streambyter forum that's helpful:

    https://audeonic.boards.net/board/10/stream-byter

    Mozaic doesn't have it's own forum but @brambos actually reads this one so...

    Nic of Audeonic does have a handle here... @audeonic. Still, I'd start a new thread
    to avoid ruffling egos.

  • wimwim
    edited September 2020

    @jolico said:
    If Mosaic has the capability, I need a script with 10 random ramping LFOs.

    Top knobs for selecting CC.

    Bottom knobs for LFO speed.

    The top left knob for midi channel selection.

    The bottom left knob for selecting Sync on/off.

    It has the capability. However, why not just use however many Rozeta LFO instances or MidiLFOs instances that you need? Both of those offer many features that would be complicated to build into a script.

    I'm not a fan of writing scripts for things that other apps already do well, so this question is meant to flush out any reasons why those apps don't fit the need. When there is a reason that usually helps in designing a better script.

  • @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

  • @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

  • Hello , I would need a script to transform the input of Midi Guitar 2 to a sort of MPE controller to drive Geoshred Sax or Flute or SWAM instruments in general. I was able to do something fairly reasonable with Streambytes , by sending MIDI data to channel 2 and converting Aftertouch to Channel Pressure. It works fairly well but I am sure that with Mozaic something much better , and possibly configurable can be done ( i.e with velocity curves, etc , or assigning Pitch Bend to CC74, ..). See if somebody can come up with something clever. Thanks

  • @GeeBee said:
    Hello , I would need a script to transform the input of Midi Guitar 2 to a sort of MPE controller to drive Geoshred Sax or Flute or SWAM instruments in general. I was able to do something fairly reasonable with Streambytes , by sending MIDI data to channel 2 and converting Aftertouch to Channel Pressure. It works fairly well but I am sure that with Mozaic something much better , and possibly configurable can be done ( i.e with velocity curves, etc , or assigning Pitch Bend to CC74, ..). See if somebody can come up with something clever. Thanks

    I made this one for chords a couple of weeks ago but I got hung up trying to get the pitch bend from mg2 to play nicely with the ‘shred. The basics are fairly easy to implement but I couldn’t navigate the available documentation well enough to find what I needed to progress unfortunately...

  • @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

  • @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

  • edited November 2020

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    (EDIT: see correction at end of comment): i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    ISSUE IDENTIFIED: X0=X9 crashes only if a sysex message passes through ...and ATOM sends sysex whenever it starts). To leave sysex untouched
    This is the correct code if sysex might go through

    8-E0 = X9

  • @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    There was no feedback to loop.
    Atom—>Streambyter—>Pure Acid
    Not a complicated setup.

    I never had issues with it before iOS 14, but I never tried this particular script before either.
    Maybe it’s ok now after iOS 14.2.

    I haven’t had any use for it since.

  • edited November 2020

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    There was no feedback to loop.
    Atom—>Streambyter—>Pure Acid
    Not a complicated setup.

    I never had issues with it before iOS 14, but I never tried this particular script before either.
    Maybe it’s ok now after iOS 14.2.

    I haven’t had any use for it since.

    Ok. Confirmed that X0 = X9 crashes and I have reported to the dev.

    Strangely only channel 9 results in a crash. All other channels work.

    EDIT: this crashes only if sysex is sent to the script. The correct script to let sysex pass through and channelize 0 to 9 is

    8-E0 = X9

  • @jolico said:

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    Well, you did want it to trigger a crash...

  • Is there a script that allows you to specify a note range (say: two octaves) and then spits out a different note every time a hit gets triggered? Kind of like a round robin I guess but with a much broader range and random if possible

  • @TheOriginalPaulB said:

    @jolico said:

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    Well, you did want it to trigger a crash...

    😂

  • @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    There was no feedback to loop.
    Atom—>Streambyter—>Pure Acid
    Not a complicated setup.

    I never had issues with it before iOS 14, but I never tried this particular script before either.
    Maybe it’s ok now after iOS 14.2.

    I haven’t had any use for it since.

    Ok. Confirmed that X0 = X9 crashes and I have reported to the dev.

    Strangely only channel 9 results in a crash. All other channels work.

    So, it turns out that X0=X9 only crashes when sysex (which starts F0) passes through the script. And Atom sends sysex when it starts to play.

    This script solves the problem:
    F0 = XX +B #block sysex
    X0 = X9

  • @espiegel123 said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    There was no feedback to loop.
    Atom—>Streambyter—>Pure Acid
    Not a complicated setup.

    I never had issues with it before iOS 14, but I never tried this particular script before either.
    Maybe it’s ok now after iOS 14.2.

    I haven’t had any use for it since.

    Ok. Confirmed that X0 = X9 crashes and I have reported to the dev.

    Strangely only channel 9 results in a crash. All other channels work.

    So, it turns out that X0=X9 only crashes when sysex (which starts F0) passes through the script. And Atom sends sysex when it starts to play.

    This script solves the problem:
    F0 = XX +B #block sysex
    X0 = X9

    Mystery solved!!!

    Thanks 👍

  • @jolico said:

    @espiegel123 said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @espiegel123 said:

    @jolico said:

    @wim said:

    @jolico said:
    Tried this in StreamByter

     X0 = X9
    

    But it kept crashing and then AUM also crashed. 😆

    That should not happen. Are you sure you didn't create a midi loop or something?

    Pretty sure.

    Atom -> StreamByter -> Pure Acid
    Keeps crashing StreamByter and eventually crashes AUM.

    Atom -> Mosaic -> Pure Acid
    Everything works fine.

    Maybe it’s an iOS 14.0.1 issue?

    I find StreamByter reliable. Can you post the full script? Or the AUM session that has it and the setup. I am curious to check it out.

    One thing that one often has to do in StreamByter is block the original message to keep it from going out along with the translated message. Mozaic automatically does that.

    Deleted StreamByter. Never used it since, but if I remember correctly this was the only script.

    X0 = X9

    Streambyter crashed and had to be restarted a few times.
    After that, the whole AUM session crashed.

    The whole session was just One midi channel with Atom -> Streambyter -> One audio channel with Pure Acid.

    I wanted Atom (ch1) to trigger Pure Acid’s crash (ch10).

    i would guess that there was an accidental routing error causing a feedback loop then. I am only posting because I don’t want people to get the idea that StreamByter is flaky when I believe that most of us that use it have found it reliable and cpu-efficient. Some find it difficult to get their head around but I’ve not seen reports of it being flaky.

    There was no feedback to loop.
    Atom—>Streambyter—>Pure Acid
    Not a complicated setup.

    I never had issues with it before iOS 14, but I never tried this particular script before either.
    Maybe it’s ok now after iOS 14.2.

    I haven’t had any use for it since.

    Ok. Confirmed that X0 = X9 crashes and I have reported to the dev.

    Strangely only channel 9 results in a crash. All other channels work.

    So, it turns out that X0=X9 only crashes when sysex (which starts F0) passes through the script. And Atom sends sysex when it starts to play.

    This script solves the problem:
    F0 = XX +B #block sysex
    X0 = X9

    Mystery solved!!!

    Thanks 👍

    Even better (and Nic provided it is) this one line version which also lets the sysex through unchanged:

    8-E0 = X9

  • This may be outside of the scope of Mozaic (or anything else) but is it possible to send signals to an external controller to trigger lights on it? Could I create a scrolling x0x sequencer (with a "cursor" that moves through steps when AUM is playing?)?

  • @PeteSasqwax Yes, Mozaic could send different notes/CCs depending on the hosts timeline using the OnMetroPulse event. This could be used to change the ‚lit‘ status of the lights of an external controller to create a beat synchronous running light.

    The script would heavily depend on the external controller used, as each of them has different commands to change their light states.

  • @PeteSasqwax said:
    This may be outside of the scope of Mozaic (or anything else) but is it possible to send signals to an external controller to trigger lights on it? Could I create a scrolling x0x sequencer (with a "cursor" that moves through steps when AUM is playing?)?

    I think this script is sending signals to the controller to turn on ligths (I have not used it, though):
    https://patchstorage.com/seq8-launchpad-step-sequencer/

  • @_ki said:
    @PeteSasqwax Yes, Mozaic could send different notes/CCs depending on the hosts timeline using the OnMetroPulse event. This could be used to change the ‚lit‘ status of the lights of an external controller to create a beat synchronous running light.

    The script would heavily depend on the external controller used, as each of them has different commands to change their light states.

    That's absolutely incredible! The use-case scenario I was thinking of was using a Launchpad Mini as a step sequencer for 8 hits, so 8 rows of 1/8th increments with a light on one of them to show where in the bar the sequence was

  • @bleep said:

    @PeteSasqwax said:
    This may be outside of the scope of Mozaic (or anything else) but is it possible to send signals to an external controller to trigger lights on it? Could I create a scrolling x0x sequencer (with a "cursor" that moves through steps when AUM is playing?)?

    I think this script is sending signals to the controller to turn on ligths (I have not used it, though):
    https://patchstorage.com/seq8-launchpad-step-sequencer/

    Erm... HOLY SH*T

    And it's the same person who did the amazing MI ports (Spectrum)!

  • Yes, and he has other cool Mozaic scripts on patchstorage, too :-)

  • Ah, this is incredible news! Thanks!

Sign In or Register to comment.