sigsep / sigsep-mus-db

Python parser and tools for MUSDB18 Music Separation Dataset
https://sigsep.github.io/sigsep-mus-db/
MIT License
161 stars 34 forks source link

Different shapes of track.stems depending in DB(is_wav) #4

Closed carlthome closed 6 years ago

carlthome commented 6 years ago

After decoding, I ran into what feels like a bug (if not, sorry!):

mus = musdb.DB()
tracks = mus.load_mus_tracks()
print(tracks[0].stems.shape)

(5, 7552000, 2)

mus = musdb.DB(is_wav=True)
tracks = mus.load_mus_tracks('train')
print(tracks[0].stems.shape)

(7552000, 2)

Also, when is_wav=True, load_mus_tracks returns an empty list if subsets=''.

faroit commented 6 years ago

oops, indeed... thanks for finding this. In the end, I did not use the .stems property in this tool, so I haven't done proper unit tests for it. I will fix it today and make a new release.

faroit commented 6 years ago

Reproduced in d0b06b9

faroit commented 6 years ago

should be fixed in 2405d18

@carlthome can you please check if this works as expected?

carlthome commented 6 years ago

Shapes look right now. Thanks!

mus = musdb.DB(is_wav=True)
tracks = mus.load_mus_tracks()

still fails though (while it works if is_wav=False)

faroit commented 6 years ago

uh, can you have a look if the sample set produces the same problems? You can create this by running fetch.sh and decode.sh.

Also do the py.tests run?

faroit commented 6 years ago

just double check... your decoded musdb file structure looks like this, right?

screen shot 2018-01-14 at 23 28 23
carlthome commented 6 years ago

Yeah, that's the folder structure after using the Docker scripts for decoding.

I'll go over to using the mp4:s though as they're nicer. I personally would be fine with the is_wav option being removed (to make the codebase simpler). Feel free to close this issue!

faroit commented 6 years ago

we have some other participants using the docker decoded version because they either don't use python or cannot easily install ffmpeg (hello windows users without anaconda)...

Therefore it would still be great to know if there is a bug.

faroit commented 6 years ago

probably fixed in v.0.2.1