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.

Updated script to extract music from GarageBand project

Important note: I am not planning on keeping this project around for long as I want to move on to other things, such as making music! I therefore propose to shut the Git project down on March 1st 2021 at the latest. Anyone is welcome to adopt and find a new home for the code in the meantime but I do not have the time to offer long term support and I will not respond to requests for the script once the project has been removed. Download it while you can!

You can find the project here: https://github.com/MisplacedDevelopment/GBExtractorPublic

TLDR version:
Python script that extracts MIDI and audio from GarageBand projects, plus a few extras. Even if you do not like/use GarageBand or are DAWless then there may be something here for you.

Non-TLDR version:
Following on from investigations into how SonoBus can be used in DAWs (https://forum.audiob.us/discussion/43076/use-sonobus-to-expose-daw-tracks-to-aum) I found myself rediscovering GarageBand. I realised that there were a number of nice features in GarageBand that I had not been aware of such as multiple MIDI/audio takes and the ability of the virtual drummers to follow the rhythm of another track.

This experience spurred me to update the script I had written to extract drum parts from GB (https://forum.audiob.us/discussion/40735/extract-drum-patterns-from-garageband-on-ios-python-ista-script) so that it could extract other MIDI from GarageBand projects.

I have been working with @seonnthaproducer (thanks Seonn!) for the last couple of weeks to improve and test the script and it now has the following feature list:

  • Note on/off supported for all instruments, including all types of smart instrument
  • Creates a number of views of your data - full song, per track, per section.
  • Time signature and tempo are preserved
  • Understands a variety of MIDI meta-data such as MIDI CC and pitch wheel changes.
  • GB multi-take sections are supported - use GB to jam short clips of MIDI and then export to a clip launcher such as LK.
  • Export drum sections as one track per drum part to allow for multi-stem processing. Features automatic naming of each stem with the appropriate instrument for ease of use in your sequencer (limited DAW support for this option).
  • Extract and compress audio from projects.
  • Cut-Up mode to combine all permutations of takes in a track for creative exploration.
  • Velocity and duration filter with side-by-side before/after comparison. Ideal for cleaning up MIDI guitar or drum-kit input.

Do read the project documentation, including the limitations section as there are a number of bits of functionality that I did not get to implementing.

The code got a bit bloated. I wanted to split it over multiple files but I figured it would be easier to consume as a single file. I regretted my decision to develop and test the whole thing on the iPad. Do not write code like this in real life.

Comments

  • @MisplacedDevelopment said:
    Important note: I am not planning on keeping this project around for long as I want to move on to other things, such as making music! I therefore propose to shut the Git project down on March 1st 2021 at the latest. Anyone is welcome to adopt and find a new home for the code in the meantime but I do not have the time to offer long term support and I will not respond to requests for the script once the project has been removed. Download it while you can!

    You can find the project here: https://github.com/MisplacedDevelopment/GBExtractorPublic

    TLDR version:
    Python script that extracts MIDI and audio from GarageBand projects, plus a few extras. Even if you do not like/use GarageBand or are DAWless then there may be something here for you.

    Non-TLDR version:
    Following on from investigations into how SonoBus can be used in DAWs (https://forum.audiob.us/discussion/43076/use-sonobus-to-expose-daw-tracks-to-aum) I found myself rediscovering GarageBand. I realised that there were a number of nice features in GarageBand that I had not been aware of such as multiple MIDI/audio takes and the ability of the virtual drummers to follow the rhythm of another track.

    This experience spurred me to update the script I had written to extract drum parts from GB (https://forum.audiob.us/discussion/40735/extract-drum-patterns-from-garageband-on-ios-python-ista-script) so that it could extract other MIDI from GarageBand projects.

    I have been working with @seonnthaproducer (thanks Seonn!) for the last couple of weeks to improve and test the script and it now has the following feature list:

    • Note on/off supported for all instruments, including all types of smart instrument
    • Creates a number of views of your data - full song, per track, per section.
    • Time signature and tempo are preserved
    • Understands a variety of MIDI meta-data such as MIDI CC and pitch wheel changes.
    • GB multi-take sections are supported - use GB to jam short clips of MIDI and then export to a clip launcher such as LK.
    • Export drum sections as one track per drum part to allow for multi-stem processing. Features automatic naming of each stem with the appropriate instrument for ease of use in your sequencer (limited DAW support for this option).
    • Extract and compress audio from projects.
    • Cut-Up mode to combine all permutations of takes in a track for creative exploration.
    • Velocity and duration filter with side-by-side before/after comparison. Ideal for cleaning up MIDI guitar or drum-kit input.

    Do read the project documentation, including the limitations section as there are a number of bits of functionality that I did not get to implementing.

    The code got a bit bloated. I wanted to split it over multiple files but I figured it would be easier to consume as a single file. I regretted my decision to develop and test the whole thing on the iPad. Do not write code like this in real life.

    Many thanks for this @MisplacedDevelopment and @seonnthaproducer, I have just downloaded it and will try it out tomorrow 😊👍

  • Understandable @MisplacedDevelopment Thanks to both you & @seonnthaproducer for the work. Just downloaded. Cheers.

  • Hope you have fun with it. Great job @White for finding out about it before this version was released. There’s ton of work that was done in this (seriously, great job @MisplacedDevelopment ).

  • Reminder that the Git project hosting this script is due to close on Mon 1st March.

    I have not posted images before so not sure whether this will work but here are some example screenshots.

    This shows going from 3 tracks in GarageBand to Xequence 2 and also loaded directly into LK now that it supports multiple tracks:

    This one shows one of the drummers rendered as a single MIDI track and again as a multi-track file. Note how the instruments are automatically named in the stemmed version:

    This shows the filter in action after being run against some MIDI that was generated by MIDI Guitar 2 via the Accoustic guitar instrument. You get the original clip, the filtered clip and the difference. The note velocity and note duration can be filtered on. I’m not aware of other iOS tools that filter on note duration which is why I added it here. You of course get the filtered notes in separate MIDI file and would use this one to fine tune the filter:

    Here is how GB MIDI multi-takes are separated as well an example of some archived audio:

  • FYI, after speaking with @MisplacedDevelopment this will be hosted on www.ipadbeatmaking.com so that it isn’t lost to history! We will give it a great home! Links will be posted shortly

  • Catching up on a few posts I missed. @ipadbeatmaking - Awesome. Glad you’re keeping the project alive.

Sign In or Register to comment.