Project: Open-Source Baby Monitor

ASA Abstract:
New parents often want to know everything that their new little one is up to, even while they are sleeping. The easiest way to accomplish this task is to install an audio baby monitor, comprised of a baby monitor receiver unit near the child’s bed and a parental unit which can be carried about the house. These monitors can alert the parents when their bundles of joy are quite upset, but they can also alert the parents with annoying audio from white noise sound machines, lullaby tunes, as well as transient passing motorcycles and landing airplanes. Too much unwanted noise transmitted to the parental unit could lead to the parent turning down their receiver volume and later missing the true alert of their crying little one. The ideal baby audio monitor alerts the parental unit via real time audio only when the baby needs attention, and does not transmit or amplify the received audio for all other noise sources. This presentation outlines the efforts undertaken to develop and test a smart baby monitor using an open-source audio platform and includes performance comparisons of the developed system to commercially available baby monitors.


As we discussed, it sounds like some machine learning will be part of your approach. It sounds like you’ll want to extract signal features in the frequency domain. Luckily, we have several frequency-domain examples. In the Arduino environment, go under the File menu and select Examples->Tympan_Library (which is way near the bottom) and then “GenericFreqDomainExample_FD”. This example happens to implement a boring lowpass filter in the frequency domain…but it’s real point is to illustrate to you how to get access to (and then manipulate) the data after it’s been converted into the frequency domain.

Specifically, after opening the example, click on the “AudioEffectLowpass_FD” tab. Search for the function “processAudioFD”. Looking at the comments, you can see how to access the complex FFT output.

Before trying to implement any processing on the Tympan, however, I would recommend following the traditional signal processing workflow: (1) make audio recordings, (2) experiment with signal processing techniques through post-processing on your PC, and only after you’ve got a good plan, (3) migrating your code to a real-time platform like Tympan.

If you want to get your recordings through the Tympan, be sure to look at the example program 02-Intermediate/SDWriting_02_RemoteControlled. It lets you record audio from the Tympan’s built-in microphones to the Tympan’s SD card. Or you can plug in an external mic, if that’s what you prefer.

Let us know how we can help!