Skip to content

Independent Component Analysis example deconvoluting mixed audio samples.

Notifications You must be signed in to change notification settings

mrperkett/ICA-audio-deconvolution

Repository files navigation

Overview

This repo contains notebooks working through an example of deconvoluting mixed audio signals using Independent Component Analysis (ICA) in sklearn. It synthetically mixes audio files in generate_example_mixes.ipynb. It then deconvolutes the mixed signals using ICA and compares them to the original individual audio files in deconvolute_example_mixes.ipynb. Functions useful for manipulating audio files are included in wav_utils.py.

Before deconvolution

Mixed audio clip

After deconvolution

Deconvoluted audio clip (cello only)

Related resources

Setup

# set up virtual env with pyenv
pyenv virtualenv 3.11.7 ica-example
pyenv shell ica-example

# clone the repo
git clone git@github.com:mrperkett/ICA-audio-deconvolution.git
cd ICA-audio-deconvolution/

# install requirements
python3 -m pip install requirements.txt

# register IPython kernel
python3 -m ipykernel install --user --name  ica-example

Run Jupyter lab, open the notebook you wish to run, and select the ica-example kernel to run.

About

Independent Component Analysis example deconvoluting mixed audio samples.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published