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.

MOZAIC - Create your own AU MIDI plugins - OUT NOW!

16667697172102

Comments

  • @wim said:
    Nice work @horsetrainer!

    Just one tiny suggestion. You might want to fill the array with -1 rather than 0 since 0 is a valid midi note and will be played back when you hit the play pad if you haven’t recorded a note in each position.

    Ah great tip! I need to work this into the Chordial script (currently using 0 as well).

  • @espiegel123 said:

    Is this happening with all scripts or only Chordial?

    Even though, you rebooted, see if powering down (I.e. saying "yes" to a power off prompt) and powering back up works. I have occasionally had that solve issues that the other types of reset didn't.

    I just tried a couple of smaller files and it worked ok. Maybe something to do with the length of the Chordial script?

    I did the full power off a few times, the Chordial script code still freezes after being selected.

  • @SpookyZoo said:
    I did the full power off a few times, the Chordial script code still freezes after being selected.

    Test select on a smaller code segment.

    If that works then, as a workaround... pull the code out in sections (1/2 or 1/3 or 1/4 or 1/5) until you get it all.

  • @McD said:

    @SpookyZoo said:
    I did the full power off a few times, the Chordial script code still freezes after being selected.

    Test select on a smaller code segment.

    If that works then, as a workaround... pull the code out in sections (1/2 or 1/3 or 1/4 or 1/5) until you get it all.

    Hey, yeah I just started doing this. :)

    Managed to get 141 & 228 line chunks copied and exported, but now I've lost my place. :(

    Must be an easier way. Maybe there's some kind of limit or memory on selected text? Strange. Oh well, I give up for now. Cheers.

  • edited February 2020

    Can any one confirm the number of lines in the Chordial code?

    Or maybe even be able to zip it up and post it here? :) :)

  • Here's the source as a raw .txt for you.

    DISCLAIMER: This is my first real Mozaic script so if you see anything that seems weird or wrong it probably is weird or wrong. :)

  • @unicity said:
    Here's the source as a raw .txt for you.

    DISCLAIMER: This is my first real Mozaic script so if you see anything that seems weird or wrong it probably is weird or wrong. :)

    Brilliant, thanks. :)

  • @unicity said:
    Here's the source as a raw .txt for you.

    For the interested reader: This script is 802 lines long and 20,309 characters in all.

  • @McD said:

    @unicity said:
    Here's the source as a raw .txt for you.

    For the interested reader: This script is 802 lines long and 20,309 characters in all.

    Ta :)

  • Two remarks:

    • The posted txt is missing the final @End statement, which is present in the script itself.
    • I didn‘t encounter problems selecting/copying even longer scripts ( like 2700 lines and 75k characters) in and out Mozaic on iPad Pro 10.5 with IOS 13.2.3

    @SpookyZoo Do you have any other app installed that might react on the content of the clipboard ? Maybe enabled keyboard shortcuts ? Are you able to select/copy the uploaded text in another app or does it also crash ?

  • Oof that sounds long, but I made a lot of comment headers to aid in jumping around the script while working on it.
    There's at least 115 lines of nothing but comments. I thought I'd leave them in for the sake of readability but maybe that's causing issues?

  • edited February 2020

    Does mozaic have any support for NRPNs or does this need to be done with individaul CC#s 98,99 & 6?

    If I need to send a bunch of these at the same time, is there a recommended way to do this?

    In StreamByter I separate the messages with a smallish ms delay.

  • This is probably a stupid question and / or asked and answered somewhere in the previous 68 pages, but if I download a Mozaic script from here (like the Chordial one from another thread), is there a way to get that into Mozaic without opening it in a text editor and copying and pasting?

  • McDMcD
    edited February 2020

    @SpookyZoo said:
    Does mozaic have any support for NRPNs or does this need to be done with individaul CC#s 98,99 & 6?

    If I need to send a bunch of these at the same time, is there a recommended way to do this?

    In StreamByter I separate the messages with a smallish ms delay.

    Do you test using the CC commands to send something you know is expected by some hardware?

    As an example: the Roland GS standard defines a parameter called "vibrato rate". This is the speed at which a sustained note will "waver". The parameter value is (1,8) and has a value range of 0 through 127.

    Since 101 and 100 are defined as RPN, NRPN uses 99 and 98.

    To maximize a note's vibrato, send the following control changes (CC's):

    SendMIDICC 0, 99, 1
    SendMIDICC 0, 98, 8
    SendMIDICC 0, 6, 127
    SendMIDICC 0, 38 0 // note sure why this is being used - anyone know?

    I'd guess 38 is some know Registered Parameter Number but not really sure.
    Google?

    It's the hardware that should know how to react.

    Mosaic will just send CC's with values out. If timing delays are needed then
    more code is needed to implement delays between SendMIDICC outputs.
    You'll probably need a custom function block and use a timer that calls it 4
    times to space the executions. Or put it in an OnMetro code block that follows the DAW metronome with PPQN sub-divisions to get a short delay and use Parameter variables than are set in the command sequences.

  • @drcongo said:
    This is probably a stupid question and / or asked and answered somewhere in the previous 68 pages, but if I download a Mozaic script from here (like the Chordial one from another thread), is there a way to get that into Mozaic without opening it in a text editor and copying and pasting?

    I normally just do 'open with' then mozaic, it opens in the standalone and then when you refresh in au, it the new script appears in the user list...

  • _ki_ki
    edited February 2020

    @SpookyZoo Mozaic doesn’t have direct NRPN support, but this user event with parameters should work:

    @SendNRPN // param chan, msb, lsb, value
      SendMIDICC chan, 99, msb
      SendMIDICC chan, 98, lsb
      SendMIDICC chan, 6, Div value, 127
      SendMIDICC chan, 38, value % 127
    @End
    

    Edited to 14 bit value

    @drcongo Its more convenient to download the binary .mozaic file from patchstorage and just do Share and ‚Copy into Mozaic‘

  • Has anyone implemented the Michael Brecker-style chord rotator algorithm in Mozaic yet? My guess is that the Chordial script would have already done most of the heavy lifting. Here’s a fairly lucid write-up from its inventor:

    https://robbykilgore.com/harmonic-expansionism/

    There used to be an iOS app for this but it broke years ago.

  • @McD said:

    @SpookyZoo said:
    Does mozaic have any support for NRPNs or does this need to be done with individaul CC#s 98,99 & 6?

    If I need to send a bunch of these at the same time, is there a recommended way to do this?

    In StreamByter I separate the messages with a smallish ms delay.

    Do you test using the CC commands to send something you know is expected by some hardware?

    As an example: the Roland GS standard defines a parameter called "vibrato rate". This is the speed at which a sustained note will "waver". The parameter value is (1,8) and has a value range of 0 through 127.

    Since 101 and 100 are defined as RPN, NRPN uses 99 and 98.

    To maximize a note's vibrato, send the following control changes (CC's):

    SendMIDICC 0, 99, 1
    SendMIDICC 0, 98, 8
    SendMIDICC 0, 6, 127
    SendMIDICC 0, 38 0 // note sure why this is being used - anyone know?

    I'd guess 38 is some know Registered Parameter Number but not really sure.
    Google?

    It's the hardware that should know how to react.

    Mosaic will just send CC's with values out. If timing delays are needed then
    more code is needed to implement delays between SendMIDICC outputs.
    You'll probably need a custom function block and use a timer that calls it 4
    times to space the executions.

    I made a script in Streambyter that parses the sysex of a patch dump from the Novation Peak and sends those values to an Editor layout I created in MidiDesigner Pro.

    Just figured I'd finally have a go at recreating that in Mozaic. Sounds like I'll definitely need the delays somehow.

  • @_ki said:
    Two remarks:

    • The posted txt is missing the final @End statement, which is present in the script itself.
    • I didn‘t encounter problems selecting/copying even longer scripts ( like 2700 lines and 75k characters) in and out Mozaic on iPad Pro 10.5 with IOS 13.2.3

    @SpookyZoo Do you have any other app installed that might react on the content of the clipboard ? Maybe enabled keyboard shortcuts ? Are you able to select/copy the uploaded text in another app or does it also crash ?

    Thanks Ki, I'll have a think and see if anything else could be in play with this. Cheers.

  • @_ki said:
    @SpookyZoo Mozaic doesn’t have direct NRPN support, but this user event with parameters should work:

    @SendNRPN // param chan, msb, lsb, value
      SendMIDICC chan, 99, msb
      SendMIDICC chan, 98, lsb
      SendMIDICC chan, 6, value
    @End
    

    @drcongo Its more convenient to download the binary .mozaic file from patchstorage and just do Share and ‚Copy into Mozaic‘

    Thanks Ki. Yeah I've had to do similar in Streambyter but then also add incremental delays so that the CCs don't get mixed up with subsequent messages using the same #s.

  • BTW, an app that I would love to see is one that can take 2 files, in my case patch sysex messages, and highlight the difference between them.

    Would make reverse engineering synth patch sysex a whole world easier.

  • I updated the NRPN source in my above comment to apply 14bit values .

    The CC#6 is the msb value of the data value and CC#38 is the lsb value.

  • @Krupa said:

    @drcongo said:
    This is probably a stupid question and / or asked and answered somewhere in the previous 68 pages, but if I download a Mozaic script from here (like the Chordial one from another thread), is there a way to get that into Mozaic without opening it in a text editor and copying and pasting?

    I normally just do 'open with' then mozaic, it opens in the standalone and then when you refresh in au, it the new script appears in the user list...

    And this was my stupid answer, sorry @drcongo

  • @_ki said:
    Two remarks:

    • The posted txt is missing the final @End statement, which is present in the script itself.

    Oops my bad! I'm away from my iPad and just copied and pasted from the .mozaic file on PatchStorage. Missed that final @End! The actual script is fine.

  • @unicity said:

    @_ki said:
    Two remarks:

    • The posted txt is missing the final @End statement, which is present in the script itself.

    Oops my bad! I'm away from my iPad and just copied and pasted from the .mozaic file on PatchStorage. Missed that final @End! The actual script is fine.

    No worries. Thanks again.

  • @Wrlds2ndBstGeoshredr said:
    Has anyone implemented the Michael Brecker-style chord rotator algorithm in Mozaic yet? My guess is that the Chordial script would have already done most of the heavy lifting. Here’s a fairly lucid write-up from its inventor:

    https://robbykilgore.com/harmonic-expansionism/

    There used to be an iOS app for this but it broke years ago.

    https://patchstorage.com/coltranius-rotator/

  • @aplourde said:

    @Wrlds2ndBstGeoshredr said:
    Has anyone implemented the Michael Brecker-style chord rotator algorithm in Mozaic yet? My guess is that the Chordial script would have already done most of the heavy lifting. Here’s a fairly lucid write-up from its inventor:

    https://robbykilgore.com/harmonic-expansionism/

    There used to be an iOS app for this but it broke years ago.

    https://patchstorage.com/coltranius-rotator/

    Beautiful! Muchas gracias, amigo!

  • @_ki said:
    Two remarks:

    • The posted txt is missing the final @End statement, which is present in the script itself.
    • I didn‘t encounter problems selecting/copying even longer scripts ( like 2700 lines and 75k characters) in and out Mozaic on iPad Pro 10.5 with IOS 13.2.3

    @SpookyZoo Do you have any other app installed that might react on the content of the clipboard ? Maybe enabled keyboard shortcuts ? Are you able to select/copy the uploaded text in another app or does it also crash ?

    Strange. Selecting long pressing and selecting 'All Text' in the code area of Mozaic for the Chordial script STILL freezes the app.

    This is despite...

    • Completely deleting Mozaic and all it's data.
    • Removing the app COPIED, that uses the pasteboard
    • Copying and pasting the full script text uploaded here by @Unicity results in no issues with Mozaic.

    It's only when I load the patch itself and select all there, the app freezes.

    Not sure what to make of it.

    However I would love to see dedicated Copy/Paste/Export buttons for the code area of Mozaic. That would make continuous edits between devices (where I'm coding on desktop), much sweeter.

  • What is the fastest way to reset the round robin script when a new key is struck? So hit C and it plays three round robin notes. Hit D and I want it to start on D and play three notes (not the interval it last played when striking C). Thoughts?

Sign In or Register to comment.