Skip to content

himynameisfuego/SiTraNo

Repository files navigation

SiTraNo (SInes+TRAnsients+NOise)

A MATLAB app for sines-transients-noise decomposition of audio signals. Developed using App Designer in Matlab 2020b.

SiTraNo+ - A Real-Time JUCE-based version of SiTraNo for Windows and MacOS is available here!

SiTraNo v1.1 now available for MATLAB Runtime!

  • L. Fierro, and V. Välimäki. "SiTraNo: a MATLAB app for sines-transient-noise decomposition of audio signals". Proceedings of the 24th International Conference on Digital Audio Effects (DAFx20in21), Vienna, Austria.

Abstract

Decomposition of sounds into their sinusoidal, transient, and noise components is an active research topic and a widely-used tool in audio processing. Multiple solutions have been proposed in recent years, using time-frequency representations to identify either horizontal and vertical structures or orientations and anisotropy in the spectrogram of the sound. This is SiTraNo: an easy-to-use MATLAB application with a graphic user interface for audio decomposition that enables visualization and access to the sinusoidal, transient, and noise classes, individually. This application allows the user to choose between different well-known separation methods to analyze an input sound file, to instantaneously control and remix its spectral components, and to visually check the quality of the decomposition, before producing the desired output file. The visualization of common artifacts, such as birdies and dropouts, is easy to get in SiTraNo.

This app wants to promote experimenting with the sound decomposition process by observing the effect of variations for each spectral component on the original sound and by comparing different methods against each other, evaluating the separation quality both audibly and visually.

Dependencies

Installation and use

  • If your version of MATLAB is 2020b or later, download the latest release. If your version is 2020a or previous, refer to this hotfix until the next release.
  • In MATLAB, navigate to the SiTraNo folder, open SiTraNo.mlappinstall and install. You will find SiTraNo in the "Apps" tab, in the "My apps" group. Click on it to execute the app.
  • Upon launching SiTraNo, a navigation folder should pop up, asking you to choose the input audio file.

Featured decomposition methods

  • STN: Sines-Transient-Noise decomposition. Default option. [1]
  • HP: Harmonic-Percussive separation [2]. Modes: hard mask, soft mask.
  • HPR: Harmonic-Percussive-Residual separation [3]. Modes: single decomposition, two-round decomposition.
  • ST: Structure-Tensor-based separation [4].
  • Fuzzy: Fuzzy logic decomposition [5].

Future updates

  • Improve code efficiency.
  • New artifact detection/evaluation methods.
  • Polish spectrogram presentation.

Expected work period: Spring 2024

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

SiTraNo is distributed under the MIT Licence. Please refer to LICENCE.md for further information.

References

  • [1] L. Fierro, V. Välimäki. "Enhanced Fuzzy Decomposition of Sound Into Sines, Transients and Noise". In Journal of Audio Engineering Society, July 2023.
  • [2] D. Fitzgerald. “Harmonic/percussive separation using median filtering”. In Proc. Digital Audio Effects (DAFx), Graz, Austria, Sept. 2010, vol. 13.
  • [3] J. Driedger, M. Müller, and S. Disch. “Extending harmonic-percussive separation of audio signals”. In Proc. ISMIR, Taipei, Taiwan, Oct. 2014, pp. 611–616.
  • [4] R. Füg, A. Niedermeier, J. Driedger, S. Disch, and M. Müller. “Harmonic-percussive-residual sound separation using the structure tensor on spectrograms”. In Proc. IEEE Int. Conf.Acoust. Speech Signal Process. (ICASSP), Shanghai, China,Mar. 2016, pp. 445–449.
  • [5] E. Moliner, J. Rämö, and V. Välimäki. “Virtual bass system with fuzzy separation of tones and transients”. In Proc. Digital Audio Effects (DAFx), Vienna, Austria, Sept. 2020.