First let me say know practically nothing about psychoacoustic algorithms and losy file formats, but and idea just occured:
Could an abstraction layer be implemented between the psychoacoustic algorithm and the actual physical file-storage format? So that way you could pick an algorithm, and then pick a file format to use when encoding from source....examples:
LAME-APS algorithm + mp3 file format
xing algorithm + mp3 file format
or better yet....
MPC algorithm + mp3 file format
OGG algorithm + mp3 file format
X algorithm + Y format
Is this at all possible? Or are the psychoacoustic algorithm's too tied to their respective file formats? Where does the container fit into all this? Thanks for your time
This would be a highly cool idea, but the problem is that each algorithm you mentioned is highly dependent on the format.
In fact, it's probably better to think of the file format as the algorithm, and the settings as just tweaks
The problem is that you usually tweak you psychoacoustic model in order to take into consideration the possibilities and the limitations of your format.
The problem is that you usually tweak you psychoacoustic model in order to take into consideration the possibilities and the limitations of your format.
So if there was a layer of abstraction, it would probably have to use some sort of intermediate file format, then every psychoacoustic algorithm would have to optimise for that...and then that intermediate format would be translated into Y file format....so in short, massive rewriting for minimal gains.
Also this theoretical intermediate file format would be a compromise between all of the different algorithms capabilities...if such a thing were implemented it would probably have a very hard time aproaching the efficiency (file size/quality ratio) of anything that already exists...
But on the positive side, if something like this existed, all the different layers could be worked on independently...it could be like "profiling" an audio file encoding process, so instead of for speed it would be for the efficiency of a given encoding path (say: wav->mpc alg.->intermediate file-> ogg format->vorbis container)...maybe some day...