Skip to content

Latest commit

 

History

History
43 lines (27 loc) · 1.7 KB

File metadata and controls

43 lines (27 loc) · 1.7 KB

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.