Help with understanding SamplerVoice and the audio processor block

Hello, I’m really new to C++ and JUCE as a whole (I learned primarily in Java, but unfortunately there’s really no current frameworks that utilize it for VST development) and I’ve been really diving headfirst into coding. I’ve been able to make a simple sampler using a tutorial from The Audio Programmer, and one of the things I’m looking to do to take it a step further is to be able to process a sample before playback. For example, I’d detune a few copies of a sample and process them together in order to achieve a unison effect akin to a supersaw, but with a sample instead of a traditional oscillator voice.

I have a very hard time following the main tutorials offered by JUCE as I’m not very familiar with how headers work in general (again, Java programmer, we don’t have that sort of thing), and almost all of the example code is placed in the header files unlike how the Audio Plugin project starts you off in ProJucer. So I’m really struggling to understand how I’d accomplish this. Would I extend the SamplerSound class and add some sort of processing code in there? Or would this take place elsewhere, and how would I even achieve such a thing?

I know this might seem rather simple and trivial, but I’m really just stumped and I am trying my hardest to continue. If anyone could really point me in the right direction on where I should be looking to accomplish this, I’d greatly appreciate it.