This repo is a demo of using inspiration and applications from Topological Data Analysis, Audio Processing, and Deep Learning. It takes different audio sounds and classifies if it is someone coughing or not, so it is a binary classification problem. However, a cough sound sounds indistuingishable from other sounds like microphone checking or random background noise for the human ear. In this repo, the approach has been to produce topological features and Mel Spectograms to create 3D and 2D CNN hybrids to classify if the sound is a cough sound or not!
Specifically, you'll find custom tensor transformations instead of the Euler Characteristic Transform.
Below is the output from using the Mapper algorithm to use unsupervised machine learning to find clusters of different sounds. You'll also find usage of Taken's theorem by creating high-dimensional features for phase space reconstruction.
Taken's Embeddings reduced to PCA Embeddings
Because we are working with audio signals, a natural approach is to produce Mel Spectograms as input for the models. Another way of also producing features or analysing the signal is to use Zero-Crossing Rates.
Zero-Crossing Rates