Export Midi File Garageband Ipad

What is Audiobus? — Audiobus isan award-winning music app for iPhone and iPad which lets you useyour other music apps together. Chain effects on your favouritesynth, run the output of apps or Audio Units into an app likeGarageBand or Loopy, or select a different audio interface outputfor each app. Route MIDI between apps — drive asynth from a MIDI sequencer, or add an arpeggiator to your MIDIkeyboard — or sync with your external MIDI gear.And control your entire setup from a MIDI controller.

A stereo audio file is saved to the GarageBand File Transfer folder. Connect your iPad to your Mac. Your connected iPad appears in a Finder window sidebar under Locations. On your Mac, select the icon for your iPad, click Files, then click the disclosure triangle for GarageBand in the Apps list. The GarageBand File Transfer folder appears. Download GarageBand App 2.3.10 for iPad & iPhone free online at AppPure. Get GarageBand for iOS - Make great music anywhere latest version. GarageBand turns your iPad, and iPhone into a collection of Touch Instruments and a full-featured recording studio — so you can make music anywhere you go.

Download on the App Store

Audiobus is the app that makes the rest of your setup better.

in General App Discussion

I now believe it's possible to do this (unless everyone else already knew how to do it and I just couldn't find it).

Here's what's I've found so far:

Exporting midi from GB on iOS is something heard of lots of people wanting to do, including myself. So I ask, why should it be difficult? Why isn’t a feature?

But since it’s not a feature, why can’t we just reach in and take it for ourselves by force if we must?

I may be missing it but I haven't found the technique yet so I've started to crack things open just a bit. Here's what we can see inside...

...continued on a blog page so I could easily upload related files:
https://groundjuggling.wordpress.com/export-midi-from-ios-garage-band-projects

Comments

  • I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

  • I don't know much about the smart instruments other than to my ear, the violin sounds horrible and airy compared to apps like ThumbJam.

    However, even if they don't rely on midi internally, I wonder if there could be some sort or mapping that could be useful (for the instruments that sound good).

  • @SevenSystems really has found a niche. Comparing many of the DAWs

    Cubasis
    GarageBand
    Gadget

    None of them export Midi!!!

    WHY!!!!

  • Doesn’t Cubasis export MIDI? Are you sure?

    Auria Pro does, the option is located in the Menu dialog.

  • @theconnactic said:
    Doesn’t Cubasis export MIDI? Are you sure?

    Auria Pro does, the option is located in the Menu dialog.

    @theconnactic said:
    Doesn’t Cubasis export MIDI? Are you sure?

    Auria Pro does, the option is located in the Menu dialog.

    If it does there’s no option in the share menu. So I’m afraid NOT!

  • @LucidMusicInc said:
    @SevenSystems really has found a niche. Comparing many of the DAWs

    Cubasis
    GarageBand
    Gadget

    None of them export Midi!!!

    WHY!!!!

    Gadget can export midi

    Cubasis can too

    After creating the mixdown just share it.

  • @White said:

    @LucidMusicInc said:
    @SevenSystems really has found a niche. Comparing many of the DAWs

    Cubasis
    GarageBand
    Gadget

    None of them export Midi!!!

    WHY!!!!

    Gadget can export midi

    Cubasis can too

    After creating the mixdown just share it.

    Awesome sauce!

  • @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    This app fucks up Garagebands internal timing... Try and use the Arpeggiator, ba-bow.

    Just a FYI for anyone else thinking of buying it!

  • @BroCoast said:

    @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    This app fucks up Garagebands internal timing... Try and use the Arpeggiator, ba-bow.

    Just a FYI for anyone else thinking of buying it!

    Just tried it.
    What is ba-bow?
    Seems to work fine for me, but I am just going by ear.
    Haven’t looked closely for jitter and whatnot.

  • @CracklePot said:

    @BroCoast said:

    @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    This app fucks up Garagebands internal timing... Try and use the Arpeggiator, ba-bow.

    Just a FYI for anyone else thinking of buying it!

    Just tried it.
    What is ba-bow?
    Seems to work fine for me, but I am just going by ear.
    Haven’t looked closely for jitter and whatnot.

    My bad humour!

    Hmm, I wonder why it messes up GB for me? A few other people have said the same thing.

    It was changing 8th notes to triplets!

  • RouteMIDI plugin is useful. When using it with Gadget for example, midi timing while just playing/monitor is usable. But when you want to record Gadget IAA on an audio track, there will be some important offset and you will find that midi timing is also wrong. So here is the trick: record in real-time GB RouteMIDI output in Gadget sequencer with some quantize, then export to audio from Gadget and import in GarageBand for your mixdowns. Timing will be perfect. This plugin is useful when you want to sequence everything in GB.

  • edited November 2018

    Can Midiflow be used to export MIDI out of GB into Cubasis without using a computer? How? I don't see GB as in its lists. There are videos on Midiflow for Audiobus, etc but none on just Midiflow router app.

  • edited November 2018

    @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    I've both RouteMIDI and Midiflow but couldn't figure out how to get MIDI out of GB into Cubasis. I tried RouteMIDI as AU in GB:

    set BG Audio in both apps => On
    GB > Use with Music Apps => On
    GB > Send MIDI Clock => On
    GB > added RouteMIDI as an AU track
    GB > RouteMIDI > set MIDI Out to Cubasis
    matched channels in both apps
    played back the GB project
    tapped Record in Cubasis

    It records just empty events in Cubasis with no notes inside them. How did you export MIDI out of GB? There are no videos on how to use these apps.

  • @MobileMusic said:

    @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    I've both RouteMIDI and Midiflow but couldn't figure out how to get MIDI out of GB into Cubasis. I tried RouteMIDI as AU in GB:

    set BG Audio in both apps => On
    GB > Use with Music Apps => On
    GB > Send MIDI Clock => On
    GB > added RouteMIDI as an AU track
    GB > RouteMIDI > set MIDI Out to Cubasis
    matched channels in both apps
    played back the GB project
    tapped Record in Cubasis

    It records just empty events in Cubasis with no notes inside them. How did you export MIDI out of GB? There are no videos on how to use these apps.

    It is working for me. You should hear Cubasis playing back the midi when GB is playing, even before you record.
    Do you have midi data on the track in GB that has RouteMidi loaded on it? I usually record in GB with a piano/kb instrument track to get the midi. Then I make a new track with RouteMidi and copy the midi information to it. It will send that out to your other apps.

  • @CracklePot said:

    @MobileMusic said:

    @CracklePot said:
    I use the RouteMidi plugin to get midi out from regular midi tracks in GB. It doesn’t work for the smart instruments or drummers or drum sequencer though.
    It basically works on the piano/kb type of tracks. Works good for those.

    I've both RouteMIDI and Midiflow but couldn't figure out how to get MIDI out of GB into Cubasis. I tried RouteMIDI as AU in GB:

    set BG Audio in both apps => On
    GB > Use with Music Apps => On
    GB > Send MIDI Clock => On
    GB > added RouteMIDI as an AU track
    GB > RouteMIDI > set MIDI Out to Cubasis
    matched channels in both apps
    played back the GB project
    tapped Record in Cubasis

    It records just empty events in Cubasis with no notes inside them. How did you export MIDI out of GB? There are no videos on how to use these apps.

    It is working for me. You should hear Cubasis playing back the midi when GB is playing, even before you record.
    Do you have midi data on the track in GB that has RouteMidi loaded on it? I usually record in GB with a piano/kb instrument track to get the midi. Then I make a new track with RouteMidi and copy the midi information to it. It will send that out to your other apps.

    LOL, I was thinking it would export the entire project as a single track. I just copied the MIDI data to the RouteMIDI's track and it worked Thanks!

  • I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

  • @topaz said:
    I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

    It's fixed, at least the last few times I have used it.

  • edited August 2019

    This draft is from last year - posted now

    @CracklePot said:
    @MobileMusic
    Awesome.
    You’re welcome.

    Holy crap, Apple! They did it again!!

    Since it doesn't work with Smart Instruments, Live Loops, Drummer, etc to export MIDI - I thought I was smart -

    I went into the Piano Roll of a Smart Instrument
    selected all MIDI notes and copied to clipboard
    went into the Piano Roll of an empty region on the RouteMIDI AU track
    and Pasted the MIDI notes !!!!! (not )

    WHERE IS THE PASTE OPTION, Apple??? Did they forget it? They are just MIDI data right - just notes and length - how does it matter if I want to paste them into any instrument's MIDI region using 'Piano Roll'? If I just want to yank out the performance part of it (MIDI data), I could apply any instrument to the track but there is no Paste option in the Piano Roll.

    This should work even with Drummer, etc - they are all just MIDI data - I should be able to copy/paste that data into any other track - it's just data, right? Paste option is available only for the same track's copied MIDI notes.

  • @MobileMusic said:
    This draft is from last year - posted now

    @CracklePot said:
    @MobileMusic
    Awesome.
    You’re welcome.

    Holy crap, Apple! They did it again!!

    Since it doesn't work with Smart Instruments, Live Loops, Drummer, etc to export MIDI - I thought I was smart -

    I went into the Piano Roll of a Smart Instrument
    selected all MIDI notes and copied to clipboard
    went into the Piano Roll of an empty region on the RouteMIDI AU track
    and Pasted the MIDI notes !!!!! (not )

    WHERE IS THE PASTE OPTION, Apple??? Did they forget it? They are just MIDI data right - just notes and length - how does it matter if I want to paste them into any instrument's MIDI region using 'Piano Roll'? If I just want to yank out the performance part of it (MIDI data), I could apply any instrument to the track but there is no Paste option in the Piano Roll.

    This should work even with Drummer, etc - they are all just MIDI data - I should be able to copy/paste that data into any other track - it's just data, right? Paste option is available only for the same track's copied MIDI notes.

    Yeah I found the same a year ago.
    That’s why I specifically recommended using the piano/keyboard instrument to create the Midi data, and not a Smart Instrument.
    It seems that only the piano in GB is using general Midi, and everything else uses some GB data format or Audio.
    Sorry if I caused you any confusion.

  • edited August 2019

    @CracklePot said:

    @MobileMusic said:
    This draft is from last year - posted now

    @CracklePot said:
    @MobileMusic
    Awesome.
    You’re welcome.

    Holy crap, Apple! They did it again!!

    Since it doesn't work with Smart Instruments, Live Loops, Drummer, etc to export MIDI - I thought I was smart -

    I went into the Piano Roll of a Smart Instrument
    selected all MIDI notes and copied to clipboard
    went into the Piano Roll of an empty region on the RouteMIDI AU track
    and Pasted the MIDI notes !!!!! (not )

    WHERE IS THE PASTE OPTION, Apple??? Did they forget it? They are just MIDI data right - just notes and length - how does it matter if I want to paste them into any instrument's MIDI region using 'Piano Roll'? If I just want to yank out the performance part of it (MIDI data), I could apply any instrument to the track but there is no Paste option in the Piano Roll.

    This should work even with Drummer, etc - they are all just MIDI data - I should be able to copy/paste that data into any other track - it's just data, right? Paste option is available only for the same track's copied MIDI notes.

    Yeah I found the same a year ago.
    That’s why I specifically recommended using the piano/keyboard instrument to create the Midi data, and not a Smart Instrument.
    It seems that only the piano in GB is using general Midi, and everything else uses some GB data format or Audio.
    Sorry if I caused you any confusion.

    It doesn’t seem like a proprietary data format but just that the Paste option is missing! They look like any other MIDI data - editable, drawable, deletable, copy-able but not paste-able across instruments

    I tried Smart Instrument to Piano and Piano to Smart instrument - Paste option is missing either way even though it is allowing to copy data. Paste is possible only within the same instrument. This is dumb on Apple’s part. If I can copy paste data from one instrument into another, what is Apple going to lose? Maybe it would sound different based on target instrument (that’s how MIDI data works) but that’s my problem.

  • Nope, timing is still way off and state not saved.

    @BroCoast said:

    @topaz said:
    I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

    It's fixed, at least the last few times I have used it.

    @BroCoast said:

    @topaz said:
    I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

    It's fixed, at least the last few times I have used it.

  • @topaz said:
    Nope, timing is still way off and state not saved.

    @BroCoast said:

    @topaz said:
    I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

    It's fixed, at least the last few times I have used it.

    @BroCoast said:

    @topaz said:
    I have just emailed the route midi dev about the GB timing issue. I am guessing if it hasn’t been fixed it can’t.

    So I don’t really see the use of Route Midi if the timing is all out. #refundtime

    It's fixed, at least the last few times I have used it.

    Hmm, well I was able to get MIDI out of Garageband via MIDI clock sync to Xequence 2 with RouteMIDI a few weeks ago.

    I do remember RouteMIDI breaking the timing in Garageband a few times back when I first bought it, but since I last uninstalled/reinstalled it's been fine.

  • @MobileMusic said:

    @CracklePot said:

    @MobileMusic said:
    This draft is from last year - posted now

    @CracklePot said:
    @MobileMusic
    Awesome.
    You’re welcome.

    Holy crap, Apple! They did it again!!

    Since it doesn't work with Smart Instruments, Live Loops, Drummer, etc to export MIDI - I thought I was smart -

    I went into the Piano Roll of a Smart Instrument
    selected all MIDI notes and copied to clipboard
    went into the Piano Roll of an empty region on the RouteMIDI AU track
    and Pasted the MIDI notes !!!!! (not )

    WHERE IS THE PASTE OPTION, Apple??? Did they forget it? They are just MIDI data right - just notes and length - how does it matter if I want to paste them into any instrument's MIDI region using 'Piano Roll'? If I just want to yank out the performance part of it (MIDI data), I could apply any instrument to the track but there is no Paste option in the Piano Roll.

    This should work even with Drummer, etc - they are all just MIDI data - I should be able to copy/paste that data into any other track - it's just data, right? Paste option is available only for the same track's copied MIDI notes.

    Yeah I found the same a year ago.
    That’s why I specifically recommended using the piano/keyboard instrument to create the Midi data, and not a Smart Instrument.
    It seems that only the piano in GB is using general Midi, and everything else uses some GB data format or Audio.
    Sorry if I caused you any confusion.

    It doesn’t seem like a proprietary data format but just that the Paste option is missing! They look like any other MIDI data - editable, drawable, deletable, copy-able but not paste-able across instruments

    I tried Smart Instrument to Piano and Piano to Smart instrument - Paste option is missing either way even though it is allowing to copy data. Paste is possible only within the same instrument. This is dumb on Apple’s part. If I can copy paste data from one instrument into another, what is Apple going to lose? Maybe it would sound different based on target instrument (that’s how MIDI data works) but that’s my problem.

    Yeah, I totally agree with you here.
    I was just giving Apple the benefit of the doubt, but it just as likely that they are just being weirdly restrictive.

    To make it more confusing, most of the Smart Instruments can be selected as the sound presets on the Piano, and sound pretty much the same when played with Midi data.

  • Just tried again after reinstall, timing is way out.

  • @topaz said:
    Just tried again after reinstall, timing is way out.

    I did a little testing as well.
    I find that the main problem is everything is early when you record the audio back into GB, but even when you try to line up the audio with the original midi, there seems to be jitter in the timing in the recorded audio.

    If you aren’t using any external Midi FX processing, but just playing an instrument in AUM and recording audio back into GB, you could just load the instrument directly in GB, copy the Midi to its track, and use the merge tracks function to freeze the instrument track.

  • Will test but it would be nice if the dev could fix the save state as well as some kind of offset.

  • @MobileMusic said:

    @CracklePot said:

    @MobileMusic said:
    This draft is from last year - posted now

    @CracklePot said:
    @MobileMusic
    Awesome.
    You’re welcome.

    Holy crap, Apple! They did it again!!

    Since it doesn't work with Smart Instruments, Live Loops, Drummer, etc to export MIDI - I thought I was smart -

    I went into the Piano Roll of a Smart Instrument
    selected all MIDI notes and copied to clipboard
    went into the Piano Roll of an empty region on the RouteMIDI AU track
    and Pasted the MIDI notes !!!!! (not )

    WHERE IS THE PASTE OPTION, Apple??? Did they forget it? They are just MIDI data right - just notes and length - how does it matter if I want to paste them into any instrument's MIDI region using 'Piano Roll'? If I just want to yank out the performance part of it (MIDI data), I could apply any instrument to the track but there is no Paste option in the Piano Roll.

    This should work even with Drummer, etc - they are all just MIDI data - I should be able to copy/paste that data into any other track - it's just data, right? Paste option is available only for the same track's copied MIDI notes.

    Yeah I found the same a year ago.
    That’s why I specifically recommended using the piano/keyboard instrument to create the Midi data, and not a Smart Instrument.
    It seems that only the piano in GB is using general Midi, and everything else uses some GB data format or Audio.
    Sorry if I caused you any confusion.

    It doesn’t seem like a proprietary data format but just that the Paste option is missing! They look like any other MIDI data - editable, drawable, deletable, copy-able but not paste-able across instruments

    I tried Smart Instrument to Piano and Piano to Smart instrument - Paste option is missing either way even though it is allowing to copy data. Paste is possible only within the same instrument. This is dumb on Apple’s part. If I can copy paste data from one instrument into another, what is Apple going to lose? Maybe it would sound different based on target instrument (that’s how MIDI data works) but that’s my problem.

    For the smart instrument, all you need to do is always use the keyboard section, instead of the others for your instruments. All the sounds are there, so you can reuse the MIDI information if you create another keyboard layer.

Why no T-Bone?

Export Midi File Garageband Ipad

Exporting midi from GB on iOS is something heard of lots of people wanting to do, including myself. So I ask, why should it be difficult? Why isn’t a feature?

But since it’s not a feature, why can’t we just reach in and take it for ourselves by force if we must?

I’ve searched the net, maybe I’ve missing it, but I have found any technique yet so let’s take a look at what’s known:

Export Midi File Garageband Ipad App

1. We can export an iOS GB project as a “.band” file to anywhere. Google Drive, whatever, using the standard iOS Share feature from within GB.

2. We can change the file extension to from “.band” to “.zip”, and extract the file and folders with a tool like 7-zip, simple one scale project looks like this:

Interesting. Seems to almost make a little sense. So now what? It’s may be a bit wasteful for a project playing a single piano scale to be 1.2MB, but our notes have to be in there somewhere, right?!

A lot of the files are empty placeholders or unhelpful. However, notice there is a file called projectData.

If we open this file it looks like the file below. Getting a bit more interesting now. This looks like a plain ol’ xml file. Moreover it looks to have binary data directly included inside the file, see the <data> tag.

This image is clipped, the data section goes on a long way and probably accounts for a fair chunk of the 1.2MB size of the project.

Too bad that data section doesn’t have text like “You just used a Grand Piano to play the notes C, D, E, F, G, A, B”.

It’s in some kind of binary format Apple has chosen. We have to find a way to make sense of it. It could be fully encrypted, become impractical to see into, and game over folks.

XML Data

However…encrypted files don’t usually look like that. The way encryption works usually requires it be very random looking.

Noticed all the repeated characters? Maybe we’re not dead yet. It’s common for people to put binary data in XML by wrapping the binary data, say an image, in a standard textual encoding format. So we can at least take a shot. Let’s try base64. That gives us a file that look like

Looks like we’re still alive! You don’t have to be a developer to guess when you can see “Instrument Names”, we’re not dealing with some some kind of NSA super encryption.

With that layer of the onion peeled back, we still don’t know what it means, and I hate to break the bad news, but I’m new here and know nothing about the midi format details (I plan to look at examples or read the spec when I get a minute). But I’m already pretty sure that ain’t just midi because there’s all sorts of apple specific terms in it.

We can make some observations already. First, see all those scary looking black characters? Don’t be scared of those, that’s the easy part. They’re just control codes when you want to use a character that can’t be seen, but means something like, carriage return or whatever.

Where are we now?

How

We started playing a single scale in GB iOS 12 latest versions of everything as of today

Then wondered why the heck is there no midi export button?

Now we’ve peeled back several layers of a real project, are able to look around inside of it. It doesn’t appear to be encrypted at all and we’re seeing exactly the kind of stuff in the data we’d hope to see.

We can find music related words including “piano” used a bunch of times within this file and data nearby them in sub-sections that could have my scale notes buried in there somewhere.

I wish a had a few minutes to dig further right now but at the moment, I still haven’t hit any wall or seen any reason it shouldn’t be possible to with a little more poking around to get this done.

Interested in any feedback you have:

  • Do you agree it might be handy sometimes to have a .band to midi converter? I use other DAWs, some things I just prefer to do in GB iOS.
  • Is there already prior art on this effort for iOS, not desktop GB, or a free super utility I’ve missed?
  • If you look at the project data, maybe it’s obvious right away to where is is or how they’re storing it. I just ran out of time for but wouldn’t be surprised if others already know more.

Here’s a link to the decode project text file if anyone wants to take a look:

Comments are closed.