http://marsyasweb.appspot.com/assets/docs/manual/marsyas-user/Creating-collections-manually.html
The problem
We have some annotate .mf files in the collections directory in SVN. Unfortunately, the old .mf files wrote a full path, so they were specific to George's computer:/Users/George/data/sound/genres/classical/classical.00000.au cl
/Users/George/data/sound/genres/classical/classical.00001.au cl
/Users/George/data/sound/genres/classical/classical.00002.au cl
or
/Users/gtzan/data/sound/ivl_beat_detect/01-Wobble-Horror_(145BPM).au 145
/Users/gtzan/data/sound/ivl_beat_detect/01_-_Help_I'm_Alive.au 118.5
/Users/gtzan/data/sound/ivl_beat_detect/01_Bloodstone_(62.5_BPM).au 62.5
If you wanted to use that same dataset, you would need to replace all the filenames to match your own home directory.
The solution
.mf files now support a MARSYAS_DATADIR environment variable. Instead of writing a full path in the .mf file, you can writeMARSYAS_DATADIR/genres44k/blues/blues.00000.wav 125
MARSYAS_DATADIR/genres44k/blues/blues.00001.wav 68
MARSYAS_DATADIR/genres44k/blues/blues.00002.wav 157
and as long as you have the correct environment variable set, Marsyas will find the right files. Typical environment variables would be one of these:
export MARSYAS_DATADIR=/home/gtzan/data/sound/
export MARSYAS_DATADIR=/Users/gtzan/data/sound/
export MARSYAS_DATADIR=/home/gperciva/media/marsyas-data/
We're still sorting out the existing annotated datasets in collections/, so stay tuned for more info about that!
In addition, when you're using mkcollection to create a .mf file, you can pass the -md option and the filenames will automatically use MARSYAS_DATADIR wherever appropriate!
No comments:
Post a Comment