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*

13468962

Comments

  • That was cool @echoopera. Not too long at all! I watched the whole thing. It’s fun to see how you work.

  • Would it be possible to make a script where I can play every (x) note in a sequence, after (y) seconds if I mark a starting key?

    I'm trying to play based on the circle of fifths, and do some interesting transitions with an arpeggiator synth but I don't always want to do the math.

    E.g: If I set x as 5, and y as 1, with starting key of G#1

    Play G1, wait 1 second, play C2, wait 1second, play F2, and so on...

  • @Samflash3 said:
    Would it be possible to make a script where I can play every (x) note in a sequence, after (y) seconds if I mark a starting key?

    I'm trying to play based on the circle of fifths, and do some interesting transitions with an arpeggiator synth but I don't always want to do the math.

    E.g: If I set x as 5, and y as 1, with starting key of G#1

    Play G1, wait 1 second, play C2, wait 1second, play F2, and so on...

    Yes, you could do that.

  • @Poppadocrock said:
    Is there a Note Length script? Note Length to alter the length of incoming MIDI notes. Maybe even apply a random length based on user set parameters. So I could pick two ranges, Let’s say for example 1/8 to 1/2 bar, and it randomly changes each incoming note length to a length the size of or in between my selected lengths.

    Is this similar to the probability gate script?

    This one:

    https://patchstorage.com/joc-do-ya-len/

    Not random but it replaces each note length on incoming notes by the next one in the sequence set on the pads. You can set how many in the sequence before it loops so, if you set an odd number to an even numbered sequence, the note lengths will change over a longer time period.

  • Not a request but a curious question: How about a script that can send SysEx to YamahaFM to identify as a Yamaha product and unlock the full app? Is such a thing possible? ¯_(ツ)_/¯

  • @animalelder said:
    Not a request but a curious question: How about a script that can send SysEx to YamahaFM to identify as a Yamaha product and unlock the full app? Is such a thing possible? ¯_(ツ)_/¯

    If you know the expected sysex handshaking.

  • @espiegel123 said:

    If you know the expected sysex handshaking.

    I live right by Sam Ash, if I plug into an MX with a midi logger in the background and open the Yamaha FM app, would it record the SysEx exchange, assuming my monitor choice logs SysEx?

  • @Jocphone Thanks I’ll give it a try

  • wimwim
    edited December 2019

    @Poppadocrock said:
    Is there a Note Length script? Note Length to alter the length of incoming MIDI notes. Maybe even apply a random length based on user set parameters. So I could pick two ranges, Let’s say for example 1/8 to 1/2 bar, and it randomly changes each incoming note length to a length the size of or in between my selected lengths.

    Note Length Mugger v1.0 is now available on patchstorage.com.

    I can’t say I’ve tested it as extensively a I’d like, in particular when unexpected values are dialed in (for instance, division greater than difference between lengths, etc.). There are a lot of possible combinations, and I just don’t have the time to test them all. But, what I’ve tested seems solid, and I’m not seeing stuck notes, the worst enemy of scripts like this.


    NOTE LENGTH MUGGER v1.0

    This plugin can alter the length of MIDI notes passed through it in many ways. Non-note MIDI is passed through unaltered.

    Set a range of note lengths using the first two knobs and the multipliers below them. These are the minimum and maximum note lengths.

    DIV: is the granularity of the change in lengths between them.

    The fourth knob sets the mode:
    FIXED: Length is always equal to the first length.
    STEP: Lengths increase by Div. increments then reset.
    UP/DOWN: Lengths go up and down by Div. increments.
    ALTERNATE: Note lengths alternate between the smaller and larger length knobs
    RANDOM: Note lengths change by random Div. between the two lengths.

    PROB: Probability of note length being changed vs. as-played.

    SHIFT toggles the help screen.

  • @wim Cheers brother. It feels really good when you have an idea and someone else not only acknowledges and validates the idea but then creates something of use out of it. I can’t thank you enough for your time and effort. Hopefully many will enjoy using this new script.

    If I have any issues or find any bugs I’ll be sure to let you know. I’m off to test it out...

  • Thanks @Poppadocrock, I hate to toss something out there without doing a super thorough test, but this one is a little challenging for that because of the different ways it can work and because it’s not that easy to independently verify the note lengths. And I have another potential project I’m excited to try out.

    I would really appreciate if you do let me know if you find issues.

  • Will do. Cheers.

  • Seeking curious programmer :

    :cookie:

    Has anyone made or wish to make a “MIDI note to CC” conversion script?
    (range controls for input/output would be a bonus)

    I’d like to control one or more CCs from a MIDI keyboard/pad or sequencer but would ideally like to scale the controls so that it would be possible to access the full CC range within a 1/2/3/4 octave range, rather than 128 values as with a direct conversion of note # to controller value.

  • wimwim
    edited December 2019

    @iamspoon said:
    Seeking curious programmer :

    :cookie:

    Has anyone made or wish to make a “MIDI note to CC” conversion script?
    (range controls for input/output would be a bonus)

    I’d like to control one or more CCs from a MIDI keyboard/pad or sequencer but would ideally like to scale the controls so that it would be possible to access the full CC range within a 1/2/3/4 octave range, rather than 128 values as with a direct conversion of note # to controller value.

    That doesn’t sound at all difficult. When you say “one or more CCs”, do you mean more than one simultaneously, or just to be able to select a single CC to control using one of the knobs?

  • wimwim
    edited December 2019

    Oh, and since the values will jump suddenly, do they need to be smoothed in between.

  • “One or more CCs” was pretty much just a clumsy sentence... yep I just meant a UI knob to select an output CC. (although a second CC output would be potentially useful too)

    I was planning to use it to control multiple CCs but this is probably best done with multi instances anyway as the inputs are on different MIDI channels,etc.

    In terms of scaling the notes and smoothing, Value jumps are expected and fine (even desirable for some uses) although the idea of a smoothing % knob or similar is excellent if it’s not a total headache to implement.

    For scaling the MIDI note # to MIDI CC value, I had thought of a knob to choose scaling mode.
    Starting with a “direct” mode then modes for applying scaling to fit the 0-127 CC value over octave key ranges (1-4 or more).
    Maybe there’s a better way to apply this though with a “sensitivity” setting that gradually applies the scaling so that the full range of MIDI CC is playable over a smaller range on the MIDI input/keyboard.

    On writing that I could also see it being useful/nice to have a knob to set the expected base octave ... feature creep alert! :sweat_smile:

    Well that’s probably enough, thoughts welcomed . :error:

  • Has anyone made a Qvox like four voice diatonic pitch shifting delay, but for MIDI?

    I like using Polythemus and MidiEcho together. However I was enjoying the immediacy of grouping the notes with a dial like in Qvox for differing patterns.

    Ribbon implementation optional :wink:

  • Hi @wim and @iamspoon
    A big part of what you want to accomplish can be done with my curveMaker script. With the quadruplicator in front of that you can even send four controls. The only part that is needed is a key to cc converter.

  • @Alfred said:
    Hi @wim and @iamspoon
    A big part of what you want to accomplish can be done with my curveMaker script. With the quadruplicator in front of that you can even send four controls. The only part that is needed is a key to cc converter.

    Thanks! I'll look at that one. I kinda already started something, but might put it aside in favor of your suggestion.

  • @audiblevideo said:
    Has anyone made a Qvox like four voice diatonic pitch shifting delay, but for MIDI?

    I like using Polythemus and MidiEcho together. However I was enjoying the immediacy of grouping the notes with a dial like in Qvox for differing patterns.

    Ribbon implementation optional :wink:

    No time to look into all those apps yet, but I had been working for awhile on the next generation of my Velocity MIDI Echo which allows sending echos at variable velocities per step. I was adding pitch, channel, midi cc and ratcheting to the echo steps. If I ever get back to that project, I'll take a look at Qvox to see if there are ideas I want to adapt into it.

  • @Alfred said:
    Hi @wim and @iamspoon
    A big part of what you want to accomplish can be done with my curveMaker script. With the quadruplicator in front of that you can even send four controls. The only part that is needed is a key to cc converter.

    Cool, thanks.
    I already use your excellent sostenuto script!
    I guess if @wim can create something bespoke to this task it would have some advantages although it’s cool to be informed or build upon existing scripts too.

  • @iamspoon,
    I was so near to completion that I decided to finish it up as planned. KEY to CC v1.0 has been uploaded to patchstorage.com. Hopefully it’s pretty straightforward to use and the brief help text will suffice. But if you have questions or suggestions, please let me know.

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

    @Alfred, I still would like to look into your script as it does seem like combining functionality could be useful. Lotta ideas stuffed in my head right now I need to get out first though. :D


    KEY to CC v1.0
    Send CC values by playing notes. A range of keys to use can be set by octaves. The CC values from 0 to 127 will be spread over this range. Smoothing is available to ramp jumps in values.

    Knobs (from left to right)
    CHAN: MIDI Channel to listen to for notes. All other channels are passed through.
    RANGE: Sets the starting note of the keyboard range. Displays the range of notes.
    OCTAVES: Sets the octave range of the notes to use.
    RAMP: CC changes will be smoothed over this time period - like knob turning speed.
    CC: The CC # to send.

    Tap SHIFT to toggle Help.


  • wimwim
    edited December 2019

    BTW, @iamspoon, a related script that could be useful as well is MIDI ADSR. When you hit a note, it triggers sending a cc values that follow a configurable envelope pattern. The peak value can be a constant, or it can vary by the key’s velocity. The main difference from Key to CC script is any key triggers the envelope.

    https://patchstorage.com/midi-adsr/


    This is a note-triggered ADSR envelope for sending MIDI CC values. It can be useful for synths with limited envelopes, triggering volume swells, controlled ducking, etc.

    Set the time for the attack, decay, sustain, and release stages of the envelope. Set the level for the attack and sustain stages. Then send any note to the plugin. CC values will be output following the envelope’s shape.

    If the note is held down, the envelope will stay in the sustain stage until it is released. Retriggering a note before the end of the envelope will interrupt the envelope and restart from the beginning.

    You can also enable velocity sensitivity, which scales the envelope according to the velocity of the note received. To increase the maximum stage length, edit the “default_maxtime” parameter at the top of the script.


  • @wim said:
    BTW, @iamspoon, a related script that could be useful as well is MIDI ADSR.

    IF it would be available :smile: It got removed by author. :wink:

  • @MrBlaschke said:

    @wim said:
    BTW, @iamspoon, a related script that could be useful as well is MIDI ADSR.

    IF it would be available :smile: It got removed by author. :wink:

    Yeh, lil slip of the mouse there a few minutes ago. It's back now.

    BTW, there was a small cosmetic issue with the KEY to CC upload. I replaced that but didn't go through the trouble of changing the version, etc. If anyone downloaded it slightly before now, it has changed the title shown, only.

  • @wim said:
    Yeh, lil slip of the mouse there a few minutes ago. It's back now.

    Then i have not said a word :smiley:

  • Super thanks @wim
    That sounds perfect.
    Planning to use it to try to turn a tenori-on into a Frankenstein LFO/modulation machine.
    Should be fun, maybe even musically useful !?! :p

  • Who knows? I may even use this one myself - though I rarely do seem to actually use my scripts. :D

  • Is there a script that does a ‘Shepard tone’ type effect?

  • @gregsmith

    You mean by sending batches of notes with different velocities to get the effect of ever rising or falling ?

     @OnMidiNote
      _base = MIDINote % 12
      SendMIDIOut MIDICommand, _base + 2*12  , 80
      SendMIDIOut MIDICommand, _base + 2*12+5, 90
      SendMIDIOut MIDICommand, _base + 3*12  , 95
      SendMIDIOut MIDICommand, _base + 3*12+5,100
      SendMIDIOut MIDICommand, _base + 4*12  ,100
      SendMIDIOut MIDICommand, _base + 4*12+5, 95
      SendMIDIOut MIDICommand, _base + 5*12  , 90
      SendMIDIOut MIDICommand, _base + 5*12+5, 80
    @End 
    

    If one now plays c2,d2,e2,f2,g2,b2 and back to the original c2, you will get a constant rise, since c2 and c3 will produce an identical note/velocity combination

    I hope i got that right, but from a short test mit bs-16‘s piano the trick seemed to work . Maybe one needs to choose better output notes or velocities.

Sign In or Register to comment.