The Holy Grail of iOS audio libraries (aka why iSub 3.1 is going to rock!)


As I’ve been doing research into how to best implement the gapless playback and equalizer features into iSub 3.1, I came across a wonderful multi-platform audio library called libBASS.

It’s perfect!

Quick rundown of the awesome stuff this library can do:

  • Play MP3/AAC/ALAC/OGG/FLACย and more
  • Play formats like MP3 using the device’s hardware decoder for great battery life
  • Gapless playback!
  • Apply effects including aย parametric EQ, reverb, echo, etc in real time
  • Get level data on the frequency bands for creating aย visualizer or visual EQ display
  • Play multiple encoded audio streams simultaneously and mix them, like a DJ app!
  • Change pitch, speed, etc of playback
  • more cool stuff I’m not thinking of off the top of my head

So yeah.. I’ll be writing a new audio engine based on libBASS that will power iSub 3.1.

That’ll get us the gapless playback and EQ feature I’ve been promising for a while, plus allow playback of OGG and FLAC natively. Then later I’ll implement some kind of EQ visualizer, both on screen and potentially through a TV hookup, and some way to apply some of the affects to the music like reverb.

Possible even a DJ add-on coming next year… but more on that later.

I’m super psyched about all this, and I’ll be working on the new libBASS powered audio engine in the next couple weeks. Also working on adding HTTP Live Streaming video support to Subsonic in that same time frame so that we can stream videos as well as music!

Currently putting the finishing touches on the big bug fix update / internal rewrite that has been in the oven for a while, but more info on that in the next post…

12 Responses to “The Holy Grail of iOS audio libraries (aka why iSub 3.1 is going to rock!)”

  1. gdayppl November 4, 2011 at 1:11 pm #

    Woot! Sounds exciting!!! Is it possible to load songs that are in the iCloud as well, you think???

  2. Ben Baron November 7, 2011 at 6:19 pm #

    At some point in the future, iSub could (and probably will) be able to access your natively synced songs to use all of the power of libBASS with that music as well.

    If the music is in iCloud, you’d have to use the iTunes app to sync the music down first so it’s in the local phone storage, since I don’t think they’re allowing 3rd party apps to directly access the music in iCloud (I could be wrong on that though).

  3. gdayppl November 7, 2011 at 9:07 pm #

    Cool! Thanks for letting me know :)

  4. Mark Stevens November 20, 2011 at 12:40 pm #

    Sweet!

  5. Chris November 22, 2011 at 3:35 pm #

    Subsonic released an api addition for rating items I believe this will give you the ability to rate ind songs if so think it might be possible to squeeze that in to this release

  6. Ben Baron November 27, 2011 at 12:17 am #

    I’m planning on having rating support in 3.1. I actually wrote those APIs and submitted them to Sindre ๐Ÿ˜‰

  7. Parlance December 20, 2011 at 12:53 am #

    I hope the audio engine fully supports the + part of AAC+. I use Subsonic exclusively with AAC+ formatted audio and it sounds great on my android phone with the free app but sounds quite muffled and awful with iSub at the moment on my iPhone.

  8. Ben Baron December 27, 2011 at 8:54 pm #

    Yep, the new engine fully supports AAC+ as confirmed by one of my testers that uses the format heavily.

  9. rez January 19, 2012 at 8:14 pm #

    Hey Ben this sounds great!

    Thanks so much for all the great work with iSub. Subsonic blew my mind, and iSub is the icing on the cake.

    The new audio library and update sound excellent. Full paraetric eq!!! Wow, the only downside to iSub over the iPod player in terms of quality was the lack of EQ. Now you’ve leapfrogged over them by having proper (and parametric no less) manual eq instead of ‘happy’, ‘sad’ etc. that the iPod app has!

    Hope the EQ quality is good, personally I don’t see the need for reverb, delay etc. they are the tools of the sound engineer. A mixed stereo track never benefits from these so keep the ui simple and leave it out.

    Just my thoughts anyway… keep up all the great work… it’s seriously changed my life for the better :)

  10. Ben Baron January 19, 2012 at 10:10 pm #

    Thanks for the kind words! I put a ton of work into iSub and I’m always happy to hear from people that enjoy it. :)

    The EQ quality seems to be quite good in my personal listening. BASS is also the same audio library used in the Mac application Vox, which I use quite extensively on my desktop/laptop and have never had an issue with the EQ quality.

    The other effects aren’t coming in this version, and as you said there really isn’t a need for them. If/when they are added, the default UI would be for the equalizer with additional effects available in a separate window if you want them, or you can ignore the button if not.

    The additional effects I’m most interested in personally is the compressor and tempo adjustment. I produce music on the side, and a killer feature for me would be the ability to bounce out a track to my Subsonic server, play it in iSub on different stereos while playing with compression, EQ parameters, and tempo. That would let me tweak the mastering on the fly to get the perfect sound which I can then incorporate back in my DAW. Might not be something needed by most people, but for the 1% of 1% of users that would benefit from it, it’s really a killer feature (in my opinion).

    My general philosophy behind design (and iSub doesn’t quite meet this standard yet, but will get closer in the future) is to keep the defaults simple but have many additional options for those that want them.

    Making good progress as fixing most of the showstoppers that are keeping the new version out of the App Store, but still have a couple more to go. I’ll post another blog entry when I get closer to a release candidate.

  11. rez January 26, 2012 at 10:49 am #

    Hey Ben thanks for the response.

    I’m a DJ myself in my spare time and used to do a lot of live sound work. Occasionally do remixes and stuff and while not exactly production I can totally understand where you’re getting at with the mastering stuff.

    I couldn’t agree more with your philosophy on design, and obviously the more features the better, like you say if someone doesn’t use them they don’t use them!

    And the tempo would be useful for me too…. too many years of pitching up records in clubs makes some tunes sound *slow* at the right speed. I know I’m a disgrace ๐Ÿ˜‰

    Best of luck… looking forward to the new version!

  12. Ben Baron January 27, 2012 at 9:00 pm #

    Heh I know what you mean about record tempos. Changing tempo even a few percent can totally change the groove of the track. I’ve bought many a track that I heard in a mix only to go “that doesn’t sound right” when I actually listen to it at normal speed. ๐Ÿ˜›

Leave a Reply