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
git clone https://github.com/tachi-hi/HPSS
cd HPSS
./build.sh
This script automatically handles everything: installing CMake (if needed), fetching vcpkg, resolving dependencies (boost, fftw3), and building the project.
Two executables will be generated in build/:
build/HPSS_separationbuild/HPSS_smoothness_eval
Other build commands:
./build.sh debug # Debug build
./build.sh clean # Remove build artifacts
If you prefer to install dependencies manually:
# Debian/Ubuntu
sudo apt-get install cmake libboost-program-options-dev libfftw3-dev
# macOS (Homebrew)
brew install cmake boost fftw
Then build with CMake:
cmake -B build
cmake --build build
The original Makefile is still available in src/:
sudo apt-get install libboost-dev libfftw3-dev
cd HPSS/src; make; cd -
- The help message of
HPSS_smoothness_evalmay 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.