Sound Extraction

This project is part of my work at the School of Computer Science, University of Birmingham, showcasing my expertise in Time Series Analysis, Data Visualisation and Signal Processing to turn concepts into practical solutions. Let’s explore how I’ve applied my skills to tackle challenges and create value in sound extraction.

Sound is an integral part of daily lives, carrying critical information applicable in various fields, from music recognition to environmental monitoring. Sound extraction refers to the process of isolating relevant audio signals from mixed or noisy environments.

Sound Extraction
Sound Wave

This project demonstrates the process of extracting meaningful information from sound waves using data science techniques. By combining signal processing, feature extraction, and data analysis with visualization, this project showcases an end-to-end pipeline for sound extraction.

Project Overview

In this project, Muhajirin focuses on extracting and analyzing sound data from mixed or noisy sounds to identify patterns and classify audio signals. The practical applications range from speech recognition systems to detecting specific environmental sounds, such as birds chirping or machinery noise. For this project, animal sounds have been used as sample data.

Input Sound

The input sound is initially analysed to identify a range of mixed animal sounds. A series of signal processing steps are then applied to the audio. These steps prepare the sound for the extraction process, enabling the isolation of individual animal sounds from the complex mixture.

Input Audio Player

Let's listen to the original mixed audio.

Input Audio Analysis

The following Python-generated charts illustrate the results of signal processing, including time series analysis, spectral analysis, and spectrogram creation.

Time Series, Spectrum, and Spectogram
Time Series, Spectrum, and Spectogram
  • Time Series represents a signal's amplitude as it changes over time.
  • Spectrum shows the distribution of a signal's energy across various frequencies at a specific point in time.
  • Spectrogram visualises how a signal's frequency content evolves over time.

Output Sound

To obtain the output sound, several steps are required, including filter design, spectral analysis, spectrogram generation, and time series reconstruction. Finally, the extracted sound is listened to and compared with the original to evaluate the quality of the extraction.

Filter Design

Filter Design Without Smoother
Filter Design Without Smoothing
Filter Design With Smoother
Filter Design With Smoothing

The above filters, both with and without smoothing, are manually designed and visualized using Python to isolate specific frequency ranges. Gaussian smoothing has been applied to enhance the quality of the extracted sounds.

Spectral Analysis

Spectrum Without Smoother
Spectrum Without Smoothing
RSpectrum With Smoother
Spectrum With Smoothing

The above spectrums, both with and without smoothing, are visualized using Python and illustrate the isolated specific frequency ranges. The frequencies highlighted in orange are extracted to create a new sound isolation.

Spectogram Generation

Spectogram Without Smoother
Spectogram Without Smoothing
Spectogram With Smoother
Spectogram With Smoothing

The above spectrograms, both with and without smoothing, are generated using Python and illustrate only the isolated specific frequency ranges. The frequencies highlighted in yellow are categorised into low, medium, and high ranges, representing different types of sounds.

Time Series Reconstruction

Reconstructed Time Series Without Smoother
Reconstructed Time Series Without Smoothing
Reconstructed Time Series With Smoother
Reconstructed Time Series With Smoothing

The above time series, both with and without smoothing, are reconstructed using Python and represent the inverse transformation of the frequency domain back to the time domain.

Output Audio Player Without Smoothing

Let’s listen to the first extracted sound without smoothing applied.

Let’s listen to the second extracted sound without smoothing applied.

Let’s listen to the third extracted sound without smoothing applied.

Output Audio Player With Smoothing

Let’s listen to the first extracted sound with smoothing applied.

Let’s listen to the second extracted sound with smoothing applied.

Let’s listen to the third extracted sound with smoothing applied.