ATTiny, Counting with interupts

Robin2:
I need to think more about it.

Perhaps your focus should be on the interval between beeps rather than the number of them.

Suppose your ISR just records millis()

ISR(INT0_vect)
{
    beepTime = millis();
}

And then your regular code checks from time to time (could be 10 times per second)

lastBeepInterval = millis() - beepTime;

if lastBeepInterval is longer than your preset maximum period it means there were no useful beeps. And you could have a second preset test period that detects for a much shorter interval meaning a high rate of beeps.

I hope that makes sense.

...R