That is an ISD1820 you have, not an ISP1820.
Here's the schematic of a typical device made with an ISD1820:
The simplest way to change operating frequencies would be to connect two resistors to \$R_{OSC}\$. One end of each resistor to \$R_{OSC}\$, the other to a digital IO pin on the Arduino.
To select a particular frequency, you set the pin for that resistor to output and ground. You set the other output to INPUT. That leaves the digital IO pin floating so it doesn't bother the ISD1820. Do not use INPUT_PULLUP as that will activate another resistor in the Arduino.
That will give you specific resistor values for specific sampling rates on the ISD1820. You can use more pins and resistors for more sampling rates. With multiple resistors, you can connect them in various combinations to get more frequencies.
This won't get you infinitely variable frequencies like a potentiometer would, but maybe it'll do what you need.
A sketch of what I described:
simulate this circuit – Schematic created using CircuitLab
- If you set Digital9 to OUTPUT and LOW, and Digital10 to INPUT, then the ISD1820 will use the 6.4kHz sampling rate (10 second recording.)
- If you set Digital10 to OUTPUT and LOW, and Digital9 to INPUT, then the ISD1820 will use the 3.2kHz sampling rate (20 second recording.)
If you really want a variable sampling rate, you might try this:
simulate this circuit
Use PWM (analogWrite) on pin D9 of the Arduino. I think the ISD1820 uses the discharge current through \$R_{OSC}\$ to set the frequency. Varying the PWM duty cycle will vary the current from \$R_{OSC}\$.
You'll probably have to play with the component values and the PWM rate to get it to work. The values are a wild guess that may be no where near correct - or maybe spot on. Who knows. The ISD1820 datasheets are really crummy and give zero details on \$R_{OSC}\$.
Try it out. If it works, you could post your own answer with the final values and the code you used (PWM values and so on.)