Problem using setInterval for idle timer that plays audio clip

I have a swf that advances through a series of frames by pressing any key. I am trying to set up a timer so that on idle (no keypresses for X sec), it plays an audio clip.

My AS below works fine, but if you press keys very fast it seems to get out of sync and plays the audio almost randomly (at least faster than it should). Does anyone know what might be causing this? BTW, I have tried using a keylistener which seems to make it even worse by affecting the volume level randomly.

//ON THE INITIAL FRAME…
myInterval = setInterval(callback1, 20000);

function callback1()
{
var wait_sound:Sound = new Sound(this);
wait_sound.attachSound(“press”);
wait_sound.start();
}

//ON THE KEYPRESS MC ON EACH FRAME…
onClipEvent(keyUp) {
//clears and resets the idletimer
clearInterval(myInterval);
myInterval = setInterval(callback1, 20000);
this._parent.nextFrame();
}