Source Separation & Music Transcription
- Tech Stack: Python, Numpy, Matplotlib, Machine Learning
- Demo URL: Link
- Github URL: Project Link
Undergraduate final year project. To put in layman's terms: imagine you can play the clarinet, and you are listening to an orchestra recording. You want to separate out only the clarinet part, and get it in sheet music so you can play it.
More technically: The project intends to separate a stereo recording with pan-mixed instrument voices into each track using Azimuth Discrimination and Resynthesis (ADRess), then uses the CNN model in AnthemScore to transcribe the recording to sheet music for each part.
The project explores:
- Some transforms that converts a signal in the time domain to the time-frequency domain, such as Short-Time Fourier Transform, Wavelet Transform, and more suitably Constant-Q Transform for the purpose of music transcription.
- Various methods that solves the blind source separation (BSS) problem, such as ICA.
- Various methods that have been proposed to solve the 2-channel BSS problem on stereo recordings, specifically ADRess.
- Standard metrics proposed for evaluation in source separation and automatic music transcription.