Independent Vector Analysis (AuxIVA)¶
Blind Source Separation using Independent Vector Analysis with Auxiliary Function
2018 (c) Robin Scheibler, MIT License
-
pyroomacoustics.bss.auxiva.
auxiva
(X, n_src=None, n_iter=20, proj_back=True, W0=None, f_contrast=None, f_contrast_args=[], return_filters=False, callback=None)¶ Implementation of AuxIVA algorithm for BSS presented in
N. Ono, Stable and fast update rules for independent vector analysis based on auxiliary function technique, Proc. IEEE, WASPAA, 2011.
Parameters: - X (ndarray (nframes, nfrequencies, nchannels)) – STFT representation of the 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
- f_contrast (dict of functions) – A dictionary with two elements ‘f’ and ‘df’ containing the contrast function taking 3 arguments This should be a ufunc acting element-wise on any array
- 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 (nfrequencies, nchannels, nsources)
- if
return_values
keyword is True.