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.

RELEASED: Source Code to Build Your Own iOS Sample Based Instrument

Comments

  • Thank you for your effort and thanks to everyone else involved in this project!

  • edited December 2017

    At AudioKit, we can't promise our code is good. But, we can promise the code is improving.

  • DCJDCJ
    edited December 2017

    So cool, Matt. Maybe if we all tried to create our own app we’d stop requesting everything under the sun. :D

  • Use the code at your own risk. Here's a picture of me as an audio developer:

  • edited December 2017

    @analog_matt said:
    Use the code at your own risk. Here's a picture of me as an audio developer:

    LMAO

  • From the bottom of my heart, thank you Matt. Can't wait for finals week to be over so I can brew myself a pot of coffee and dive into this :)

  • edited December 2017

    @ryanjanik said:
    From the bottom of my heart, thank you Matt. Can't wait for finals week to be over so I can brew myself a pot of coffee and dive into this :)

    Thank you. Hopefully all that coffee will cure any headaches this code may cause!

  • @DCJ said:
    So cool, Matt. Maybe if we all tried to create our own app we’d stop requesting everything under the sun. :D

    Well, it might inspire some empathy for app developers once everyone realizes what we go through. :D

  • @analog_matt said:
    At AudioKit, we can't promise our code is good. But, we can promise the code is improving.

    Best. Slogan. Ever. lol

    But your code has always been good, Big fan here :smile:

  • Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

  • @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Tony what was quantum programmed with?

  • edited December 2017

    @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Thanks! I bought a copy of Quantum a few weeks ago. It's super fun!

  • @DCJ said:

    @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Tony what was quantum programmed with?

    objective C mainly - the MidiBus library is C. I used cos2d games engine so it has its own shaders & UI. gfx are packed using TexturePacker for PVR.

    I've been avoiding swift since its locked into Apple, but its similar enough to obj-c+ARC. I'm not translating Quantum to swift though - its over a million lines of my own code, but I can bridge the two.

  • @analog_matt said:

    @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Thanks! I bought a copy of Quantum a few weeks ago. It's super fun!

    If I'd known I could have given you a promo!

  • I wonder how much work would it take to make this wonderful codebase multitimbral, with choice of MIDI channel for each part. Since AUV3 is not an option (at least for now) with Swift 4, the most viable option to really make the most out of a sample-based app made with ROMplayer in a production context would be having more than one MIDI channel available, with different timbres in an IAA instance. Something like Sampletank, but with more than 4 parts (this would be dictated by the power of the iOS device). Such a solution would be even better than AUV3, with its measly 360 MB memory limit!

  • edited December 2017

    @jugstries - That is a very cool use case.

    And the answer- Very easy. The app store version of this code has some basic multitimbral functionality. For example, there are two AKMIDISamplers instead of one. That's how presets like 'FM Sound Stack' can morph between two sounds.

    Having multiple sample oscillators is also a good way to save device storage space. Those stacked sounds use existing samples. Thus, not requiring a separate sample set for each layered sound.

  • All this interests me for experimentation purposes...
    But you gotta code on a MAC and have the Dev account to put anything on a device, right? :confused:

  • Could someone please code an ios version of the Teenage Engineering OP-1?

  • @Heiliger_Bimbam said:
    Could someone please code an ios version of the Teenage Engineering OP-1?

    Yes, YOU can! I believe in you

  • @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Tried it on two different macs and got endless warnings about versions of Swift. May have to start with something a little easier..

  • @senhorlampada said:
    All this interests me for experimentation purposes...
    But you gotta code on a MAC and have the Dev account to put anything on a device, right?

    You are correct. However, dev accounts to put on your own devices are free. You only have to pay Apple if you want to upload to the app store.

  • @analog_matt said:

    @senhorlampada said:
    All this interests me for experimentation purposes...
    But you gotta code on a MAC and have the Dev account to put anything on a device, right?

    You are correct. However, dev accounts to put on your own devices are free. You only have to pay Apple if you want to upload to the app store.

    Oh... nice! Thanks, Matt! :smiley:

  • @Jocphone said:

    @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Tried it on two different macs and got endless warnings about versions of Swift. May have to start with something a little easier..

    This may help some people: The workspace needs to be opened from the "RomPlayer.xcworkspace" file (instead of the "RomPlayer.xcodeproj" file)

  • @analog_matt said:

    @Jocphone said:

    @midiSequencer said:
    Just downloaded - compiles & runs out of the box. Maybe have to learn swift 4 now.. thx for donation to the community @analog_matt

    Tried it on two different macs and got endless warnings about versions of Swift. May have to start with something a little easier..

    This may help some people: The workspace needs to be opened from the "RomPlayer.xcworkspace" file (instead of the "RomPlayer.xcodeproj" file)

    Tried that but I still get:

    “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.

    To be fair, although I am a developer, I have no idea what I am doing in XCode or with Swift. It could well be that I need a newer update of both.

  • This code was last committed/tested with Xcode 9.1

  • Interesting...can anyone speak on the learning curve for a complete coding beginner?

    I assume most of the heavy lifting has already been done and all you have to do is figure out how to import/map your sample library then compile.

    How easy is it to customize the GUI? Customizing knob behavior and such.

  • I'm in Xcode 9.2 and with RomPlayer workspace only get a warning about swift 3 @objc and umbrella AK4ParamRampBase.hpp

  • @coolout said:
    Interesting...can anyone speak on the learning curve for a complete coding beginner?

    I assume most of the heavy lifting has already been done and all you have to do is figure out how to import/map your sample library then compile.

    How easy is it to customize the GUI? Customizing knob behavior and such.

    easy enough - but you do need to learn Swift.
    If you're already familiar with Xcode, Storyboards & resources then thats half the job - Audiokit is readable as Swift.

    You have to have a Mac OS though.

  • Bless the releasers you rock

Sign In or Register to comment.