Giter Site home page Giter Site logo

edoalvarezr / decomposestn Goto Github PK

View Code? Open in Web Editor NEW

This project forked from himynameisfuego/decomposestn

0.0 0.0 0.0 23.83 MB

Fuzzy decomposition of sound into sines, transients and noise.

License: GNU General Public License v3.0

Python 56.50% MATLAB 43.50%

decomposestn's Introduction

decomposeSTN

Fuzzy decomposition of sound into sines, transients and noise. Available both for Matlab and Python.

  • L. Fierro, and V. Välimäki. "Enhanced Fuzzy Decomposition of Sound Into Sines, Transients and Noise.". Accepted for publication into the Journal of the Audio Engineering Society, 2023.

Link: ArXiv

Abstract

The decomposition of sounds into sines, transients, and noise is a long-standing research problem in audio processing. The current solutions for this three-way separation detect either horizontal and vertical structures or anisotropy and orientations in the spectrogram to identify the properties of each spectral bin and classify it as sinusoidal, transient, or noise. This paper proposes an enhanced three-way decomposition method based on fuzzy logic, enabling soft masking while preserving the perfect reconstruction property. The proposed method allows each spectral bin to simultaneously belong to two classes, sine and noise or transient and noise. Results of a subjective listening test against three other techniques are reported, showing that the proposed decomposition yields a better or comparable quality. The main improvement appears in transient separation, which enjoys little or no loss of energy or leakage from the other components and performs well for test signals presenting strong transients.

Dependencies

Matlab

Python

  • SciPy
  • NumPy

Usage

Recommended parameters

Fs = 44100 # Hz

nWin1 = 8192 # samples

nWin2 = 512 # samples

Matlab

[xs, xt, xn] = decomposeSTN(audioInput,Fs,[nWin1 nWin2]);

Python

import decomposeSTN as STN

[xs, xt, xn] = STN.decSTN(audioInput,Fs,[nWin1 nWin2])

Contributing

Suggestions and contributions to the code are both welcomed and encouraged. Please open an issue to discuss your changes and submit a pull request.

License

Please refer to LICENCE.md for further information.

decomposestn's People

Contributors

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