Arduino pitch detection in realtime (using autocorrelation and peak detection)

So, I've been thinking about the results and their stability. It's not really good. I can optimize it for certain frequencies by playing around with the signal capture time, but then the results for other frequencies are heavily influenced by errors. Could the combination of continuous sampling and the use of interrupts be the cause of instability? As i mentioned before, the resolution is quite good, but there are errors that show up at a constant rate and mess things up. I figured that a solution (or a way to isolate the cause of error) could be to use continuous sampling with interrupts that are generated on the reading of a new value, instead of using interrupts to control the sample frequency. The question that I want to ask about this is the following: Can I alter the samplefrequency on an analog port as I did with the OCR timer value (during a program)? Next to that I'm not sure how to implement a change of samplefrequency on a port that is continuously sampling. I'm looking forward to your comments.