Sparse Independent Vector Analysis (SparseAuxIVA)

pyroomacoustics.bss.sparseauxiva.sparseauxiva(X, S=None, n_src=None, n_iter=20, proj_back=True, W0=None, model='laplace', return_filters=False, callback=None)

Implementation of sparse AuxIVA algorithm for BSS presented in

J. Janský, Z. Koldovský, and N. Ono, A computationally cheaper method for blind speech separation based on AuxIVA and incomplete demixing transform, Proc. IEEE, IWAENC, pp. 1-5, Sept. 2016.

Parameters
  • X (ndarray (nframes, nfrequencies, nchannels)) – STFT representation of the signal

  • n_src (int, optional) – The number of sources or independent components

  • S (ndarray (k_freq)) – Indexes of active frequency bins for sparse AuxIVA

  • 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

  • model (str) – The model of source distribution ‘gauss’ or ‘laplace’ (default)

  • 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.