[Ardour-Dev] libsndfile

John Emmas johne53 at tiscali.co.uk
Sat May 10 04:13:45 PDT 2008

Hi everyone,

I need to do some work to 'harmonize' 24-bit audio between AAF and Ardour
(prior to releasing an AAF importer for Ardour).  One problem is that AAF
implements a special 24-bit data type (i.e. 3 bytes per sample) whereas
libsndfile internalizes 24-bit audio to 32-bit floats.

One way that I'm considering is to treat the imported audio as raw data and
use libsndfile's 'raw' reading and writing functions.  Because sound files
are often 'endian' I need to know whether or not to byte swap the data.
libsndfile includes a new SF_COMMAND called SFC_RAW_NEEDS_ENDSWAP
to serve this purpose.  Unfortunately, it was only introduced a few months
ago and (whilst my copy of Ardour isn't the most recent) I think it's recent
enough to see that this new command isn't included in the version of
libsndfile that we use in Ardour.

A temporary kludge might be for me to assume that Ardour is only ever run on
little-endian platforms but is that a dangerous assumption?  If there's
anyone out there running Ardour on a big-endian platform (e.g. some Motorola
processors) please speak up now....  :-)



More information about the Ardour-Dev mailing list