Hey everyone,
I am working on an app that will play back notes from a 12-tone diatonic scale that spans several octaves. This will basically be a makeshift wavetable synthesizer.
Times that with the number of instruments to use.
The notes are stored as .wav files and will be cached into RAM to prevent overhead from hard drive retrieval. However, there's a major time-space tradeoff in terms of physical memory, since .wav files can be quite large.
Does anyone have an idea of how to make caching these .wav files more space-efficient? Compression is a good option, but too much can degrade quality. Modulating or distorting frequencies on the fly will definitely be too laggy. Correct me if I'm wrong, but playing 200 BPM with this implementation will not work.
If you have had experience with music apps, please share your advice.