Fast Multichannel Nonnegative Matrix Factorization (FastMNMF)¶
FastMNMF¶
Blind Source Separation based on Fast Multichannel Nonnegative Matrix Factorization (FastMNMF)
-
pyroomacoustics.bss.fastmnmf.
fastmnmf
(X, n_src=None, n_iter=30, W0=None, n_components=4, callback=None, mic_index=0, interval_update_Q=1, interval_normalize=10, initialize_ilrma=False)¶ Implementation of FastMNMF algorithm presented in
K. Sekiguchi, A. A. Nugraha, Y. Bando, K. Yoshii, Fast Multichannel Source Separation Based on Jointly Diagonalizable Spatial Covariance Matrices, EUSIPCO, 2019. [arXiv]
The code of FastMNMF with GPU support and FastMNMF-DP which integrates DNN-based source model into FastMNMF is available on https://github.com/sekiguchi92/SpeechEnhancement
Parameters: - X (ndarray (nframes, nfrequencies, nchannels)) – STFT representation of the observed signal
- n_src (int, optional) – The number of sound sources (if n_src = None, n_src is set to the number of microphone)
- n_iter (int, optional) – The number of iterations
- W0 (ndarray (nfrequencies, nchannels, nchannels), optional) – Initial value for diagonalizer Q Demixing matrix can be used as the initial value
- n_components (int, optional) – Number of components in the non-negative spectrum
- callback (func, optional) – A callback function called every 10 iterations, allows to monitor convergence
- mic_index (int, optional) – The index of microphone of which you want to get the source image
- interval_update_Q (int, optional) – The interval of updating Q
- interval_normalize (int, optional) – The interval of parameter normalization
- initialize_ilrma (boolean, optional) – Initialize diagonalizer Q by using ILRMA
Returns: separated spectrogram – An (nframes, nfrequencies, nsources) array.
Return type: numpy.ndarray