This is a Python version implementaion of the paper, and you can also see some informations in our website.
Note that this version may generate slightly different result in compare to the original version, and the processing technique in section 2.3 of paper is omitted due to the fact that it can be achieved by tuning the parameter of pYIN plug-in.
The NMF constraint is also not implemented in this version due to its ineffectiveness of improving the conversion result.
- Python 3.4+
- pYIN vamp plug-in
- LibROSA
- Pypropack
- Numpy
If you use Archlinux, there is an AUR package available.
You can install the package with
python3 setup.py install
You can simply convert your audio with:
popto8bit [-h] [-s SAMPLE_RATE] [--block_size BLOCK_SIZE]
[--step_size STEP_SIZE]
audio_path output_path
Tuning the step_size
and block_size
can help reach a more accurate pitch result.
- pYIN vamp plug-in : Matthias Mauch, Dixon, Simon
- LibROSA: 0.4.1 : Brian McFee; Matt McVicar; Colin Raffel; Dawen Liang; Oriol Nieto; Eric Battenberg; Josh Moore; Dan Ellis; Ryuichi YAMAMOTO; Rachel Bittner; Douglas Repetto; Petr Viktorin; João Felipe Santos; Adrian Holovaty
- Pypropack : Jake Vanderplas
- robust-matrix-decomposition : Kyle Kastner
- RPCA : Alex Pananicolaou