Code Monkey home page Code Monkey logo

soundsourceseparation's Introduction

Sound Source Separation

Tools for multi-channel sound source separation and speech enhancement

News

python3 FastMNMF.py [input_filename] --init_SCM gradual
  • I added new option "n_bit" to jointly-diagonalizable full-rank models (e.g. FastMNMF) and rank-1 models. You can set the number of bits to 32 or 64 (32-> float32 and complex64, 64->float64 and complex128, default is 64). By using 32, you can reduce computational cost and memory usage in exchange for the performance. Especially when the number of microphones is large, the performance is likely to degrade. Moreover, when you are using simulated signals without reverberation, since the mixture SCM is likely to be rank-deficient, please add some noise to the simulated signals (as in FastMNMF.py).

  • I removed "CupyLibrary" directory because now cupy.linalg.inv supports complex values. Please use the latest version of Cupy.

FullRank Model

FullRank_Model includes 3 methods called Full-rank Spatial Covariance Analysis (FCA), Multichannel Nonnegative Matrix Factorization(MNMF), MNMF with a deep prior (MNMF-DP).
These methods are based on full-rank spatial model.

  • FCA is a method for general source separation. In fact, it can be available only for speech enhancement because of the strong initial value dependency.
  • MNMF is a general source separation method which integrate NMF-based source model into FCA.
  • MNMF-DP is a method which integrates deep speech prior into MNMF, and is only for speech enhancement.

Jointly Diagonalizable FullRank Model

Jointly_Diagonalizable_FullRank_Model includes 3 methods called FastFCA, FastMNMF, and FastMNMF-DP (FastMNMF with a deep prior) with iterative-projection (IP) method.
These methods are based on the jointly diagonalizable full-rank spatial model, and they are extension of FCA, MNMF, MNMF-DP, respectively.

  • FastFCA is a method for general source separation. In fact, it can be available only for speech enhancement because of the strong initial value dependency.
  • FastMNMF is a general source separation method which integrate NMF-based source model into FastFCA.
  • FastMNMF-DP is a method which integrates deep speech prior into FastMNMF, and is only for speech enhancement.

Rank-1 Model

Rank1_Model includes 2 methods called Independent Low-Rank Matrix Analysis (ILRMA) and ILRMA with a deep prior (ILRMA-DP).
These methods are based on rank-1 spatial model.

  • ILRMA is a general source separation method which integrate NMF-based source model into rank-1 spatial model.
  • ILRMA-DP is a method which integrates deep speech prior into ILRMA, and is only for speech enhancement.

Requirement

  • Tested on Python3.7
  • numpy
  • pickle
  • librosa
  • soundfile
  • progressbar2
  • chainer (7.0.0 was tested) (for MNMF-DP, FastMNMF-DP, ILRMA-DP)
  • cupy (7.8.0 was tested) (for GPU accelaration)

Usage

python3 FastMNMF.py [input_filename] --gpu [gpu_id]

Input is the multichannel observed signals.
If gpu_id < 0, CPU is used, and cupy is not necessary.

Citation

If you use the code of "Jointly Diagonalizable FullRank Model" in a research project, please cite the following paper:

If you use the code of "FullRank Model" in a research project, please cite the following paper:

If you use the code of "Rank1 Model" in a research project, please cite the following paper:

soundsourceseparation's People

Contributors

sekiguchi92 avatar oucxlw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.