Hello, so I said that I could implement a delay effect using a circular buffer in the processBlock() of the processor, could I implement a delay effect on an oscillator by using the same circular buffer in the processBlock() method or do I have to make it in the SynthesizerVoice renderNextBlock()?

If the delay effect needs to be per-voice, each synthesizer voice needs its own delay instance. (That is, the needed delay buffer and sample counter(s).) If it’s enough to delay just the sum of all the synth voices, the delay can be a member of the AudioProcessor subclass and you can feed the summed voices from the synth into that.

Delaying the sum of all the voices is what I want to do, so then would I just have in my processBlock() a loop that goes through all the voices then apply the delay like that? Could I see an example of this? i feel that I am going in the opposite direction.