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.

Changing midi notes - Playing Roland V-drums in Garageband ios

Hi everybody, I have a question regarding playing my Roland TD-1KV electronic drumkit with Garageband ios. The problem I have is the following;

Garageband uses following midi notes for crash(49), cymbal(51) and hi-hat(46). The problem comes with my e-drumkit. These three pads have 2 separate zones. One for the edge of the pad (which I hit 99% of the time) and one in the middle of the pad (which corresponds to the Garageband Midi notes). The edge midi notes are crash(55), cymbal(59) and hi-hat(26).

I have had succes with changing the midi output inside my Roland drumkit

Comments

  • Sorry I posted the comment to early by mistake..

    As I was saying. I had success changing 55->49, 59->51 and 26->46 inside the Drumkit controller. But this is annoying as I also play on pc with ezdrummer which recognizes the original v-drum setting.

    So I remembered having installed Audiobus 3 and after googling found that there was midi learn. The midi learn sees my Roland e-drumkit and I can watch the notes being hit. But don't know how to set things up so that Audiobus3 picks up midi input and change them and routing it inside garageband drumkit. Don't know if this is possible really?

    Did a quick search on these forums but couldn't find similar problem. Anybody got any idea how to solve this and if this is possible with Audiobus?

    Thanks,
    Parap

  • Sounds like what you need is something like Streambyter running in the background, re-mapping MIDI notes when necessary.
    You would have to route MIDI via Streambyter.

  • Ok thanks I will look into that app.

  • @rs2000 said:
    Sounds like what you need is something like Streambyter running in the background, re-mapping MIDI notes when necessary.
    You would have to route MIDI via Streambyter.

    Or load streambyter in Audiobus which has the advantage of better routing options.

    @Parap : Audiobus’ midi learn isn’t about filtering notes. It lets you use midi events to trigger actions. Streambyter is a free midi plugin that lets you set up filtering. There is a paid up from the same dev for setting up midi filters and translators with a straightforward interface.

  • Hi @Parap . Exactly. If that's all you want to do, paste this

    # GB notes: 49   51   46  (31 33 2E)
    # TD notes: 55   59   26  (37 3B 1A)
    NX 31 XX = XX 37 XX
    NX 33 XX = XX 3B XX
    NX 2E XX = XX 1A XX
    

    into an instance of StreamByter and Install Rules. This will convert the listed GarageBand notes into the drumkit edge notes you listed. I showed the hex conversions next to the decimal values so you can understand what I've done with the NX rules. (StreamByter works in hex, which is a bit of a bother.) You can load StreamByter stand-alone and route MIDI to/from its "StreamByter" virtual MIDI ports. If that doesn't work, load StreamByter as a MIDI effect in Audiobus, and use Audiobus's more general routing capabilities.

    However, you might want to use velocity to select between the edge sound and the center sound. We could add a (high) velocity range to the left side of these rules, so they only fire for harder hits. Also, if you need to transform a lot of different notes, we could make a look-up table, which would be really efficient.

  • Thanks for the input Guys.

    @uncledave I am running Streambyter with your code. So how do I route the virtual MIDI ports? In Garageband ios the drumkit just recognized the drumkit midi input, no way to choose which midi input. And when I choose external instrument input inside Garageband from Audio Unit or Inter-App audio I get the standard screen keyboard input which loads the Streambyter app inside garageband which has no use in this case with the Acoustic drumkits.

    How do you actually get the midi from the TD-1 ->Streambyter->Garageband/System Default

    Tried Audiobus Midi Sender with input TD-1 ---- Midi Filter Streambyter ---- Output Midi Receiver I can choose System TD-1, virtual Midi, Streambyter. As midi receiver I can't choose Garageband app unfortunately in the Apps or Audio Units list.

    Tried Midi input TD-1 and Streambyter as the receiver and in audio input Streambyter as input and garageband as output (in here I can choose Garageband). Clearly I don't know what the heck I am doing, what am I missing?

  • wimwim
    edited July 2022

    @Parap said:
    Tried Midi input TD-1 and Streambyter as the receiver and in audio input Streambyter as input and garageband as output (in here I can choose Garageband). Clearly I don't know what the heck I am doing, what am I missing?

    TD-1 input > Streambyter as MIDI FX > Virtual Midi Bridge, as shown in this screenshot (substituting TD-1 for NAN STU). GarageBand will automatically listen to the Audiobus virtual midi out.

    BTW, there's a non-scripting way to do this with an inexpensive app called mfxConvert from the same developer. You can map various midi messages to other messages. The app is really just a graphic frontend for the streambyter engine. It's handy for quick changes where you don't want to have to wrap your head around programming syntax and hexadecimal numbers. ;)

  • @Parap . The mapping I posted converts the MIDI notes used by GarageBand into the notes for the drum machine. The left side of each rule represents the input (a specific note), and the right side represents the replacement pattern. To use it, you would route the MIDI from GB through the script and on to the TD.

    To send MIDI notes from the TD into GB, you need to swap the hex numbers on the left and right sides of the rules, and route the messages accordingly. Here is the implementation to convert notes sent from the TD into the GB values:

    # TD notes: 55    59  26  (37 3B 1A)
    # GB notes: 49   51   46  (31 33 2E)
    NX 37 XX = XX 31 XX
    NX 3B XX = XX 33 XX
    NX 1A XX = XX 2E XX
    
  • edited July 2022

    Yesss that works! Put the @wim config in Audiobus and the updated code from @uncledave and get sounds from the edges. Thanks!

    Only thing is that the edge of closed hi-hat wasn't reacting. This is because my Roland controller couldn't change this setting so I didn't mention. You hit the pad and shows your midi note and change it to whatever midi note you want. The closed hi-hat always registered the hi-hat pedal number, so I could not change the closed midi note separate but it did work so why bother..

    But using midi learn I wrote down the correct midi notes for closed and open hi-hat. Converted to hexidecimals and now the closed hi-hat works fine too in Garageband ios.

            # TD notes: 55   59  26  22  (37 3B 1A 16)
            # GB notes: 49   51  46  42  (31 33 2E 2A)
            NX 37 XX = XX 31 XX
            NX 3B XX = XX 33 XX
            NX 1A XX = XX 2E XX
            NX 16 XX = XX 2A XX
    

    But I found one problem with these configuration. There seems to be some sort of choking sound, noticeable when doing a fast drum roll, very obvious with toms or cymbal. Also when hitting the (only) middle tom very hard the GB drum sample seems to start to choke(the full length sustain sound cuts off) at some velocity point.

    With audiobus closed and using the changed midi setting in the TD-1 controller this choking or cutting the sample is not present. Any thoughts?

  • @Parap said:
    ...
    But I found one problem with these configuration. There seems to be some sort of choking sound, noticeable when doing a fast drum roll, very obvious with toms or cymbal.

    Without knowing the reason, that sounds like an issue with polyphony... 🤷🏼‍♂️

    Also when hitting the (only) middle tom very hard the GB drum sample seems to start to choke(the full length reverb sound cuts off) at some velocity point.

    You mean, you hit the sample above a certain velocity once and the sample doesn't play completely?

  • edited July 2022

    @rs2000 said:

    You mean, you hit the sample above a certain velocity once and the sample doesn't play completely?

    Yep I believe that is the issue with middle tom and velocity. Same happens when playing very fast multiple notes as in a drum roll. Sustain cuts off with hitting multiple notes

  • @Parap . Nice job. Looks like you've cracked the code. Incidentally, StreamByter includes a MIDI monitor. Just tap the magnifier in the bottom row. It shows the MIDI in and out in two columns. You can use that to identify messages sent from the TD, and verify the modifications.

    Also, one little warning about those mapping rules. StreamByter applies all the rules, updating the message as it goes. So, if a particular note appears on both the left and right in different rules, it could be converted twice. You may be able to avoid that by ordering the rules. Otherwise, there's another technique you can use to prevent it.

  • @Parap said:

    @rs2000 said:

    You mean, you hit the sample above a certain velocity once and the sample doesn't play completely?

    Yep I believe that is the issue with middle tom and velocity. Same happens when playing very fast multiple notes as in a drum roll. Sustain cuts off with hitting multiple notes

    OK, that could have to do with MIDI note handling. Some apps allow for multiple note on messages for the same note, others will automatically insert note offs before each note on.
    @Michael: Does Audiobus do anything like that regarding MIDI?

  • @rs2000 said:

    @Parap said:

    @rs2000 said:

    You mean, you hit the sample above a certain velocity once and the sample doesn't play completely?

    Yep I believe that is the issue with middle tom and velocity. Same happens when playing very fast multiple notes as in a drum roll. Sustain cuts off with hitting multiple notes

    OK, that could have to do with MIDI note handling. Some apps allow for multiple note on messages for the same note, others will automatically insert note offs before each note on.
    @Michael: Does Audiobus do anything like that regarding MIDI?

    You can check by sending the output of the script to the Streambyter standalone as a midi monitor and seeing if there are added note offs.

  • edited July 2022

    I did a monitor with magnify glass in Streambyter. Seems that when the sustain cutoff happens, there is a double note recording. With sustain just one Note on and off.

    I did try with different velocity hits but I can also get a hard 127 velocity hit with sustain with a hit in the middle of the tom. The side it easily triggers double even with softer hits. Very strange that it's not a velocity thing and kinda random.

    soft hit with sustain/one record note on off

    hard hit with sustain

    Sustain cutoff hit/double record note on and off

  • Is that streambyter standalone receiving the output from Audiobus?

    Does the streambyter AU in Audiobus show those same double hits coming from your device?

  • edited July 2022

    This is from Streambyter inside audiobus.

    It can be vibration that's causing the second hit as it has low velocity and that velocity of 15 is inaudible. But why the cut off from the first sample hit?

Sign In or Register to comment.