Noise in hospitals and emergency scenes is known to hinder communication among staff, causing annoyance, irritation, and fatigue, which detriment impacts the quality and safety of healthcare.

In this study, AMN healthcare education services writes that the noise levels far exceeded the world health organizations recommendations for average hospital-room noise levels, with the peak noise at an average 80.3 dB – which, to put into perspective, is almost as loud as a chainsaw. Moreover, this academic paper states that high background noise and bad acoustics (which as you can see is characteristic of the hospital environment) emphasize this difficulty in speech communication.

With this evidence, we can conclude that these high noise levels have adverse effects on healthcare workers as they try to communicate and stay focused in the hectic atmosphere during long hours, especially now, due to COVID.

What it does

Clarity tackles a primary reason for miscommunication in hospitals: loud ambient noise.

Our mobile app allows medical workers to call one another in real-time without picking up the noises in their surroundings. On top of this, we modify their voices and accentuate common vocal patterns to make sure that no information is left misheard.

How we built it

We used react-native to program the front-end of the mobile app with firebase as our database. Users are first authenticated with firebase and then prompted to enter a unique id that maps to a specific room via an API call to a node server which allows them to join a network of other users.

Next, users would press and hold the microphone button to record audio and release when finished. Upon releasing the record button, we will shoot the audio file to our flask server via an API endpoint to be processed by our noise suppression and voice amplification algorithms.

After being processed in the flask API, we upload the finalized file to Firebase Storage. Next, we update a real-time database with the file name and ID. Firebase handles the rest. The real-time database sends out an event to all the clients in the room, meaning everyone simultaneously downloads and listens to the latest audio as soon as it's recorded and processed.

Challenges we ran into

We wanted Clarity to be real-time across many devices, and this was our first time attempting something as technical as that. To do this, we used both the real-time and file cloud storage databases of Google's Firebase. The interactions ended up being a lot more complex than we thought, when we sent the audio file of the recording to the API, we had to first push it to cloud storage, and then update the real-time database with its signature. In the end, though, we did manage to smooth out the process, allowing us to put as many devices as we wanted into a single room to receive audio.

What's next for Clarity

Refining our noise suppression and voice amplification algorithm is at the top of our list. We want to be able to support much more variable types of background noise, such as sirens. Afterwards, we want to improve the rooms system, such as displaying the total number of members in a room and their individual latencies. There's no doubt that working with all sorts of new technologies and thinking has gotten us excited about what lays ahead for Clarity!

Share this project: