Skip to content

Commit

Permalink
Update README, add requirements.txt and bump to v0.0.3
Browse files Browse the repository at this point in the history
  • Loading branch information
justinsalamon committed Apr 8, 2019
1 parent dfea78e commit ef7479b
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 17 deletions.
55 changes: 39 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,24 +13,47 @@ For example:
```bash
>python audio_to_midi_melodia.py ~/song.wav ~/song.mid 60 --smooth 0.25 --minduration 0.1 --jams
```
For further help use:
```bash
>python audio_to_midi_melodia.py --help
Details:
```
usage: audio_to_midi_melodia.py [-h] [--smooth SMOOTH]
[--minduration MINDURATION] [--jams]
infile outfile bpm
positional arguments:
infile Path to input audio file.
outfile Path for saving output MIDI file.
bpm Tempo of the track in BPM.
# Dependencies
- Requires python 2.7 (will most likely crash on python 3, untested)
optional arguments:
-h, --help show this help message and exit
--smooth SMOOTH Smooth the pitch sequence with a median filter of the
provided duration (in seconds).
--minduration MINDURATION
Minimum allowed duration for note (in seconds).
Shorter notes will be removed.
--jams Also save output in JAMS format.
```

# Installation
### Non-python dependencies
- Melodia melody extraction Vamp plugin: http://mtg.upf.edu/technologies/melodia
- Librosa: https://github.com/librosa/librosa
- Vamp python module: https://pypi.python.org/pypi/vamp
- midiutil: https://code.google.com/p/midiutil/
- NumPy & SciPy: http://www.scipy.org/
- JAMS: https://github.com/marl/jams
### Python dependencies
This program requires Python 2.7 (it has not been tested on Python 3 and will most likely crash).

All python dependencies (listed below) can be installed by calling `pip install -r requirements.txt`.
- soundfile: https://pypi.org/project/SoundFile/
- resampy: https://pypi.org/project/resampy/
- vamp: https://pypi.python.org/pypi/vamp
- midiutil: https://pypi.org/project/MIDIUtil/
- jams: https://pypi.org/project/jams/
- numpy: https://pypi.org/project/numpy/
- scipy: https://pypi.org/project/scipy/

Known to work with the following module versions on python 2.7:
- Librosa 0.5.1
- midiutil 1.2.1
- vamp 1.1.0
- jams 0.3.1
- numpy 1.13.1
- scipy 0.19.1
- SoundFile==0.10.2
- resampy==0.2.1
- vamp==1.1.0
- MIDIUtil==1.2.1
- jams==0.3.3
- numpy==1.16.2
- scipy==1.2.1
8 changes: 8 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
soundfile
resampy
vamp
midiutil
jams
numpy
scipy

2 changes: 1 addition & 1 deletion version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
"""Version info"""

short_version = '0.0'
version = '0.0.2'
version = '0.0.3'

0 comments on commit ef7479b

Please sign in to comment.