Low Latency Audio. Cross Platform on Android, OSX and iOS. Free.
Android's 10 Millisecond Problem Mobile Audio Latency Test App Android Audio Player USB Audio and MIDI for Android
The roots of Superpowered are very different as compared to ‘typical’ startups. Forget hackathons, startup events, big companies or even the Silicon Valley.
My name is Gabor and in the 1990s, I started DJing and even ran my own club in Budapest, Hungary. I loved making music so much that I started writing and producing for Warner Music UK and Strictly Rhythm with a good friend of mine, some of our songs even hit Top 20 on various dance charts around the world.
We were among the first artists to use only a PC for music creation, which made us very unique at the time.
We had to learn to hack and overclock my 300 Mhz Celeron (running a pirated copy of Fruity Loops) as programming the numerous virtual instruments and audio filters and effects would easily eat all available system resources. For us, keeping our eyes on the CPU usage meter was an essential part of the music creation process.
Our goal was to make a living as ‘recording artists’, but this dream disappeared quickly as technology provided free access to music (Napster, Kazaa, etc.), which I feel great about despite it having killed my artistic dreams.
Not to mention, being part of the nightlife as a DJ, I saw the life of the ‘performing artist’, and we refused to become ‘that guy’. At the end of the day, traveling the world and waking up every day in a different city, may sound very cool, is really not for me.
Coding was my other hobby, so I kicked off my own tech projects, served as a CTO here and there…but, honestly, coding for the web was never as cool as my previous DJ/electronic music life.
When Apple opened the App Store and released the iOS SDK in 2008, I knew immediately what I wanted to do:
To bring the touchscreen into the professional DJ booth by creating a DJ app for the iPhone. Not a simulated DJ interface for children and wannabe cool kids, but to develop a fundamentally useful application for DJs who actually play for real audiences every night.
My app, DJ Player, now approaching 2 million downloads, is still the only one in the App Store with this ‘industrial strength’ focus.
That’s why it’s not that sexy visually, if you compare it to other DJ apps aimed at consumers. But believe me, I’ve been tuning the interface since 2008 for real DJ booths, and I know what works there and what doesn’t.
As I began to build my DJ app, I started to research audio frameworks. I thought I would simply wrap an interface around an existing audio framework and that would be it!
Well, I was wrong.
Every single audio framework I tested performed horribly on mobile. Even Core Audio by Apple used too much of the CPU, and the latency was unacceptably high. I soon realized that low-latency and real-time audio features were simply not possible with existing tools and platforms.
[The Superpowered SDK contains a demo app that lets developers compare Core Audio by Apple to Superpowered directly.]
DJing requires lots of processing power with very low latency, at least one magnitude better than most games. When a game has lower than 100 ms of latency, that’s okay, and 50 ms is good - while in the DJ world, 20 ms is considered acceptable and below 10 ms is good.
Getting latency below 10 ms is exponentially harder to achieve, and my DJ app couldn’t freeze or crash when playing for a live audience. I had no other choice than to create an entire audio framework on my own from scratch, and I realized… I loved the result!
No more dependency on 3rd party code or libraries, and when something happens, I have full responsibility and control.
Then another big challenge presented itself: you can find a lot of audio digital signal processing code on the internet, but it runs poorly on mobile, using much too much of the CPU.
This is because the the class of inexpensive low-power processors, typically of ARM architecture, simply don’t have the processing power of laptops and desktop grade processors -- therefore, shoehorning algorithms designed for the desktop into mobile wasn’t going to work.
You can optimize it, you can play with compiler options, you can even write it in Assembly, but most of the time, it’s still not efficient enough.
I had been working on this problem for 4 years -- how can one process audio more efficiently on low-power mobile devices -- when I figured out a set of novel DSP optimization methods, a collection of best practices, tricks and secrets to process audio radically faster.
These optimization methods use fewer CPU clock cycles which means not only is the technology faster, but because it users fewer clock cycles, it uses less power as well -- allowing a mobile device to run other non-audio related tasks concurrently.
It’s a bit like taking an ordinary car, say a VW Bug, adding magic technology to it, which would make it accelerate like a Porsche and get the fuel efficiency of a Prius at the same time.
And that technology became the core of Superpowered. It spans from unique new mathematical algorithms to the vey last chunk of code. And this method can be applied to any kind of data similar to audio: images, video, bio-medical or any other digital signals.
While DJing is a fun market, it is absolutely miniscule, however, this technology offered much more than my DJ app.
But I had no idea how to bring it to market, it’s not that easy as “just create a library and release it”. I wanted to superpower the growing world of mobile and wearable devices.
The startup-fever in my country came to the rescue, but not in the way you’d imagine. I won a 'priority seat' in a local accelerator program’s USA tour. We had a great, extremely eventful and very instructive few weeks together. The biggest conclusion was that if I wanted to be successful, I needed to find a co-founder. A hustler, with an “American mindset”.
As I was searching for a cofounder, I was introduced to Patrick Vlaskovits through a mutual friend.
Funny thing is that we already knew each other. One of Patrick's uncles lives just down street from me, and I had known Patrick through the Budapest startup community, when he was in town with his family, we would meet up and exchange notes.
Patrick had been busy with other projects and was now looking for an innovative challenge to captain.
I had been offered investment by an ‘old school’ Europe-based VC and when I shared the terms with Patrick, he convinced me that their terms were not only not in my favor, but moreover disastrous for future investors - meaning that if I wanted to build a real, successful company around my digital signal processing work, I had to work with professionals with a Silicon Valley mindset.
In October 2013 we kicked off Superpowered with lots and lots of customer development, paperwork and talking with as many people as possible. We created a roadmap for the next months, then hid under a rock to finish the tons of boring, but necessary steps for the public launch.
Okay, not so hidden… as Patrick is a well-known “lean” leader, we often got “out of the building”, virtually with Skype. It’s so great when you start shaking the tree in California, and unbelievably valuable contacts starts falling out. We learnt tons from these conversations with talented and respected people in the tech scene, often in big companies I never imagined I could seriously talk to!
One of the most exciting aspects was that Ted Vucurevich, the former CTO of Cadence Design Systems, not only understood exactly what Superpowered technology could accomplish -- but he agreed to serve as an advisor too.
Don't get me wrong: We still have a lot to learn and a lot to accomplish, but based on the feedback we've received, the road to success is much more clear than ever.
Superpowered offers super-fast audio processing, stability, independence from OS features and ease-of-use for you.
Seriously, please don’t spend any time learning Core Audio or OpenSL ES before looking at Superpowered. I come from the DJ and music-producer world, where we connect boxes together in a modular manner -- which makes it easy to understand what goes where and how to change to easily change parameters.
Other audio frameworks were created with 'coder thinking' and demand the understanding and learning of many abstractions to get started, let alone build an app.
Not with Superpowered. We believe it’s not only the fastest but the easiest audio library for mobile.
PS: This is just the beginning of the ride. We’ll be releasing Superpowered Audio SDK for Android in Q2 2014 and we cannot wait to superpower image-, video-, feature-recognition, and biomedical signal processing on mobile and wearable devices.
By Gabor Szanto