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 Velocity filter?

I have an MPC-style MIDI controller that has pretty "stiff" pads - unless I WHACK the pads, the note velocities are all too low.

I need a way that can take the MIDI input for channel#10 and raise the velocity for all note-on events to a minimum of [64] and allow for max to 127.

I used to use MIDIBridge for this, but that app don't work no more. ( :'( Bummer when you find out your old apps are dead.) @audeonic makes a whole slew of MIDI manipulation apps but I'm not sure which might do this. I do own StreamByter, which I would think would be able to do this but I haven't been able to figure out how to make this happen.

Does anyone have a recommendation[/explanation] for an app for how I could do this?

Thanks in advance!

Comments

  • Midi Curve from the Midi Tools Suite by Victor Porov. Unless you're on iPhone.

  • edited September 2020

    Very quick reply and likely more elegant ways, but this Streambyter code should make anything less than velocity 64, actually 64.

    This is for Notes on (9) MIDI Channel 1 (0). If need be, change the 0 to your MIDI channel number less one. If its Channel 11(A) or more you'll need to use Hex. Channel 16 = F etc.

    IF MT == 90
    IF M2 < $64
    SND M0 M1 $64
    BLOCK
    END
    END

  • Rozeta Scaler... ‘Force Velocity to 100’ button?

  • @boberto You could try the following in Streambyter:

    #velocity_scale
    If M0 == 99
      Mat M2 = M2 / 2
      Mat M2 = M2 + $64
    End
    

    It just detects Note On (9), channel 10 (9 in codespeak), and scales the velocity (M2) linearly so input 0..127 is mapped to 64..127. Remember to Install Rules after pasting the text. @SpookyZoo, note that you can just modify the velocity. No need for Snd and Block in a simple case like this.

  • I forgot about this one ... which is pretty sad, since I wrote it. :D

    https://patchstorage.com/midi-scaler-v1-0/

  • search for Victor Porof Midi tools > midi curve

  • @wim said:
    I forgot about this one ... which is pretty sad, since I wrote it. :D

    https://patchstorage.com/midi-scaler-v1-0/

    Sorry to be slow but I don't understand how to get that onto my iPad and into an AudioBus3 "midi effect" slot?

  • Thanks all for the help and suggestions!
    I did actually/eventually came up with this one-liner for StreamByter that is a flat wall to shove anything on Chan#10 w/a velocity between 1 and 64 to just be 64.

    N9 XX 01-40 = XX XX 40
    

    However...

    @uncledave said:
    @boberto You could try the following in Streambyter:

    #velocity_scale
    If M0 == 99
      Mat M2 = M2 / 2
      Mat M2 = M2 + $64
    End
    

    Thanks @uncledave, your solution is far more "elegant"!

    (PS, I also did eventually come across "Midiflow Limiter" at $3 which is specifically build for this exact purpose and you can draw the curve you want which is a nice UI)

    I'm having a really hard and frustrating time figuring out the MIDI Routing w/AB3. Is there a trick to routing channels to different AU? Like I can't get DM1 to see any note output from StreamByter. In the "app" version of Fugue Machine, and it will say that AB3 is controlling the MIDI, but there's no way in AB to do the routing to channels. I can't get Digistix to respond to any MIDI messages nor do I see a way to set its input channel. It's frustrating af to understand MIDI ByteCode but not be able to get apps to recognize or set channels. The AB3 manual says to just click on the ">" symbol - but that symbol is rarely there, if at all. Not a fun time...

  • Nice thing about midi curve by victor porof is the ability to allow for a degree of randomization either side of your target velocity. You could probably wrote something like that into your script if you wanted to add an element of humanisation to the sound.

  • @boberto said:

    @wim said:
    I forgot about this one ... which is pretty sad, since I wrote it. :D

    https://patchstorage.com/midi-scaler-v1-0/

    Sorry to be slow but I don't understand how to get that onto my iPad and into an AudioBus3 "midi effect" slot?

    Sorry, you would need a the Mozaic Plugin Workshop app to run that script. It's like Streambyter but with a different interface and scripting language.

  • wimwim
    edited September 2020

    @boberto said:
    I'm having a really hard and frustrating time figuring out the MIDI Routing w/AB3. Is there a trick to routing channels to different AU?

    Eh ... this is going to be difficult to explain clearly in a comprehensive way. Audiobus doesn't really deal with midi channels directly. In general, midi signals travel from left to right in the "lanes" set up on the MIDI page.

    If you have your MIDI control in the leftmost "input" position, StreamByter in the middle "Midi FX" position, and DM1 in the rightmost "Output" position, all on the same lane, the controller input will flow to StreamByter, be altered, and flow out to DM1. Channel is irrelevant in this case.

    There are other ideas to get across, but starting there is as good as any. Best to see if that makes sense and works before moving on from there.

    [edit ... humm ... it seems there's a problem with DM1. It isn't responding to MIDI as it should.]

  • New plan: Instead of adding DM1 to the MIDI Output position, remove it from there but keep it on the Audio page. Where DM1 was removed, tap on the + and then System, and add "Virtual MIDI Bridge" to the output position.

  • edited September 2020

    @wim said:
    New plan: Instead of adding DM1 to the MIDI Output position, remove it from there but keep it on the Audio page. Where DM1 was removed, tap on the + and then System, and add "Virtual MIDI Bridge" to the output position.

    Thanks for taking the time to experiment and figure that out!

    After bashing my head against the wall, I've found a couple of apps like Patterning2 where you can only route MIDI to them once they are already open. It would seem that they create their own system-MIDI interfaces (which can then be recognized by AB or anything else off of System-MIDI) - I just thought part of the AB library's-spec would have explicitly included MIDI ports as always-present - but that is possiprobably up to each app's developer to implement.

    As for setting each app's channel assignments, the way I've found to handle it is that instead of sending MIDI OMNI and picking the channels in each app, I need to pick each channel in the AB3 hardware-MIDI-Input's settings because that's where you can separate each one. I am/was used to getting an OMNI signal and picking things in each app, but now I have to pick/set the channels via the AB3-input (I'm still setting the channel in apps where it's "obvious" how to do so, but strictly speaking that shouldn't be necessary).

    Again, thanks all for the help. Hope to have something to show for the effort sooner than later.

  • @uncledave said:
    @boberto You could try the following in Streambyter:

    #velocity_scale
    If M0 == 99
      Mat M2 = M2 / 2
      Mat M2 = M2 + $64
    End
    

    It just detects Note On (9), channel 10 (9 in codespeak), and scales the velocity (M2) linearly so input 0..127 is mapped to 64..127. Remember to Install Rules after pasting the text. @SpookyZoo, note that you can just modify the velocity. No need for Snd and Block in a simple case like this.

    Nice!

Sign In or Register to comment.