Using Wave files as the intermediate format is the most flexible and most compatible solution, because all CLI decoders that I am aware of at least can write a Wave file and all CLI encoders at least can read from a Wave file. It seems Wave files are the "lowest common denominator" for audio tools. If we don't want to use intermediate files, then we need to pass the uncompressed data via pipe. Even if we assume all decoders can write to STDOUT and all encoders can read from STDIN, which in reality is not the case, what is the format we send over the pipe? Do we send "raw" PCM samples? Or do we send send some kind of "fake" Wave header? If we send "raw" samples, how to indicate the sample format and the number of channels? And how to indicate the total number of samples, so that the encoder can report progress? Will using a pipe work with 2-Pass filters in SoX? After all this will introduce more new problems than it solves, I think...
(And this doesn't even take into account the immense amount of work that would be required to re-write everything ^^)
Last edited by LoRd_MuldeR; 2nd May 2012 at 23:11.
|