Inspiration

W&M Applied Science prompts for developers to create an application that would benefit various aspects of their field of work.

What it does

The mobile application records audio from a piece of rotating or reciprocating machinery, analyzes its current condition, and displays information for users. The app allows users to enter a known load value, and users are then able to record an audio sample. The audio sample is analyzed against known loads, and an estimate for the actual load for that audio sample is returned. The app displays the Fast Fourier Transform for the recorded sample, as well as the known and unknown load values, helping to intuitively display the performance of the machine.

How we built it

React Native, a JavaScript frontend framework, creates the frontend of the cross-platform application. Flask, a python backend framework, analyzes audio data sent front the frontend. We used a Random Forest Decision Tree to analyze various metrics, including dominant frequencies and the spectral centroid, to interpolate the predicted value of the load. Once this data was acquired, we communicated it to the front end to be displayed in the app.

Challenges

In order to develop a predictive model, we needed to collect many data points, which was difficult to do. Additionally, deciding on the elements we wanted to analyze was another challenge, before deciding on the Random Forest method. Finally, connecting the frontend and backend proved to be tricky, as it necessitated carefully planning and good code management.

Future Ideas

We started to implement this already, but we think an external audio recording device would be beneficial. We built a sound recorded with an LED to indicate "ON" status, so far, but we need to incorporate it into the app.

Share this project:

Updates