REPeating Pattern Extraction Technique (REPET) in Matlab for audio source separation.
Repetition is a fundamental element in generating and perceiving structure. In audio, mixtures are often composed of structures where a repeating background signal is superimposed with a varying foreground signal (e.g., a singer overlaying varying vocals on a repeating accompaniment or a varying speech signal mixed up with a repeating background noise). On this basis, we present the REpeating Pattern Extraction Technique (REPET), a simple approach for separating the repeating background from the non-repeating foreground in an audio mixture. The basic idea is to find the repeating elements in the mixture, derive the underlying repeating models, and extract the repeating background by comparing the models to the mixture. Unlike other separation approaches, REPET does not depend on special parameterizations, does not rely on complex frameworks, and does not require external information. Because it is only based on repetition, it has the advantage of being simple, fast, blind, and therefore completely and easily automatable.
Files:
- repet.m: Matlab class with the REPET methods.
- examples.ipynb: Jupyter notebook with some examples.
- audio_file.wav: audio file used for the examples.
Functions:
- original - Compute the original REPET.
- extended - Compute REPET extended.
- adaptive - Compute the adaptive REPET.
- sim - Compute REPET-SIM.
- simonline - Compute the online REPET-SIM.