Loopy Pro: Create music, your way.

What is Loopy Pro?Loopy Pro is a powerful, flexible, and intuitive live looper, sampler, clip launcher and DAW for iPhone and iPad. At its core, it allows you to record and layer sounds in real-time to create complex musical arrangements. But it doesn’t stop there—Loopy Pro offers advanced tools to customize your workflow, build dynamic performance setups, and create a seamless connection between instruments, effects, and external gear.

Use it for live looping, sequencing, arranging, mixing, and much more. Whether you're a live performer, a producer, or just experimenting with sound, Loopy Pro helps you take control of your creative process.

Download on the App Store

Loopy Pro is your all-in-one musical toolkit. Try it for free today.

BlueBoard - IK Multimedia iRig BlueBoard, Bluetooth BTLE Midi foot pedal - usage issues

The IK Multimedia iRig BlueBoard, Bluetooth BTLE Midi foot-pedal is a very useful piece of kit, mainly because it IS wireless. Not only is it battery operated (they last forever btw) but, as the name suggests, it connects to your iDevices or your Mac or any suitably equipped device via Bluetooth (BT). For a gigging musician, especially a guitarist, it can be a real boon.

However, it does have a few well discussed difficulties in typical usage as I slowly discovered as I began to explore its possibilities.

For simple setups, especially those involving Apps possessing well developed Midi-learn capabilities, it works like a charm.

But when you need to control multiple Apps, you can run into difficulties, as I discovered.

Anyway, to bring you up to date with my own journey, I’ll repost here my posts and some replies on a thread I naively hijacked....I look forward to continuing this journey of discovery.

Comments

  • @MikeFloutier said:

    @wim said:
    Btw, if you’re using AUM, it has the BLE Midi connect dialog built-in. No need to use Midimittr to connect the Blueboard. AUM can also solve your routing problems by routing the Blueboard’s output to only the app you need at the time.

    I’m confident there’s a way to make it all work if you want to methodically pursue it. (Though I don’t think I’d take the risk of relying on three apps such as that loaded all the time in addition to everything else in a live setting myself. 😬 )

    Two things attracted me to this thread. Firstly, I’m vitally interested in how to route my BlueBoard (BB) midi output. Secondly was @wim ‘s comment “ I’m confident there’s a way to make it all work if you want to methodically pursue it

    Let me know if you think I’m highjacking here and I’ll delete and re-post anew...

    Anyway, with a lot of help from @uncledave , @espiegel123 and @wim , et al, I’ve pretty much arrived at my “perfect” live setup. Midi Guitar 2 (MG2) > AudioKit Synth One (S1) (as standalones) and AudioKit AR-909 (within AudioBus 3 (AB3)). All this inside iOS 15.3.1 on my iPhone.

    Using the BB I need to:

    1. Select (or scroll through) my favourite presets on MG2,
    2. Select (or scroll through) my favourite presets on S1,
    3. Scroll through drum patterns on the AR-909,
    4. Start and stop the drum machine, and
    5. Control drum machine volume.

    With invaluable help from those stalwarts mentioned above I have been able to realise this dream.

    However, there is one critical remaining routing bug in the system that I had assumed would be easily ironed out by splitting my midi commands (from BB) into separate BB banks with each bank sending on a separate channel.

    The issue in question is that, BB doesn’t seem to let you assign different channels to the various banks (you can save a separate name for each bank but NOT a separate channel). You can choose which channel BB uses, but it will only use that channel.

    Hence, if I send a PC message from BB to select a preset on MG2, it will also change the preset on S1.

    As a temporary workaround, for live gigs, I’m currently saving my MG2 & S1 presets in mutually harmonious pairings, but, as you can imagine, this is tedious, time consuming and restrictive. Having said that, since I only need a very small number of presets, it works surprisingly well.

    However, I’ve not yet introduced the drum machine into live work and this is where it becomes an intolerable problem since there’s no way to synchronise the needed constant drum pattern scrolling with relatively stable MG2 & S1 presets.

    MY REAL QUESTIONS are:

    1. Is there any way, on the BB to assign a different channel to each bank, or if not, then,
    2. Is there another workaround that would achieve the same thing, or
    3. Do I need to re-think the entire architecture of my setup?

      Many thanks if you’ve got this far...

  • @uncledave said:
    IMO, the best way to handle this is to use a script to modify the inputs from the hardware. Configure the hardware with a reasonable default, probably CC on/off on a unused MIDI channel. Route those messages to the script (only), which modifies them as needed and forwards them on different channels as required. Then you never need to fiddle with the hardware setup, and you can change the scripting easily. You can even use different scripts for different situations; practice vs live, etc.

    Depending on the situation, that script can live in AUM, Audiobus, or even MidiFire. They can all route to multiple ports/apps. You could use separate scripts to serve separate controller buttons, feed the output from one script into 2 or more others, etc. And you can use special inputs, like a 2-button hold, to execute special features, like a mode shift, or a master reset.

    This approach is based on taking a system view of the whole problem, instead of trying to solve individual problems in a patchwork. It can untangle a lot of the knots we create by focussing on single specific requirements

  • @wim said:

    @MikeFloutier said:
    MY REAL QUESTIONS are:

    1. Is there any way, on the BB to assign a different channel to each bank, or if not, then,

    Can you clarify what you mean by banks? Is that something in the BlueBoard app? I've never used it, but can look into it if that's how you're setting up "Banks" but I don't want to go there if you mean something else.

    1. Is there another workaround that would achieve the same thing, or
    2. Do I need to re-think the entire architecture of my setup?

      Many thanks if you’ve got this far...

    The second two questions are dependent on the first, so I'll wait to hear more.

    Starting a separate thread for this might be more effective since the original post was on a somewhat different issue and since the thread is marked "solved". But that's up to you. I'm happy to try to help here as well.

  • @wim said:
    @MikeFloutier - after looking at the BlueBoard app description, I feel like this must be what you're using if you're referring to Banks. If so then I really would suggest starting a new thread since this is likely to be pretty specific to the BlueBoard app

  • @MikeFloutier said:
    Many thanks @uncledave and @wim ,

    Dave, I’ve printed out your reply and will be trying to get my head round these ideas for my situation. Will probably have some questions in due course.

    ———

    Wim, the Banks I referred to are on the BlueBoard App. The App is used in BlueBoard’s legacy proprietary mode. The App can either send PC or CC messages. eg. In PC mode, button “A” on the hardware (when the App is in “Bank 1 setting), will cause the App to output PC01, button “B” gives PC 02 etc.

    As there are only 4 buttons on the hardware, you get it to output PC5-8 by switching to Bank 2 etc - by holding button “A” for 3 seconds.

    In this legacy mode, you have the ability to send any PC or CC messages AND, perhaps more importantly you get to choose the channel.

    In the two new BTLE modes, the BlueBoard hardware can send midi messages directly to apps. HOWEVER, there are limitations:

    1. There seems to be no choice of channel,
    2. There are two new modes “note” and “CC”. In Note mode, it outputs C3, D3, E3 & F3. In CC mode it outputs CC20,21,22&23. These work fine for midi learn but obviously limit programming in this way to 4 buttons, although multiple actions can be associated with each button.

    It strikes me that the proprietary mode, with its ability to send a large variety of PC or CC, messages would be more helpful in the way Dave has suggested, not least because of its ability select which channel BlueBoard messages are sent on.

    Hope this makes sense.

    Thanks again for your help with this!

  • @MikeFloutier said:

    @wim said:
    @MikeFloutier - after looking at the BlueBoard app description, I feel like this must be what you're using if you're referring to Banks. If so then I really would suggest starting a new thread since this is likely to be pretty specific to the BlueBoard app.

    Thanks @wim , shall I just copy the recent posts along with a short introduction, not sure how to do this...

  • @wim said:
    Thanks for the clarification @MikeFloutier. You answered all the questions I had, including how you switch between banks in the BlueBoard app. I'll wait on the separate thread to go further. 👍🏼

  • OK, here we are. B)
    Sorry to put you through all that work. I don't generally suggest thread changes, but I thought you'd get a wider audience and more clear answers in a separate thread.

    This one is going to take a bit of thought. You're trying to get a lot of functionality out of just four buttons. I'm sure it can be done. The challenge though is doing it in an easy to maintain way. Unless you're pretty comfortable with understanding programming scripts, too much reliance on script based apps such as StreamByter and Mozaic is going to be a problem. Nevertheless, I'm pretty sure that some scripting is going to be required to deal with your routing requirements.

    I've never made use of the BlueBoard app, but based on what you've been able to accomplish with it so far, I initially tend to think that sticking with that, and just figuring out some way to alter the channel out from the BlueBoard app on the fly is going to be the best approach. That's as far as I've gotten though.

    One question: Do you have an expression pedal that you can plug into the BlueBoard? That will be the easiest solution for controlling the drum machine volume. They're not too expensive if you don't have one. I picked up one on Ebay for about $17 a few years ago.

    Also, are you open to adding a sustain pedal to your BlueBoard as well? That would give you one more switch to work with and would simplify things a lot. That sustain pedal could be your routing change switch. This switch would control a small script to handle the channel changing. If you do that then you can stick with the existing BlueBoard app without making any changes to your existing working setup.

    Just my initial thoughts. The devil is always in the details.

  • @MikeFloutier : since the blueboard app doesn't have programmable channels, I think you need to use a Mozaic or Streambyter script to sit between the blueboard app and your destinations. The script would look for program changes and then send a new program change out on your desired midi channel.

    An alternative would be to not use the Blueboard app and use a script that gives you the functionality you need. I don't know if anyone has written a Blueboard handing script for Mozaic, but there is a StreamByter script called BlueVelvet that allows one to set up different actions for tap, double tap and hold. (Unfortunately, the script is a little opaque and doesn't have any documentation).

  • @espiegel123 said:
    @MikeFloutier : since the blueboard app doesn't have programmable channels, I think you need to use a Mozaic or Streambyter script to sit between the blueboard app and your destinations. The script would look for program changes and then send a new program change out on your desired midi channel.

    An alternative would be to not use the Blueboard app and use a script that gives you the functionality you need. I don't know if anyone has written a Blueboard handing script for Mozaic, but there is a StreamByter script called BlueVelvet that allows one to set up different actions for tap, double tap and hold. (Unfortunately, the script is a little opaque and doesn't have any documentation).

    I'm thinking that if a 5th button can be added to the Blueboard via a sustain pedal foot switch, that could be what is listened to in order to change channels. That would be a simple script in either Streambyter or Mozaic.

    I did write a Mozaic script that does exactly what Blue Velvet does. It's pretty straightforward what Blue Velvet does, and this can be documented in a paragraph or two. Nevertheless, I'm not sure that's a straightforward answer to this problem. All Blue Velvet does is add different types of taps (single, double, long-press, single + long press, double + long press, etc.) to be recognized. It then sends notes on different channels based on the tap type.

    With Blue Velvet you still need a downstream script to translate those notes on different channels to the actual midi messages you need. So, little is gained going that route, and you need to take tap-dancing lessons to get good enough to pull off all those tap combinations reliably.

  • @wim said:

    @espiegel123 said:
    @MikeFloutier : since the blueboard app doesn't have programmable channels, I think you need to use a Mozaic or Streambyter script to sit between the blueboard app and your destinations. The script would look for program changes and then send a new program change out on your desired midi channel.

    An alternative would be to not use the Blueboard app and use a script that gives you the functionality you need. I don't know if anyone has written a Blueboard handing script for Mozaic, but there is a StreamByter script called BlueVelvet that allows one to set up different actions for tap, double tap and hold. (Unfortunately, the script is a little opaque and doesn't have any documentation).

    I'm thinking that if a 5th button can be added to the Blueboard via a sustain pedal foot switch, that could be what is listened to in order to change channels. That would be a simple script in either Streambyter or Mozaic.

    I did write a Mozaic script that does exactly what Blue Velvet does. It's pretty straightforward what Blue Velvet does, and this can be documented in a paragraph or two. Nevertheless, I'm not sure that's a straightforward answer to this problem. All Blue Velvet does is add different types of taps (single, double, long-press, single + long press, double + long press, etc.) to be recognized. It then sends notes on different channels based on the tap type.

    With Blue Velvet you still need a downstream script to translate those notes on different channels to the actual midi messages you need. So, little is gained going that route, and you need to take tap-dancing lessons to get good enough to pull off all those tap combinations reliably.

    Reasonable points. You wouldn’t need a separate pedal to change banks if you make use of “hold” vs tap in the script. You could do what the Blueboard app does and use hold-A to increment the bank and hold B to decrement

  • @wim said:

    One question: Do you have an expression pedal that you can plug into the BlueBoard? That will be the easiest solution for controlling the drum machine volume. They're not too expensive if you don't have one. I picked up one on Ebay for about $17 a few years ago.

    Yes I have an expression pedal, which I’ve been using to control volumes.

    Also, are you open to adding a sustain pedal to your BlueBoard as well? That would give you one more switch to work with and would simplify things a lot. That sustain pedal could be your routing change switch.

    I also have a spare sustain pedal, so I’d be very interested in using it the sort of way you described.

    Thanks!

  • @espiegel123 said:
    You wouldn’t need a separate pedal to change banks if you make use of “hold” vs tap in the script. You could do what the Blueboard app does and use hold-A to increment the bank and hold B to decrement

    >

    This is my favoured approach for BlueBoard usage, given its limitations. In I’ve used this method for switching BB banks in practice and it’s not too clunky.

    ——

    For information, on a separate angle, what might be helpful:

    1. My sole remaining issue is getting the right messages to the right Apps (outside a host) without the other Apps hearing them. At the moment, if I switch presets on one App the other App blindly follows, making an unwanted switch.
    2. BlueBoard is confined to one single (albeit choosable) channel.
    3. **The Apps in question (apart from one) can be set to listen on a single choosable channel.

    My guess is that, if we could send PC messages destined for different Apps on different channels (ie. the ones their listening to) it might work??

  • @MikeFloutier said:

    @espiegel123 said:
    You wouldn’t need a separate pedal to change banks if you make use of “hold” vs tap in the script. You could do what the Blueboard app does and use hold-A to increment the bank and hold B to decrement

    >

    This is my favoured approach for BlueBoard usage, given its limitations. In I’ve used this method for switching BB banks in practice and it’s not too clunky.

    ——

    For information, on a separate angle, what might be helpful:

    1. My sole remaining issue is getting the right messages to the right Apps (outside a host) without the other Apps hearing them. At the moment, if I switch presets on one App the other App blindly follows, making an unwanted switch.
    2. BlueBoard is confined to one single (albeit choosable) channel.
    3. **The Apps in question (apart from one) can be set to listen on a single choosable channel.

    My guess is that, if we could send PC messages destined for different Apps on different channels (ie. the ones their listening to) it might work??

    The scripts could be set to send different pedal presses on different channels.

  • wimwim
    edited March 2022

    I think this is workable if you have the sustain pedal for selecting which app you want to talk to with the Blueboard at any one time. It’s going to be a lot of tapping though since you will need to switch banks with the long-press plus change channels with the sustain pedal.

    Not ideal, but short of a lot of involved scripting, I don’t see another way. Are you up for all that toe tapping?

    Also, what do you mean by “outside a host”? And why? This will be much easier if the apps are in a host, preferably AUM, which has the best midi routing and filtering capability.

    Which is the app that can’t be set to listen on a single channel?

  • @espiegel123 said:

    The scripts could be set to send different pedal presses on different channels.

    I like the sound of this, my concern is how to implement it without the commands finding their way to Other Apps before the script gets hold of them, given that they emanate from the BB App.

    @wim said:
    Also, what do you mean by “outside a host”? And why? This will be much easier if the apps are in a host, preferably AUM, which has the best midi routing and filtering capability.

    Good question, I run Midi Guitar 2 and Synth One outside AB3 because MG2 sends midi to S1 and S1 always crashes when run inside AB3.

    Which is the app that can’t be set to listen on a single channel?

    The MG2 app doesn’t seem to have a channel choice setting. I need to experiment with it discern whether it listens on Omni, 1 or another channel.

    However, I guess one non-settable app is not a problem so long as we know it’s on, say ch 1, and we use other channels for the other apps.

  • MG2 listens to Midi? I thought it listened to audio and sent Midi? What does it do with the midi it listens to?

  • @wim said:
    MG2 listens to Midi? I thought it listened to audio and sent Midi? What does it do with the midi it listens to?

    Phew, I almost thought I’d have to apologise for speaking without thinking. Although I must apologise for not being specific.

    As you rightly say, MG2’s main role is to listen to audio and OUTPUT midi.

    The Midi listening it does relates to: 1. CC messages, to control built-in instruments (that I don’t use), and 2. PC messages, which simply select from its main presets (PC 01 selects Preset 1, etc).

    Selecting MG2 presets it very helpful for me. I use it almost exclusively for simply varying the acoustic guitar sound volume (independent of any synth its driving). It’s much more accurate and “first time” than using a pedal; which, in any case I want to reserve for the drums.

    As I mentioned, I’ve been able to use my “problem” (preset switch spill - between MG2 and S1) to my advantage, by programming useful matched pairs of presets.

    Where I run into real problems is when I want to scroll through, or select, AR-909 drum patterns, eg. main pattern to fill to alternate pattern etc... These button presses, directed at the AR-909, cause chaos in the MG2 & S1 preset realm.

    This is where I need to:

    1. Get AR-909 to listen on Eg. Ch 2 (which it can), and
    2. Get my BlueBoard PC output intended for AR-909, (which can be identified by using a restricted group of PC numbers) scripted to transmit on Ch 2; with the incoming message being Blocked.

    However, because the messages come from the BB app, I need to find a way of “Loading” it into the host running the Script, in order to prevent the other Apps from hearing and running amok.

    Hope this makes sense.

    @uncledave , I’ve not forgotten your post, I’m just waiting for a good wedge of quiet time to study it.

    In the meantime I’m going to experiment with different ways of loading the BB app in order to temper its profligacy, although I can’t see any useful updates to it since it was introduced in 2014....

    Many thanks to all for your patience with me in this!

  • edited March 2022

    You should be able to use different MIDI channels for MG2 and S1. Then use a script, or one of the available MIDI channel mapping apps, to convert the appropriate messages to the desired channel. Or, as I said, use a script in Audiobus to receive the raw messages from BlueBoard on a private channel (not used by anything else), then convert them and relay them to the appropriate apps on their channels. In the end, this will be easier than playing whack-a-mole trying to beat down all the problems of the differen† components.

    Edit: Incidentally, I notice that SynthOne offers a Virtual MIDI port, so Audiobus can route messages directly to it, keeping them out of CoreMIDI which everyone can see. And an Audiobus MIDI lane can send to more than one destination, optionally filtering by channel. (Your basic problem with the BB app is that it receives from and transmits into CoreMIDI, to which all apps are conmected. So MIDI channels are the only separation available. The routing inside Audiobus and through virtual ports is much more selective.)

  • Ok, this is probably above my pay grade. There’s lots of useful information that I can probably refer to in the future when my skills in this department are better developed, and certainly plenty of valuable information for any Blueboard users out there.

    For my own situation, I have decided to continue with the compromise of pairing presets from MG2 and Synth One.

    To run the AR-909 I will continue to use one of the expansion switches to start/stop and ask for help over at the Audeonics Soapbox in creating a suitable script for navigating my four required drum patterns, using the other expansion switch.

    Many thanks for all your suggestions with this!

Sign In or Register to comment.