Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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...


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: