Hacker News new | ask | show | jobs
by alexbw 5191 days ago
Hey everybody, Novocaine is my baby, and it's completely awesome to see folks already using it.

For the record, it's open-source, I just forgot to stick the MIT license at the top. Or would folks prefer BSD? Let me know, I'm flexible. The only thing I care about is that people use it to make awesome software.

If anybody's a Boston local, I'll be talking about iOS audio (both novocaine and some fancier frequency analysis, I hope) at the Berklee College of Music CS club tomorrow, 6-8pm, at 150 Mass Ave, room 118.

And, if you dig novocaine, check out the apps I made with it: http://itunes.apple.com/us/artist/alex-wiltschko/id344345862

6 comments

Your timing couldn't be better. I was literally in the process of trying to figure out how the heck the SpeakHere demo actually works -- now maybe I don't have to.

It would be nice to have a little more documentation. How do you set audio sample formats? (I assume you can.)

Documentation will be forthcoming. What do you mean by audio sample formats? One of the things I tried to do was make sure that you never, ever, EVER have to think about anything but floating point audio. In my experience, audio comes in as either float or SInt16s (I've never seen fixed-point coming in by default, but I haven't done an enormous amount of odd-peripheral Mac audio), and novocaine just handles it for you.
I'm working on a VoIP app and the back end requires specific audio formats.
You'd use Novocaine to grab the audio, and then you'd do the audio format conversion yourself. e.g.:

[[Novocaine audioManager] setInputBlock:^(float * inData, UInt32 numSamples, UInt32 numChannels) { for (int i=0; i < numSamples * numChannels; ++i) { dataForVoip[i] = YourType(inData[i]) * someScaling; } }];

I've done a bunch of work with PortAudio on OS X. I only ever wanted a stream of Float32, and was annoyed with the setup required. This looks like what I wanted but didn't think to ask for. It would also be great if it were a C api.
How I wish people could build such things for Linux.

Here's a question - what does Linux audio lack for you to be able to pull of something like Novocaine ?

In what sense? Linux has a number of ways of accessing the audio device, from the simple Open Sound System (OSS), to Advanced Linux Sound Architecture (ALSA), and Jack Audio Connection Kit (JACK).

JACK has become the most popular framework for nontrivial sound applications, but there is good support for the other interfaces as well. There is also no major shortage of applications for either sound generation or analysis. Compared to the applications listed, baudline provides a much more through analysis for instance.

In addition, does Android still suck for low latency audio?
Consider the ISC License [1]. "It is functionally equivalent to the Simplified BSD License, with language "made unnecessary by the Berne convention" removed. Initially used for the ISC's own software releases, it has since become the preferred license of OpenBSD (starting June 2003), among other projects."

[1] https://en.wikipedia.org/wiki/ISC_license

Wow, this is really useful, I'd love to attend to your conference, but I'm a little too much to the south (Argentina) to attend. Is there any chance to get the conference transcript or a recording of any kind after the event? It'd be of real help in my current project.

Thanks!!

Alright fine, you just sold me a copy of Octave! Thanks for releasing this.