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.

Layr Perfomances & Program Change


I am using the latest Layr Multi-Timbral and want to change performances. I am able to change the selected instrument with a program change command, but I am having no luck changing performances.

I have tried many different things:

  • tried using the performance channel option in prefs in which channel on the Layr Instruments listener is supposed to apply to performances but no go
  • I've tried sending program change to the Layr Performance listener. that also didn't work
  • I tried setting MIDI input to virtual device rather than routing from the virtual device

All other MIDI stuff working fine.

Running2018 iPad and ios 11.3

Is there some basic setup thing that I am getting wrong? (Note: I am having no problem with other apps).



  • edited June 2018

    Tried to post a picture with the dev’s answer but my comment is pending for approval... (?)
    Here’s what the dev answered in that thread:

    “LayR: 128 banks, 128 programs.

    Instruments: Bank Select (LSB)(000-127) + Program Change (000-127) on Instrument Channel(s)

    Performances: Bank Select (LSB)(000-127) + Program Change (000-127) on Master Channel ( set in LayR's settings )

    Note: If multiple instruments are on the same channel they will all respond to bank/program change, so in that case better to save the setup as a Performance Preset and use the Master channel to call it up.

    As of v1.0.4, manually selecting a bank in the preset lists sets the current Bank so you only need to send a program change message in that case.

    1.0.4 also fixes a bug in earlier versions that meant that LayR's UI could crash if you sent loads of rapid program changes.”

  • I am manually selecting a bank but program change isn't working for me. Is it working for you? (Just program change without a bank select command after manually selecting a bank in the app)

  • After some more experimentation, it seems that program change by itself is working if I send LayR a bank select command once before sending program change. After that a program change by itself selects a program in the bank for which the bank select was sent. If you manually select a bank in LayR, program change does not work correctly for me. In fact if you manually change a bank after having sent a MIDI bank select command, program change selects a preset in the bank selected earlier by MIDI.

  • Sorry for the delay, I had to go out for a moment. It works for me, I’m using iMIDIPatchbay app (same dev as Midiflow) to send PC commands, and it’s working fine. I just set the “performance” MiDI channel as configured in Layr, MSB in OFF, LSB with the Bank number, and Program with the preset number and it just works. I don’t know exactly how iMIDIPatchbay handles its commands, but as soon as I change any of the mentioned numbers Layr responds accordingly.

  • I used MIDI wrench to debug what iMIDIPatchbay is sending and I got this:

    iMIDIPatchbay command:
    Channel: 16
    Program: 4
    Bank MSB: OFF
    Bank LSB: 100

    MIDI Wrench debug:
    00:39:45.827 [CC] ch=15 controller=32 value=100
    00:39:45.932 [Program Change] ch=15 program=4

    Layr response:
    Bank: 101 (Factory Drones)
    Preset: 05 (Hi Drone)

    I would suggest that you keep Layr in the normal screen since when the preset browser is open it doesn’t seem to respond well.

  • Hi,

    Thanks for your lookin into this and your replies. If I understand your message correctly, it confirms my reply to myself above: program change works if there has previously been a MIDI bank select message. But, at least for me, it doesn't work if the bank select was done manually in the app.

    If I understand your message correctly, when you are using iMIDIPatchBay a BANK LSB message is being sent. So, that primes LayR and allows program change by itself to select within that bank.

    I am talking about a somewhat different scenario. I am sending a program change command without there having been BANK LSB command. If I send the BANK LSB then it pays attention to program changes. But it ignores them otherwise for me. And if I manually change to a different bank (in LayR) then future program changes select the preset from the last bank for which a MIDI command was sent.

    According to the post from the dev that you mentioned, manually selecting a preset from a bank should 'prime' things so that program changes select within that bank.The dev says: "As of v1.0.4, manually selecting a bank in the preset lists sets the current Bank so you only need to send a program change message in that case."

    That seems not to be working. If you can get it to work without there having been a bank select command, please let me know. I've sent a message to the devs as well.

    (This is all in the normal view).

  • Yes, you interpreted my message correctly. I tried without sending the LSB bank (setting it to OFF in iMIDIPatchbay, or using another app) and you are right, it just doesn’t work. It seems that LSB Bank must be sent in order to properly select a preset in Layr.

  • Tx for confirming. I've written to let the dev know. Now that I understand I can work around it.

  • @espiegel123 said:

    Those messages are the ones I tried to post at the beggining of the thread, but the system put them on hold for “approval”. Now they appeared completely out of sequence. Sorry for that, it’s out of my control.

  • Fwiw, those messages describe the intended behavior. The dev is now aware of the problem and is fixing it.

Sign In or Register to comment.