Independent Low-Rank Matrix Analysis (ILRMA)¶
ILRMA¶
Blind Source Separation using Independent Low-Rank Matrix Analysis (ILRMA).
- pyroomacoustics.bss.ilrma.ilrma(X, n_src=None, n_iter=20, proj_back=True, W0=None, n_components=2, return_filters=False, callback=None)¶
Implementation of ILRMA algorithm without partitioning function for BSS presented in
D. Kitamura, N. Ono, H. Sawada, H. Kameoka, H. Saruwatari, Determined blind source separation unifying independent vector analysis and nonnegative matrix factorization, IEEE/ACM Trans. ASLP, vol. 24, no. 9, pp. 1626-1641, Sept. 2016
D. Kitamura, N. Ono, H. Sawada, H. Kameoka, and H. Saruwatari Determined Blind Source Separation with Independent Low-Rank Matrix Analysis, in Audio Source Separation, S. Makino, Ed. Springer, 2018, pp. 125-156.
- Parameters
X (ndarray (nframes, nfrequencies, nchannels)) – STFT representation of the observed signal n_src: int, optional The number of sources or independent components
n_iter (int, optional) – The number of iterations (default 20)
proj_back (bool, optional) – Scaling on first mic by back projection (default True)
W0 (ndarray (nfrequencies, nchannels, nchannels), optional) – Initial value for demixing matrix
n_components (int) – Number of components in the non-negative spectrum
return_filters (bool) – If true, the function will return the demixing matrix too
callback (func) – A callback function called every 10 iterations, allows to monitor convergence
- Returns
Returns an (nframes, nfrequencies, nsources) array. Also returns
the demixing matrix W (nfrequencies, nchannels, nsources)
if
return_filters
keyword is True.