This software separates a music audio signal (monaural PCM (.wav
) format) to two components, "harmonic" and "percussive."
The codes in this repository were used in the experiments of the following paper. [IEEE Xplore]
@article{tachibana2014hpss,
author={Hideyuki Tachibana and Nobutaka Ono and Hirokazu Kameoka and Shigeki Sagayama},
journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing},
title={Harmonic/Percussive Sound Separation Based on Anisotropic Smoothness of Spectrograms},
year={2014},
volume={22},
number={12},
pages={2059-2073},
}
- MIT
- For academic use, please cite the paper above.
- src: source codes
- scripts: scripts
Install boost
and fftw3
as follows,
# apt
sudo apt-get install libboost-dev libfftw3-dev
# yum
sudo yum install boost-devel fftw3-devel
cd your_working_directory
git clone https://github.com/tachi-hi/HPSS
cd HPSS/src; make; cd -
Then two programs HPSS_separation
and HPSS_smoothness_eval
will be generated.
Note that the codes are not refactored sufficiently yet.
- The help message of
HPSS_smoothness_eval
may not help you.
This program accepts only the monaural (1ch) wav files. If you apply the program to a stereo wav file, it will emit the segmentation fault and halt.
Another implementation of HPSS is availabel below. Note that the algorithm used in the program below is not identical to the one described in the paper above (and the codes in this repository).
https://github.com/tachi-hi/slidingHPSS
GUI version (not coded by me) is was available below.
Note that the algorithm used in the program below is not identical to the one described in the paper above (and the codes in this repository).
http://hil.t.u-tokyo.ac.jp/pages/downloads.html... link expired
see http://ismir2015.uma.es/LBD/LBD16.pdf
librosa, a audio processing module for python, also contains a module named hpss, though the algorithm is different from the one described in the above paper.