Live data from Hacker News

Novocaine: painless high-performance audio on iOS and OS X

alexbw.github.com

11–20 of 45 posts

Re: Novocaine: painless high-performance audio on iOS and OS X

#11
post #2

I just finished making my own version of this! What unfortunate timing, but kudos to you.

Is it open source? I'd love to check it out.

I'm thinking of abstracting out some of the quirks and open-sourcing the audio engine at some point, but it isn't nearly as intuitive or compatible as this library as it was developed recently along with the application that uses it...

On top of that, no vector operations or ring buffers are currently implemented, so I wouldn't be surprised if this library has significantly better performance. I do have a bit of a wish list of features to add to my code after taking a look at some of the techniques used here. It's complicated work, but I've never had a better experience learning a complicated system.

My implementation basically added a playback and mixing interface to the audio engine from this sample mixer project: http://developer.apple.com/library/ios/#samplecode/MixerHost...

Re: Novocaine: painless high-performance audio on iOS and OS X

#12
post #11

Earlier quoted context omitted.

Is it open source? I'd love to check it out.

I'm thinking of abstracting out some of the quirks and open-sourcing the audio engine at some point, but it isn't nearly as intuitive or compatible as this library as it was developed recently along with the application that uses it... On top of that, no vector operations or ring buffers are currently implemented, so I wouldn't be surprised if this library has significantly better performance. I do have a bit of a wi…

By vector operations do you mean using something like the Accelerate framework? or SSE/NEON primitives? or just retooling your code so that your compiler can make attempts to vectorize when possible?

Re: Novocaine: painless high-performance audio on iOS and OS X

#13
post #11

Earlier quoted context omitted.

I'm thinking of abstracting out some of the quirks and open-sourcing the audio engine at some point, but it isn't nearly as intuitive or compatible as this library as it was developed recently along with the application that uses it... On top of that, no vector operations or ring buffers are currently implemented, so I wouldn't be surprised if this library has significantly better performance. I do have a bit of a wi…

By vector operations do you mean using something like the Accelerate framework? or SSE/NEON primitives? or just retooling your code so that your compiler can make attempts to vectorize when possible?

I'm a bit new to this stuff, so I'm not exactly sure to be honest! It looks like he is piping several array operations through Accelerate, and I suspect there is at least one part of my render callback function that would finish faster with appropriate vectorization.

If anyone has any relevant tips about how the Obj-C LLVM or whatever it is actually works and what it means for low-latency audio, please do share. My current strategy is ruthless and minimal static allocation but I don't know what is best.

Re: Novocaine: painless high-performance audio on iOS and OS X

#16
post #10

Absolutely hate the name.

Why do you hate it?

Because it gives you absolutely no idea what the product actually does, and it's un-googleable. Try googling novocaine - guess what, you won't find this in the first page of results. Good luck with it. I'm sure it may be one awesome piece of software, but the name is just dumb.

Re: Novocaine: painless high-performance audio on iOS and OS X

#18
post #10

Absolutely hate the name.

I guess I'm showing my age here, but I've now got the song Novocaine by The Eels running around my head: http://www.youtube.com/watch?v=V2yy141q8HQ

That seems like a pretty good "hook" to hang your audio library off (I guess targeting your audio library marketing to people who were listening to pop music in 1996 is a questionable tactic though…)

Re: Novocaine: painless high-performance audio on iOS and OS X

#19
post #16

Earlier quoted context omitted.

Why do you hate it?

Because it gives you absolutely no idea what the product actually does, and it's un-googleable. Try googling novocaine - guess what, you won't find this in the first page of results. Good luck with it. I'm sure it may be one awesome piece of software, but the name is just dumb.

> Try googling novocaine - guess what, you won't find this in the first page of results. Good luck with it. I'm sure it may be one awesome piece of software, but the name is just dumb.

A lot of web projects are "un-googleable", especially when they are first kicking off. Django would be a good example of this—searching for "Django" would often return results about Django Reinhardt, a jazz musician, instead of the web framework.

I think it's a fair assumption to say that an interested programmer might think to append github[1] or audio[2] to their search, in which case the result is in the top 3.

[1] https://duckduckgo.com/?q=novocaine+github [2] https://duckduckgo.com/?q=novocaine+audio

Re: Novocaine: painless high-performance audio on iOS and OS X

#20
post #16

Earlier quoted context omitted.

Why do you hate it?

Because it gives you absolutely no idea what the product actually does, and it's un-googleable. Try googling novocaine - guess what, you won't find this in the first page of results. Good luck with it. I'm sure it may be one awesome piece of software, but the name is just dumb.

[deleted]
Post reply on HN