A compressor is fairly easy. Detuning effect is maybe harder. Pitch shifting is done by what is basically a slight perversion of a digital echo circuit. Instead of reading the sample from RAM then writing the new sample over it and moving onto the next one, you have a playback and a record pointer that can cycle around the delay RAM at different speeds. So, if you shift the pitch up you read the delay line slightly faster than you write (with a glitch at the end because you've run out of samples), and if you shift the pitch down you read the delay line slightly slower (with a glitch because you've got samples left over). This is not easy to build without dedicated DSP stuff.
You could do frequency shifting by using a pair of ring modulators, and using two different carriers somewhere above audio frequency. This isn't especially easy to make either and *doesn't* do pitch shifting - it doesn't maintain the ratio between frequencies, it maintains the frequency difference. So with a pitch shifter, two tones at 100 and 150Hz might shift up an octave to 200 and 300Hz but with a frequency shifter they might be 200 and 250Hz. Weird clangy noises abound.