advice regarding real time processing in my stand alone project

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

My project is a media player. I'm using openAL buffer queuing for now for real time processing. One of the first things I added to the program, was a frequency analyzer. But the frequency analyzer gets data from the raw unprocessed track.

Since then, I've added real time processing, and now I would like to analyze post processing. But I am only processing 2048 samples at a time, and the raw track remains unprocessed. The analyzer I have now, uses an fft size of 16384 giving me the type of resolution I want.

So, what's the best way to go about allowing this kind of resolution under these circumstances? Or for example a delay effect, which relies on access to N previous samples?

I suppose, that I could replace the raw data with the processed data as I go along, but then if I change the position to an earlier time in the track, I'll be reprocessing it.

Or I suppose I have extra temporary blocks, of a larger size than the buffer size, which get reused like my circular buffers, giving me access to more samples, but which don't get queued. The problem is that there would still be a limit to the amount of extra, or previous processed samples I have access to.

Any thoughts?

Post

Just figure out the number of samples you need and allocate buffers that large. Almost every delay effect uses circular buffers for instance.

Post Reply

Return to “DSP and Plugin Development”