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*

18911131462

Comments

  • @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    Playing an unsynced arp and syncing the notes to the host? Is that what you're talking about doing?

    If the NoteOn is always coming in late, then the best you could do is have it play late, and also skip a note and resync every once in a while.

    But if the NoteOn is always early...

    You could probably set the synth's arp to be just slightly slower, so that the NoteOn is always early, and have it fill a small buffer. Then have the buffer empty itself when it detects a repeating pattern, or when you press or release a key. Detecting a repeating pattern would be the main puzzle to solve. Or you could directly tell Mozaic which mode the arp is using, and then the pattern length would always be NotesHeld, or NotesHeld * 2, or (NotesHeld * 2) - 1, * OctaveRepeat.

    I might be able to make this within the next week, but maybe someone else can do it sooner.

  • @Skyblazer said:

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    Playing an unsynced arp and syncing the notes to the host? Is that what you're talking about doing?

    If the NoteOn is always coming in late, then the best you could do is have it play late, and also skip a note and resync every once in a while.

    But if the NoteOn is always early...

    You could probably set the synth's arp to be just slightly slower, so that the NoteOn is always early, and have it fill a small buffer. Then have the buffer empty itself when it detects a repeating pattern, or when you press or release a key. Detecting a repeating pattern would be the main puzzle to solve. Or you could directly tell Mozaic which mode the arp is using, and then the pattern length would always be NotesHeld, or NotesHeld * 2, or (NotesHeld * 2) - 1, * OctaveRepeat.

    I might be able to make this within the next week, but maybe someone else can do it sooner.

    yes
    syncing the notes to the host of course :)

    whener you have time.
    thanks man

  • wimwim
    edited February 2020

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    That can only work if your timing errors are always before the beat. You can't send a midi note backwards in time. Even then it wouldn't be likely to give good results. Results will not be satisfactory enough to make it worthwhile IMO.

    [edit] written before reading @Skyblazer 's post. Good luck. B)

  • @wim said:

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    That can only work if your timing errors are always before the beat. You can't send a midi note backwards in time. Even then it wouldn't be likely to give good results. Results will not be satisfactory enough to make it worthwhile IMO.

    [edit] written before reading @Skyblazer 's post. Good luck. B)

    sure thing Wim,
    I didnt expect midi note to be sent backwards :)
    as long as it could quantize to any devision and start in sync.
    maybe it could be added to your MIDI Channel Phase Mixer script.

  • @Tamir_Raz_Mataz said:

    @wim said:

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    That can only work if your timing errors are always before the beat. You can't send a midi note backwards in time. Even then it wouldn't be likely to give good results. Results will not be satisfactory enough to make it worthwhile IMO.

    [edit] written before reading @Skyblazer 's post. Good luck. B)

    sure thing Wim,
    I didnt expect midi note to be sent backwards :)
    as long as it could quantize to any devision and start in sync.
    maybe it could be added to your MIDI Channel Phase Mixer script.

    I’m sorry, I really don’t think it’s something that can work well enough to be worthwhile. Maybe someone else will see it differently.

  • edited February 2020

    @Tamir_Raz_Mataz said:

    @wim said:

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    That can only work if your timing errors are always before the beat. You can't send a midi note backwards in time. Even then it wouldn't be likely to give good results. Results will not be satisfactory enough to make it worthwhile IMO.

    [edit] written before reading @Skyblazer 's post. Good luck. B)

    sure thing Wim,
    I didnt expect midi note to be sent backwards :)
    as long as it could quantize to any devision and start in sync.
    maybe it could be added to your MIDI Channel Phase Mixer script.

    Maybe @wim has a point. (Also, this script idea is not really related to the phase mixer script.)

    Let's say your arp is in "Up" mode, and you change the highest note on the arp when the synth's arp has just passed it, and the script's buffer is just about to play it. The script will update one iteration late. You could set the synth's arp to be significantly faster than the host, and then as long as you didn't change a note right before it's meant to be triggered, you wouldn't encounter the problem.

    But also, why does the synth's arp need to be used in the first place, if Mozaic is just taking the note inputs and arpeggiating them itself? I could imagine this kind of thing being used to sync the output of a sequencer that can only play one note at a time, though still with the potential issue of updating one iteration late. But if you're just using a synth app, what's the advantage of using its built-in arpeggiator?

  • @Skyblazer said:

    @Tamir_Raz_Mataz said:

    @wim said:

    @Tamir_Raz_Mataz said:
    Is there a script to get a note on quantized?
    This would be useful whenever missing a synth apps arps timing and causes out of sync.

    That can only work if your timing errors are always before the beat. You can't send a midi note backwards in time. Even then it wouldn't be likely to give good results. Results will not be satisfactory enough to make it worthwhile IMO.

    [edit] written before reading @Skyblazer 's post. Good luck. B)

    sure thing Wim,
    I didnt expect midi note to be sent backwards :)
    as long as it could quantize to any devision and start in sync.
    maybe it could be added to your MIDI Channel Phase Mixer script.

    Maybe @wim has a point. (Also, this script idea is not really related to the phase mixer script.)

    Let's say your arp is in "Up" mode, and you change the highest note on the arp when the synth's arp has just passed it, and the script's buffer is just about to play it. The script will update one iteration late. You could set the synth's arp to be significantly faster than the host, and then as long as you didn't change a note right before it's meant to be triggered, you wouldn't encounter the problem.

    But also, why does the synth's arp need to be used in the first place, if Mozaic is just taking the note inputs and arpeggiating them itself? I could imagine this kind of thing being used to sync the output of a sequencer that can only play one note at a time, though still with the potential issue of updating one iteration late. But if you're just using a synth app, what's the advantage of using its built-in arpeggiator?

    I wanted to use in a live sitution some beautiful synth arps from Synth Master , D1 and Synth One.
    If i use PolyStepArp it's less likely to start out of sync

  • wimwim
    edited February 2020

    It's a pity all arps don't have an option to re-trigger or to sync with beat position. Unfortunately, I don't believe there's a practical solution other than to play accurately or to record your playing as into a sequencer and quantize the timing.

  • Looking for a script :)

    I would like a script if possible to change the position of the slider in the Eventide apps by key played on a midi keyboard. I would like to be able to choose to split the slider by a variable of one, two, three etc octaves. Maybe also a knob choosing which octave any division begins with.

  • Also a MIDI note to QVox root note!

  • @Synthi said:
    Also a MIDI note to QVox root note!

    You can use the Cality-companion script that Skyblazer did for me :)

  • @Fruitbat1919 said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    You can use the Cality-companion script that Skyblazer did for me :)

    Just tried it. The notes seem a bit off, but it is possible to change them at least. Maybe just needs a little change in the script - I’m no good at that stuff though.

  • @Synthi said:
    Thanks!

    Just to add. If you point the script at the slider, it does what I was looking for, but only over every single octave.

  • @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

  • @Skyblazer said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

    Top notch :)

    What could I do to the script to alter it to make more than one octave of the keyboard spread across the slider?

  • @Skyblazer said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

    Awesome Skyblazer!! Thanks a lot!!

  • edited February 2020

    @Fruitbat1919 said:

    @Skyblazer said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

    Top notch :)

    What could I do to the script to alter it to make more than one octave of the keyboard spread across the slider?

    Since the concept is a little bit different, rather than modify that one, I just made you a new script:
    https://patchstorage.com/slider-divider/

    So if you'd like to learn how to make things with Mozaic, now you've got two simple scripts to compare. :) I don't mean to respond to programming questions with "I'll just do it for you" but I do think it's good to start by studying a few examples, especially variations on a similar concept like these, and then see if you can build one of your most simple ideas. But I guess the "programmer answer" to your question would be to look up the TranslateScale event in the manual, see what you can figure out, and then ask if you need any further help.

    For some programming tidbits that you can familiarize yourself with from these scripts:
    In the first script, you can look for the part where it says "% 12" to see a very common usage of the "modulo operator". Modulo finds the remainder after dividing by some number, which is 12 in this case. If you ever need to find the octave-agnostic, pitch of a note, you'll see this again.

    The first script also contains an array filled with values, and then a variable in brackets, like Array[Variable]. You'll see this again, this is often used in Mozaic scripts to associate a value with a note input. So for example, if you wanted to convert one note input to another one, or store any value associated with a note input, you might have an array of 128 values...but for this, we only need 12 values, one for each note.

    The second script is a good example of the TranslateScale event, which can be found on page 85 of the manual (the current version of the manual is 1.3, in case you have an old one saved). This is what we use to convert a small range of notes to a wide range of CC values.

  • @Synthi said:

    @Skyblazer said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

    Awesome Skyblazer!! Thanks a lot!!

    You're welcome! :)

  • @Fruitbat1919 patience :smile:
    I might have something cooking for you - i am at testing state... PM me if you want to test before i give it to public.

  • Is this how you want it?

  • @Skyblazer said:

    @Synthi said:
    Also a MIDI note to QVox root note!

    Okay @Synthi, I just made a variant of Fruitbat's Cality script for QVox.

    https://patchstorage.com/qvox-companion/

    And if anyone else needs to adapt it to any other Key or Root knob, i.e. any other knob with 12 positions.
    You can go into the code and find "Array = " and just edit those 12 values to match the values used by the app in question. To find the correct values, trial and error will work just fine.

    Already wondering if my skills are up to adapting this so that it sets the pitch knobs to a played chord / infers a chord from a set key 🤔

  • @Fruitbat1919 said:
    Looking for a script :)

    I would like a script if possible to change the position of the slider in the Eventide apps by key played on a midi keyboard. I would like to be able to choose to split the slider by a variable of one, two, three etc octaves. Maybe also a knob choosing which octave any division begins with.

    https://patchstorage.com/key-to-cc/

    This (cool as f) script could work quite well for this application too I think.
    Credits due @wim

  • wimwim
    edited February 2020

    Yeh, I was thinking that one might do the trick. I don't have the Eventide apps to try it with, but it seems like it has the options needed.

    There's another one that might be useful too. It can send the cc values using an ADSR triggered by notes. https://patchstorage.com/midi-adsr/

  • edited February 2020

    o.O
    What!? you don’t have any of the ubiquitous Eventide effects!?!

    I only have rotary :p ( oh and MangledVerb :*)

    Didn’t test it specifically but that script works wonders for similar CC control for other effects and synth parameters.

  • edited February 2020

    Released it anyway as i wanted something like that for myself. @Fruitbat1919

    https://patchstorage.com/eventideribbonplayer/

    This Script:
    – MIDI-map your keyboard to MOZAIC and your Synth
    – In AUM „MIDI CTRL“ map the Ribbon of your Plugin to the Channel/CC you enter with the Knobs (Default is channel 1, CC20)
    
    The Ribbon „Length“ gets evenly divided between the Start- and End-Notes you define with the Knobs that are labeled „minN“ and „maxN“. These are the „minimum Note“ (lowest Note) and the „maximum Note“ (highest Note) where the Ribbon reacts to.
    
    —— The „Mode“ Knob explained ——
    Mode 0:
    When notes are played that are outside the minN/maxN boundaries the Ribbon stays unchanged and keeps its last position.
    So if you play a note in the middle of the minN/maxN defined scale the Ribbon is set at the middle position
    If you then directly play a note outside the minN/maxN defined scale the Ribbon stays at its set position.
    
    Mode 1:
    When notes are played that are outside the minN/maxN boundaries the Ribbon is set to the max limit of each direction.
    – Notes below minN set the Ribbon to minimal value (left)
    – Notes above maxN set the Ribbon to its maximum value (right)
    
  • Cool :) (sorry if mentioning the other script was discouraging..)

    Always good to have specific tools and different options anyway.

  • Don’t worry @iamspoon - all is good.

  • _ki_ki
    edited February 2020

    Four new scripts in single day - you really keep me busy updating the categorized wiki list :)

    Thanks to all script contributors fulfilling the users wishes 👍🏻

  • @_ki said:
    Four new scripts in single day - you really keep me busy updating the categorized wiki list :)

    Thanks to all script contributors fulfilling the users wishes 👍🏻

    Your efforts keeping up that listing are SO much appreciated though!

Sign In or Register to comment.