Hello.

23 April 2005

Cats purring

So me and a friend were talking about whether or not big cats (meaning lions and tigers, not house cats) purr, and so we used Wikipedia to sort out the story. I noticed it saying that they purr at between 25-55Hz, so I launched a tone generator and set it to spit out frequencies in those ranges.

The first thing I learned is that I can't hear a pure sine wave much below 60Hz. But a square wave at about 20Hz almost could be a part of a purr.

So I got Daytona to volunteer for me. I stuck a microphone in his face and rubbed him til he was purring up a storm. He loved it; he was rubbing his head against the microphone and trying to make the loudest purest purr he could make.



Unfortunately, not a sound (other than background noise) came into the computer. No matter how much I cranked it up, Daytona just wasn't purring loud enough.

So I figured there were other people as wierd as me out there who have tried such things. A quick search on the internet, and I found people trying to sell a CD of cats purring, offer ambient background tracks inspired by purring, and finally, a sample of Marc Gunn's cat purring, that he plans on incorporating into his music.

I took the sample of Marc Gunn's cat purring and attempted to find the spectral frequency.



I also attempted to get an audio program to tell me about the frequencies in the cat purring, just in case my math went wrong somewhere, but failed in that attempt.

So I've got 46Hz and 52Hz as the dominant frequencies. I'm kind of assuming that the other stuff out in the 140Hz range was the bumping noises.

Of course, the next thought was could I write a computer program to simulate Daytona's (well now Marc Gunn's cat's) purring. I found that using much lower frequencies (the program is set to 15 and 26Hz) sounded much better than higher frequencies, and I added some randomness to the freqencies used, just a tad bit of noise, a couple little other tweaks, and now I don't know what to do with this program.

It's written in matlab, and I don't have the matlab compiler, so unless you have a copy laying around, I'm not sure how much use it will be to you. Perhaps I'll rewrite it in perl or C if there is a huge interest.
Download purr.m
I also attempted to save the output of it running. Unfortunately, it seems that no two programs can agree on the .wav format, especially matlab. Audacity played it almost as I thought it should sound, but when I tried to export it as an mp3, it came out as 20 seconds of silence. Many programs got the sampling frequency wrong and it sounded like wierd synthesizer music. If you want to try to listen to it, I've uploaded the .wav file (which doesn't sound as good as the original due to some clipping).
Download purr.wav

If anyone gets that either into an mp3 or into a more commonly working .wav file, let me know and I'll repost it.

All that and I'm not sure my bones feel any stronger.