0

In short

We are doing a UNI project and want to build a device to log date/time when a wall mounted phone rings. We want feedback and alternatives on how we could go about building the logger and programming it to to what we need. What we need in the end is a dataset showing when and how often the phone rings.

Background

The sound is a phone connected to the front gate and has a standard “ring-ring-ring” sound. The device could be located directly on top of one of the phones which are the sound sources on each floor at the customer's site. The phones are centrally located and will have people moving and talking in close proximity.

Edit: The phone is not used for anything else but the front gate.

We have in-team experience with RaspberryPi, Python and common front-end languages and access to university and customer resources if we would need them.

Requirements

  • Must not be equipped or configured as a listening device (because of risk capturing sensitive discussions)
  • Should be able to log without maintenance for at least three weeks
  • Should have high accuracy in logs: a log when someone talks or walks by is a false positive
  • Should be cost effective in hardware
  • Could use RaspberryPi or similar
  • Should NOT simply record sounds, sound levels,

Research

I found a related thread “Detect tap with pyaudio from live mic” where they discuss reading and comparing 0,05 sec blocks to start record audio when someone taps the mic. In our scenario the sound difference will probably not be as distinct as taps on a mic but this might be a suitable approach.

Another post we found was this on detecting if specific sounds. We could get a clean copy of the sound but I can't help but feel like there probably is an easier way to do it.

This post about detecting a specific sound is about MLS or sine sweepsis not really what we want to do as the audio we want to detect is not arbitrary but a fixed “ring-ring-ring” sound.

We have not found Audacity to be able to detect specific sounds.

Perhaps a contact microphone could be used to minimize the unwanted noise? The device will be right on top of the source, but since its a phone it could cause false positives if somebody uses the phone? We might be able to dedicate one of the phones to be purely data collection and make it off limits for regular use.

We appreciate any and all feedback to help us with this project. Thanks in advance.

Update 1

We came up with a shortcut that would cut down on the programming required. What if we measure the current sent to the phones speaker? It would require us to open up the phone and place some cables on the speaker element but it should be quite easy. We are planning some initial testing early next week.

Update 2

We were not allowed to open the phone case as they were owned by the landlord. With that said we are looking into using Arduino to handle the sensors.

Final update

In the end we opted to go with a RaspberryPi (We found a 3B we could use, not minding that it would be a bit overpowered) and a SparkFun sound detector to communicate using the GPIO pins over I2C. We stubled upon some issues that could be hw fault in RPi or sensor alternatively lack of knowledge from our side. This being just a sub-project and not of very great consequence in our case we dropped it to focus on more pressing matters. Kinda sucks because of the lost hours but you got to prioritize.

Happy hacking

Anubis
  • 23
  • 6
  • Some clarification for myself, you want to record when the phone ring and start register logs about this as the phone is connect to the front gate. You can't logs every phone rings as it may due to an internal call not linked to the front gate. Do the phone can be set to ring differently when the call is made from the front gate versus an internal call ? – Florian Bernard Oct 21 '19 at 13:16
  • The phone is only connected to the front gate and is not used for anything else. I´ll update the description to make this clearer. – Anubis Oct 22 '19 at 19:42

0 Answers0