Audiobus: Your virtual music studio.

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.

BANK SELECT via MIDI...iOS SYNTHS.

245678

Comments

  • From what I can tell, although I don't have to manually set these myself on the Xboard, the CCs normally used are....MSB (CC0) and LSB (CC32)

  • @spookyzoo thanks for that detailed explanation!

    The controller I'm using is just Jam Maestro, although I'm fairly sure I have the midi messages correct as they alter other apps just fine. So I'm wondering if Sunrizer requires any special treatment.

    So if I'm following you your xboard61 has an option to create your own patches, and in there you can customise the bank and program numbers, and MSB/LSB for each? So it sends 2 midi messages, one for bank and another for program change.

    Whoaaaa... hang on. Your second post has illuminated something for me. I didn't realise you can send LSB for bank select, I thought it was only MSB. Just noticed on the cheat sheet I've been using http://www.midi.org/techspecs/midimessages.php it says "LSB for Control 0 (Bank Select)" as CC32. So are you sending the p/c as the LSB of the bank select, rather than the Program Change (Event type: 192-207) ?

    Gonna give it a shot, brb.

  • edited March 2014

    SUNRIZER works very sweetly with this now. Last year when I experimented though a few niggles were occurring for me.

    If I remember correctly, when a new bank was added it would be added alphabetically and therefore change the order of bank numbers which would in turn alter the destination of the program and bank info sent by my controller.

    New banks are appended now and so this is no longer a concern.

    Correction: initially when you add them they are, but when returning to the app they are once again ordered alphabetically. Found out that a work-around of renaming the banks via iFunbox will work. I added 00, 01, 02 etc to the start of the bank names I wanted in order. Side note... the default libraries are automatically duplicated with their initial names but these banks are filed at the bottom, so it's not too much of a concern.

    Also what I experienced last year was this scenario.....

    Say the first bank 4 banks in the app had 32, 65, 36 and 70 patches respectively. (203 total patches)

    And say I wanted patch #18 in the 2nd bank, well... what I was getting was patch #13 of bank 4.
    The reason I worked out was because the app was calculating the first 128 patches as bank 1, and the next 128 as bank 2 etc...

    So in my scenario the first 2 banks plus 31 patches of the 3rd bank were making up the 128 presets of bank 1, and the remaining 5 patches of bank 3 plus bank 4 were regarded as bank 2.

    I have to be clear, I never fully worked out if it was user or app error.

    But like I said...SUNRIZER works very sweetly with bank change now. :)

  • edited March 2014

    @JamMaestro Bank change info can, depending on the receiver, be sent via MSB or LSB or both. I'm finding most usually via MSB. The program change info I send is completely separate it seems via a different CC.

    Magellan receives the MSB for its main banks and uses LSB for its cache banks. If you look at Magellans patch browser it actually has (MSB) and (LSB) there in brackets. Although I'm finding to be able to select one or the other I need to make one selection invalid, because they get sent together. So if I have 12 Main banks and 3 cache banks and want to select a cache bank via LSB, I need to make sure my MSB cannot select a bank, so will enter a value higher than 12, say MSB029 and then a valid LSB. And vice versa. Again, just recently testing this and probably an easier way, but this might be an issue if you're hoping to use the LSB portion.

    Although this thread isn't Audiobus specific, hopefully the info might be helpful to users looking to do similar.

  • @SpookyZoo hmmm still having trouble. I tried sending the program change information as the LSB for the bank select but that didn't seem to work.

    Can you tell me exactly what messages you are sending?
    e.g.:

    Event: CC #0 Bank Select MSB:
    Event: CC #32 Bank Select(LSB) LSB: ?
    Event: Program Change (192) MSB: 0-127 program number LSB: nothing?

    To change programs I am just using the Program change but only very rarely does Sunrizer respond.

    Hmmm hold up, I'm on to something here. I enabled sending 'Global Midi Messages', like a device would (eg. they broadcast a message to everything on a channel, rather than using virtual midi trickery that apps can do where they send direct to an app and make it appear as the midi message came from itself, thus apps can listen only to messages from itself to know midi messages sent direct to itself), and its started working ?! Swear I tried that earlier though, and no idea why I was still getting it to occasionally work as I was doing it. Maybe I should email BeepStreet and find out what the deal is, would be said if it can't handle direct midi program changes.

  • Ok, emailed @beepstreet, let's hope they can enlighten us :)

  • The MSB and LSB for bank select just means that there are 16384 different banks available in the standard. Many devices/apps don't use or need the LSB portion, but some do, apparently! Program Change messages are only single data byte and so go up to 127.

    As for DrumJam, I will either associate a specific PC number with each kit directly (never to change), or I will assign them dynamically based on alphabetical order of whatever is in the list (including possible IAP or downloads).

    jlc

  • 127 programs in 16,384 banks isn't nearly enough for me ;-) I've been trying to get Alchemy to respond to PC. Has anyone had any luck with that?

  • @JamMaestro Hi, yeah it might be a bit clearer from the horses mouth. :)

    Just did some testing with midi vision.

    In a patch on my controller I enter the PC number (0-127), the MSB (0-127) and the LSB (0-127) the CC designation appear to be automatic and 'behind the scenes'

    As thought the MSB is CC0, LSB IS CC32. The PC shows only the value I selected.

    What is interesting is that midi vision showed these 3 events to all use channel 1... even if I switch to any of 16 midi channels. I don't know what that means.

    @funjunkie27 I'll have a try with Alchemy some point today. Not sure how that'd work numbering bank wise as would be dependant on the IAPS purchased. Will give it a go anyways :)

  • @sonosaurus no worries. In either case sounds like you wont know for a while, so I'll probably just wait until they come out and update the DrumJam factory presets then (if you go the static route that is, probably more the users responsibility if its dynamic).

    @funjunkie27 and the program chance LSB isn't even used at all ! Such a waste, you could have had 16,384 x 16,384 !

  • @SpookyZoo I assume midi vision is some kind of midi network monitoring yeah? If its showing channel 1 for those messages on a 3rd party program thats receiving the messages, I'd say that means you can only send PC messages to apps listening on channel 1 =/ kinda lame. You could test by changing the midi listen port on Sunrizer I guess.

  • edited March 2014

    @Sonosaurus Thanks for the Thumbjam bank change info. Got all of those options working perfectly using MSB and PC.

    Awesome :)

    @JamMaestro That's right..Midivision is a midi monitoring ios app. I'll give the channel test a try...cheers.

  • @JamMaestro said:

    To change programs I am just using the Program change but only very rarely does Sunrizer respond.

    This is probably obvious, but I was experiencing similar until I realised that I was trying to send PCs that had a larger numerical value than the amount of presets in the target bank.

  • Added this ammednment above re: positioning of newly added banks within Sunrizer...

    New banks are appended now and so this is no longer a concern.

    Correction: initially when you add them they are, but when returning to the app they are once again ordered alphabetically. Found out that a work-around of renaming the banks via iFunbox will work. I added 00, 01, 02 etc to the start of the bank names I wanted in order. Side note... the default libraries are automatically duplicated with their initial names but these banks are filed at the bottom, so it's not too much of a concern.

  • Thank you, I'd opened my editor and I saw that I can assign LSB (0-127) and MSB (0-127) on rotary encoders and sliders; on buttons I can assing LSB (0-127), MSB (0-127), Program (0-127).
    I really don't know what should I do! :)

  • edited August 2015

    @Dramatispersona13

    I think the important part is making sure the correct CCs are sent along with the MSB, LSB and PC values.

    I can only comment on my findings using the EMU XBoard. The CCs.., MSB (000) and LSB (032) are automatically assigned by default and sent by the XBoard.

    These are different to the 0-127 values you assign to MSB and LSB for the actual bank number selection, and to PC. Below I will add some info, but a quick scenario. If I want the 10th preset in the 3rd bank of sunrizer I will assign these values... PC (009) for the preset, MSB (002) for the 3rd bank and the LSB is not needed in Sunrizer.

    Successfully used MSB and LSB to select presets and their banks in these apps... (PC= Program Change)

    • SUNRIZER (MSB for bank)
    • MAGELLAN (MSB for main banks) (LSB for cache banks)
    • GALILEO ( " " same as MAGELLAN)
    • NANOSTUDIO EDEN (LSB for Bank Change & PC for preset)
    • NLOG PRO ( some success for first bank using MSB)
    • ARCTIC PRO (LSB for bank)
    • THUMBJAM ( see earlier in thread for Sonosaurus' description)
    • DXi (preset select via PC)
    • ELECTRONIC PIANO SYNTHESIZER (preset select via PC)
    • SYNTH DRUM & ARP (something was changing....no idea how, where or why :) )

    • EDIT: - WAVEMAPPER (preset select via PC)

    *** EDIT 31st August 2015..... ***

    A couple of quick additions & amendments. I'll do some more testing in coming weeks.

    Virsyn apps:

    • CUBE
    • TERA
    • Micro TERA

    all now have Bank & Program-Change functionality. MSB(0) LSB(32) + Program Change # for preset.

    apeSoft apps:

    • iDensity
    • iPulsaret
    • Stria

    All have Program Change working in the snapshots menu. No success with Bank Change using MSB, however I see they have NRPN functionality and I'll need to test this.

    • MITOSYNTH has very cool / easy Bank & Program Change functionality (thanks @dwarman). MSB(0) LSB(32) & PC

    • FUNKBOX - Program Change for kits.

    • CAUSTIC - Program Change ( although I'm getting midi quirkiness with any midi channel 9+. Anyone else?)
    • GESTRUMENT - Programme Change for presets.

    I'll add more soon.

    end of EDIT

    No program or bank change success with these apps...

    • Thor
    • Nave
    • iSem
    • iMini
    • Addictive
    • Cube EDIT: see above
    • Cassini
    • Wavemapper EDIT: Wavemapper DOES send program change info.
    • Animoog
    • Alchemy
    • iTuttle
    • Grain Science
    • Voice Synth
    • iPolysix
    • iMS20
    • TF7
    • MOBILE MUSIC SEQUENCER
  • edited March 2014
    • Post
    • Post
  • Thanks for the details @SpookyZoo. I would think there's a midi SDK available that would facilitate this. If so, it's disappointing to see such a long list of non-support.

  • Ok thank you, I download this page and I'll try tu study LSB and MSB, but, should I assing LSB and MSB to a button, a rotary encoder or a slider?

  • @Dramatispersona13 said:

    Ok thank you, I download this page and I'll try tu study LSB and MSB, but, should I assing LSB and MSB to a button, a rotary encoder or a slider?

    I'm not familiar with the Keylab. Did you read the manual that @CSwinn linked above? Page 15 looks relevant under the Program change heading. Is their an Arturia forum you could raise the question with too?

    On my Xboard the MSB,LSB and PC are all stored within one patch and the CCs handled by default. Not sure how your device stores/ sends info, sorry, but I imagine the answer to above is a button.

  • :/ I think I'll never be able to do this, I know how works my keylab, but I'm still not understanding how lsb and msb work. :/

  • @SpookyZoo said:

    So, I'm trying to find those synths that will accept Bank Change messages. So far I've got Sunrizer working very nicely. Nlog says it can, but not having much luck. I'm about to have a go at Magellan, as it states that ability in its specs.

    Before I look through another 20 synths, was wondering if some of you might know for sure any of those that do.

    Cheers

    Spooky, where did you find instructions how to set up program change in Sunrizer?

  • edited March 2014

    @Dramatispersona13 said:

    :/ I think I'll never be able to do this, I know how works my keylab, but I'm still not understanding how lsb and msb work. :/

    You might not even need to use the MSB or LSB. I was doing some experiments on this within Lemur and got a very basic template to control SUNRIZER. I have 3 knobs. One set to CC#0, the next to CC #32 and the third as Program change. You can select banks using just the first dial #0 and the preset number with the last dial.

    In the picture below the first knob is selecting the 6th bank of Sunrizer. The 2nd knob is doing nothing. The 3rd knob is selecting patch 31 of that 6th bank.

    The 2 green and 3 red blocks are just text labels, they have no function. This is not a practical template, it was just a way to experiment and show you that you might only need those 2 dials.

    MSB and LSB are simply 0-127 selectors. They normally default to those cc#s which are a separate thing.

    @Supadom I didn't find instructions, just curiosity and experiment. :)

  • edited March 2014

    this is all so complicated. I just want MIDI learn on the up/down buttons for Animoog's preset selection page. There is no way I'm ever going to get into all this overly complicated MIDI stuff.

    Is there some reason it can't be implemented more simply? Here's what I want:

    image

    I tried to photoshop some MIDI learn buttons over the up/down buttons, but it is not working at all.

    I was hoping that would do it.
    I clearly don't know how to code for iOS ;-)

  • @Hmtx said:

    this is all so complicated.

    I feel ya, brother!

  • From my experience in the last week or so, it seems that about half the apps I've tried that DO respond to program change don't actually respond to program change messages via virtual midi (which is odd as they all respond to midi in messages via that route just fine). They only respond to globally broadcast midi messages (which is what hardware devices do, apps have the advantage of being able to mimic a midi message coming from the node app itself, thus being able to send it messages directly and not having to worry about conflicting channels). I see no reason why dev's shouldn't allow program change from virtual midi, would be an easy fix and be very useful. So DEVS if you're reading this, please do it :)

  • @JamMaestro Have you posted this in the developer forum as well?

  • This thread is relevant to my interests and seems to contain the most complete list of iOS apps that respond to program change messages, so I thought I'd bring it back.

    Any new synths that work with PCs? Animoog is still screaming out for it...

  • Hey @SpookyZoo I finally managed to get Sunrizer to listen to my mpk. I stupidly forgot that pads are defaulted to ch 10 so even if I had keys and knobs triggering sunrizer of course pads were doing nada. Doh! Now's all cool. PC 0 = program 1 etc. all very logical, sweet. One less reason to touch the screen during the performance.

  • Want to add MitoSynth to the good list. They eve have the bank organization user definable so the order doesn't arbitrarily change on you. 2 banks for internals and 2 banks for yours. 128 slots in each of course.

Sign In or Register to comment.