Hello,
I have been using Bela with Pure Data for a few years. I have made some really nice projects with it. Thank you all for this beautiful software+hardware !
I am coming back to it now because I want to design a performance instrument for my live shows.
Basically I need something to play long audio tracks simultaneously, but the puredata [readsf~] won't do because I need:
1) real-time pitch variation (like a turntable pitch)
2) looping
I will run into the RAM limitation of the Bela if I try to load everything in arrays on startup (with [soundfiler]).
And using [soundfiler] while playing causes mode switches and drops in the audio.
So I am thinking of two solutions right now, and I like neither of them.
The first one would be to use [readsf~] to play audio to a [tabwrite~] to record the next audio files to play in some arrays while the previous audiofiles keep playing from another set of arrays. This works but it seems a bit circumvoluted.
The other approach would be to write an external based on readsf~ code, but implementing variable rates of play and some basic looping. I have a strong experience writing externals but this one I would rather avoid, as it deals with a lot of low-level file access. Actually just quickly reading through readsf~ source code it makes my first solution look like a joyride.
So before I dig into either of these, I kindly ask this forum if someone else has another idea.
Perhaps an already existing pd external ?
A magical tweak to bela settings that avoids mode switches if loading small enough files (one can dream) ?
Please save me from ultimate pcm streaming nerdiness.