Hi everybody,
for my music app I have multichannel files (usually ~60 channels), that are mixed during playback to stereo. This works fine on desktop machines, but on android I have a performance problem (average machines, MacBook Mid 2015: 15% CPU and a Windows PC ~10 % - debug doubles the numbers roughly).
The audio file is read on a background thread (BufferingAudioSource), so that the audio thread does only the mixing.
My android phone (Galaxy Note3neo aka SM-N7505) can play it back using uncompressed wav, but stutters when playing from ogg. Same problem, if I use 30 stereo stems buffered from 4 background threads.
Now the question: does anybody know a file format, that would work better? I saw @SKoT’s BDFlac, but he said, it optimises for decaying material in particular. We could do something similar, e.g. skip a third of the channels that are currently not played. But that would mean to implement a whole new audio format…
Any suggestions?
Cheers,
Daniel