i’d like to build an 8-track soundfile player, and i’m wondering which way to go with it..
the soundfiles i’ll be using will be 24/96 and a few minutes long, so i’m afraid i’ll run out of ram (i have 4gb in my macbook) if i use groove~, and that sfplay~ might be better
but i really want a detailed waveform display on my players, so that i can select certain sections of the soundfiles and loop them.
combining sfplay~ with waveform displays is still tricky, from what i can tell.
i really want to visually know where i am in the soundfile and where the transients are etc.
what else are the pros and cons of sfplay vs. groove (disk-based vs. ram-based) playback?
is there maybe a third, better option that i’m unaware of? i’ve just upgraded to max 6..
well, you’re right on all points and you’re expecting problems where you should expect them. To do that you’ll need to find a way to render a waveform from a soundfile not loaded in ram, which is not easy to do ; then use something like a rslider and get the starting/endpoints as your start and endpoints. There is probably something done somewhere though. You should try the jitter route to keep in memory the waveform.
Maybe there is a really easier solution which i don’t knoiw, but indeed for reading long soundfiles relying on buffer~ may lead you to using too much ram. You should try that first though, because reading from disk means displaying soundwave will be a problem (at least in Max).
it’s a little frustrating that, in the world of pro tools, live, traktor etc. etc. it’s so difficult to replicate some of these functions in max, particularly when it comes to visualizing a substantial soundfile’s shape and selecting parts of it for playback, which seems like a universal digital-audio convention at this point.
are there any sound-quality differences between sfplay~, groove~, play~ and any other playback objects that might exist?