On Wed, 2007-07-18 at 14:55 -0700, Craig Hoedebeck wrote: > I am relatively new to audio programming, but I have a task that > requires converting between various audio formats: > > unsigned 16 bit linear to signed 16 bit linear > u_law to signed 16 bit linear > a_law to signed 16 bit linear > unsigned 8 bit linear to signed 16 bit > signed 8 bit linear to signed 16 bit > > Anyone know what the conversion functions for these would look like? > Or even what a good reference is where I can find these? I have been > googling around for about an hour and I have come up empty.
For a_law an u_law you could try wikipedia, which will also give you a nice link for further reading and implementation here: http://hazelware.luggle.com/tutorials/mulawcompression.html The linear conversions should be trivial, something like: // unsigned 16 bit linear to signed 16 bit linear: short s_16 = u_16 - 32758 // signed 8 bit linear to signed 16 bit short s_16 = s_char << 8 // unsigned 8 bit linear to signed 16 bit short s_16 = (u_char - 128) << 8 Mind you, i haven't had my coffee yet ... > > > > ______________________________________________________________________ > Luggage? GPS? Comic books? > Check out fitting gifts for grads at Yahoo! Search. > _______________________________________________ > Linux-audio-dev mailing list > [email protected] > http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-dev -- _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-dev
