Recent Entries

You have 1828533 hits.

Latest Comments

Posted By Peter Bentley

For fun I recently created an application for the iPhone - iStethoscope which basically turns the device into a stethoscope, allowing you to listen to your own heartbeat (or other quiet sounds nearby). I've linked it to The Undercover Scientist book, using the little scientist cartoon as a friendly way to show (hopefully interesting) facts related to sound and hearts.

For those interested, here's a little detail about how it works. The program takes audio from the microphone, buffers it for a very short amount of time and then plays it. Playing is continuous as new audio is received, so all processing has to be performed on-the-fly as the data is copied from input to output buffers. Inevitably a small delay results from this buffering process. Several types of processing happens - a low-pass filter is applied to remove hiss, a high-pass filter is applied to remove rumble, a heartrate monitor listens and attempts to count repetitive noises separated by quiet, and an automatic volume control listens for excessively loud sounds. If a loud noise is detected, the filter parameters are adjusted to reduce the volume. These adjustments are then slowly returned to normal when only quieter sounds are detected. The different modes correspond to different filter settings and different gain settings for the volume control. "Heartbeat" uses a heavy low-pass filter to let low thuds through but remove most higher- pitched sounds and reduce crackle of microphone against skin. "Conversation" uses low and high pass filters to let through middle frequencies like those transmitted by telephones. "Clear Sound" uses minimal filtering to let most of the sound through unchanged. The heartrate monitor is active in "Mute" and "Heartbeat" modes. Because it cannot use extreme filtering to make it work better (that would make it sound awful when listening) it does get a little confused if there is any crackle or noise. It only displays the pulserate when it is reasonably sure it's right, so you have to position the microphone carefully to make it work.

Simultaneously to all this on-line processing, the controls are monitored and now and again the little undercover scientist is animated in a separate concurrent thread. It's all optimized to work with as little delay as the processor can handle. But if a different program or operating system process decides to use the processor or audio, this can screw up the audio buffering and cause minor audio glitches. (If that happens the program should be restarted to reset the buffering.) The best way to improve speed and avoid problems like this would be to do all processing in the iPhone audio Digital Signal Processor instead of in software; unfortunately the API does not permit this.

The application is now freely available on iTunes, just search for "istethoscope" in the AppStore. Please leave feedback if you download it!

For details about version 1.1 click here.

For details about version 2.0 click here.

The website for the application is:

1 Comment(s):
Peter Bentley said...
I have moved all old comments to the new support page. Please don't leave a comment here as I'm no longer checking old entries. If you'd like to leave a comment please go to the new support page:
February 8, 2009 17:22:41
Leave a Comment:
Name: * Email: *
Home Page URL:
Comment: *
   char left.

Enter the text shown in the image on the left: *
 Remember Me?
* fields are requried