4

I can't hear

  • my doorbell when I'm in my shop
  • the dryer's mechanical chime when I'm upstairs
  • the oven's little buzzer when I'm out of the kitchen
  • which smoke alarm is going off (hearing aids don't have much sense of direction.)

How can an RPi Zero listen for a certain sound or frequency, and then trigger some remote notification? By WiFi? SMS? Other RPis with flashing lights and text displays?

I want to put one near every audio alarm in the house, to act as a relay.

10
  • 2
    It might be easier to tie into the existing doorbell switch as a microphone would need to differntate between sounds in a potentially noisey environment. Likewise you could use a motion sensor to detect the dryer cycle ending. Dec 19, 2016 at 13:00
  • Thanks for the tips. It's not a wired doorbell, and I couldn't find one that offered multiple ringers for one switch. Plus, range is a problem, and they're all coded so we don't ring each other's doorbells. It seemed to me that a general solution might be in order -- all those different alarms and most of them are pretty useless when earshot is only about 10 yards! Dec 19, 2016 at 13:04
  • 1
    You could use the door bell or chime itself to signal the Pi. Dec 19, 2016 at 13:07
  • If you can wire directly to the appliances you might check the ESP8266 instead of the PiZero, it's even cheaper (and sells in quantities larger than one). If OTOH you need to discriminate specific sound I guess the ESP is not the first choice.
    – Ghanima
    Dec 19, 2016 at 14:07
  • I have one of those cheap wireless door bells. Presuming you don't know much about electronics or programming, I think it would still be easier (and more foolproof) to open the receiver/chime up and wire it to something (including a pi) directly rather than trying to detect the sound. This actually has some advantages over a hardwired bell: 1) No chance of dangerous voltages involved, 2) Cheap and easy to replace if you screw it up. I.e., it is as close to a "risk free" experiment/pet project as you are likely to find.
    – goldilocks
    Dec 19, 2016 at 14:26

3 Answers 3

2

You could probably use noise/sound sensors like this one from sparkfun: SparkFun Sound Detector (just an example)

They provide analog and/or digital outputs to trigger some kind of visual notification with the pi zeros.

I don't know if they are suitable for all your applications, but things like the door bell should work provided you set the correct threshold.

1
  • Thank you -- that is certainly an option in low-noise situations! Jan 17, 2017 at 15:02
1

If you really want to make the computers listen for specific sounds, pick them out from ambient noise, and recognize them, you are probably in for quite a task.

I would recommend to start looking at audacity and nyquist and go from there.

Once you have done that, you could just add light beacons to the Pis and have them flash in unison on detection. The easiest way to do that would probably be to have one of them acting like a server, and the other ones as slaves. You could hook this up via a web server.

4
  • I'm curious: how would starting looking at Audacity and Nyquist help OP to process real-time audio on Raspberry Pi?
    – techraf
    Dec 19, 2016 at 14:30
  • I knew the RPi could do voice recognition, and I just assumed frequency recognition would be easier. Not so, huh? Dec 19, 2016 at 14:46
  • I like the idea of having the Pis flash in unison! Dec 19, 2016 at 15:00
  • 1
    Those got me started. Now I'm looking at RPi guitar tuners or frequency detectors. I looked at Audio Fingerprinting, but maybe that is overkill. Dec 20, 2016 at 13:02
1

You should learn Python , especially NumPy. Look at this example project utilizing those techniques :

https://github.com/benjaminchodroff/alarmBeepDetect

1
  • Working on it! It's been about 8 years, but it is coming back. Thank you. Jan 17, 2017 at 15:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.