Giter VIP home page Giter VIP logo

sigsep-mus-db's People

Contributors

aanugraha avatar aliutkus avatar csukuangfj avatar faroit avatar hagenw avatar nils-werner avatar pyup-bot avatar stefanuhlich-sony avatar stickler-ci avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sigsep-mus-db's Issues

Using musdb for my own dataset

Hi,
I have trained a Neural Network using musdb. Now I want to do transfer learning on some more data that I have collected separately.
Is it possible to use musdb API on my own dataset if I keep all my tracks in a similar fashion as musdb database?

Please help.
Thanks

"ffmpeg or ffprobe could not be found!"

After I installed the 0.1.8 Version of the Stempeg package, I used the Conda directive to install the 4.3.1 Ffmpeg package and the 0.5.0 version of the FFProbe package. However, When I used import Stempeg in Pycharm, I got the following error:

File "/home3/chenYD/code/Wave-U-Net-Pytorch-master/1.py", line 1, in
import stempeg
File "/home3/chenYD/anaconda3/lib/python3.7/site-packages/stempeg/init.py", line 34, in
raise RuntimeError('ffmpeg or ffprobe could not be found! '
RuntimeError: ffmpeg or ffprobe could not be found! Please install them before using stempeg. See: https://github.com/faroit/stempeg

[FEATURE] Allow continuation of stopped `musdb.run`

It would be great to have a continued_run=True flag for musdb.run, which allows to continue a previously stopped separation run (e.g., due to out-of-memory on the GPU :) )

It should check whether the WAVs have already been created and - if they already exist - the song should be skipped.

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

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=''.

Cannot use musdb

I just search the source code of musdb, musdb does has the attribute. However, I got the error message like the title after I import musdb. Should I need to install musdb again?

Is MUSDB18 bandwidth really 16 kHz?

Hello,

This issue is not directly related to sigsep-mus-db repo, but I was thinking maybe @faroit or @aliutkus may give additional information on this.

After getting MUSDB18 dataset from a colleague, and plotting stft for some samples of the tracks, I get for example this:

spec

Screenshot_20200818_150320

Or after converting to wav with musdbconvert:

Screenshot_20200818_150543

On these examples, the bandwidth seem to be 17 kHz and not 16 kHz as indicated on https://sigsep.github.io/datasets/musdb.html . Is it that the MUSDB18 dataset I got not the original one, or is there an other explanation?

I was also wondering why would we keep MUSDB18 sampled at 44.1 kHz and not simply at 32 kHz (if the bandwidth is 16 kHz).

Thank you!

Félix

Note: ffmpeg problem, conda, Mac

Just in case someone's having problem with ffmpeg with these kinds of error messages:

>>> tracks[0].targets['vocals'].audio
dyld: Library not loaded: @rpath/libx264.138.dylib
  Referenced from: /Users/keunwooc/miniconda3/bin/ffprobe
  Reason: image not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/keunwooc/miniconda3/lib/python3.6/site-packages/musdb/audio_classes.py", line 113, in audio
    audio = source.audio
  File "/Users/keunwooc/miniconda3/lib/python3.6/site-packages/musdb/audio_classes.py", line 47, in audio
    filename=self.path, stem_id=self.stem_id
  File "/Users/keunwooc/miniconda3/lib/python3.6/site-packages/stempeg/read.py", line 91, in read_stems
    FFinfo = FFMPEGInfo(filename)
  File "/Users/keunwooc/miniconda3/lib/python3.6/site-packages/stempeg/read.py", line 19, in __init__
    self.json_info = read_info(self.filename)
  File "/Users/keunwooc/miniconda3/lib/python3.6/site-packages/stempeg/read.py", line 55, in read_info
    out = sp.check_output(cmd)
  File "/Users/keunwooc/miniconda3/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/Users/keunwooc/miniconda3/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ffprobe', '../../Data/musdb18/train/A Classic Education - NightOwl.stem.mp4', '-v', 'error', '-print_format', 'json', '-show_format', '-show_streams']' died with <Signals.SIGABRT: 6>.

flatironinstitute/CaImAn#317 (comment) help me by, I think, installing libx264.138.dylib with command below.

$ conda install -c conda-forge x264=20131218

It's not really an issue but probably best to be written here.

Mixture waveform is not the exact sum of the source waveforms

I've been using the is_wav option to decode the database into wave files myself for faster training later. I noticed that when adding the instrument tracks for a song, they do not exactly add up to the corresponding mixture signal - a small, noisy, constant residual sound remains as the difference signal. I remember that in DSD100 the mixture was exactly the sum of its sources in the given wave files.

Is this intended or an actual bug? Is this maybe the result of compressing and decompressing the tracks individually in a lossy fashion? If it is intended, it would be good to make that clear on the websites describing the dataset, so researchers are not confused when they deploy an algorithm that uses this assumption of additivity but then does not work as well as one hoped.

Module 'musdb' has no attribute 'DB'

I have installed musdb using pip, but when i run this code:

def main():
    import musdb
    mus = musdb.DB(download=True)
    for track in mus:
        print(track.name)


if __name__ == "__main__":
    main()

I get AttributeError: module 'musdb' has no attribute 'DB' I`ve tried reinstalling musdb using pip but it didn't help.

musb.DB().test(myfunction) fails if i have the museval code in myfunction

I wanted to generate source estimates and evaluate their quality using museval. In my main function, I do the following:


mus = musdb.DB(root_dir="/mnt/daten/Datasets/MUSDB18")
    if mus.test(predict):
         print "Function is valid"
    mus.run(predict, estimates_dir="/mnt/windaten/Source_Estimates")

In my function predict(track) I generate my estimates and then call the museval evaluation:

estimates = {
        'vocals' : voice_pred_audio,
        'accompaniment' : acc_pred_audio
    }

    # Evaluate using museval
    scores = museval.eval_mus_track(
        track, estimates, output_dir="/mnt/daten/Datasets/MUSDB18/eval"
    )

    ....
    return estimates

While this works without the museval call for just generating the source estimate files, it breaks with it in the mus.test function since the eval_mus_track call expects a track with some more source attributes or elements, which it doesn't have, so it gives me

AttributeError: 'NoneType' object has no attribute 'items'

It works if I remove the mus.test(predict) call, so it's not a major problem, but I feel like there should be some handling of the test track as a special case within eval_mus_track to prevent this from crashing?

Validation tracks include test tracks when `subsets` is not specified

In the readme, we state that:

musdb.DB(subsets='train', split='valid')

return the 14 validation tracks

However, when users do not specify subsets:

musdb.DB(split='valid')

the default is used (['train', 'test']) and 64 tracks are returned: 50+14.
While the output is technically correct, I think for this case we should:

  • raise an assertion or
  • print a warning or
  • assume that test has no splits so we just output the 14 valid tracks

This issue might be critical since some users might already have been using musdb that way, so that validation tracks include test tracks.

@aliutkus @TE-StefanUhlich do you have some opinion how to address this?

ffprobe issue

python test.py
Traceback (most recent call last):
File "/home3/will/BandSplitRNN-Pytorch-main/src/tt/test.py", line 158, in
mus = musdb.DB(root='/home3/will/musdb18',subsets='train')
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/musdb/init.py", line 118, in init
self.tracks = self.load_mus_tracks(subsets=subsets, split=split)
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/musdb/init.py", line 265, in load_mus_tracks
track = MultiTrack(
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/musdb/audio_classes.py", line 133, in init
super(MultiTrack, self).init(path=path, *args, **kwargs)
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/musdb/audio_classes.py", line 52, in init
self.info = stempeg.Info(self.path)
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/stempeg/read.py", line 328, in init
self.info = ffmpeg.probe(filename)
File "/home3/will/anaconda3/envs/MUSDB2/lib/python3.9/site-packages/ffmpeg/_probe.py", line 23, in probe
raise Error('ffprobe', out, err)
ffmpeg._run.Error: ffprobe error (see stderr output for detail)

Hi, I have already installed ffmpeg and musdb, but it seems to have error while setting up musdb.

MUSDB18 Approval

Hi, I'd like to use MUSDB18 for a class project, but I haven't heard back from Zenodo since I requested access about a week ago. Could you please advise? Thank you!

Save MultiTrack in mp4

Hi!

I would like to modify the audio files in MUSDB and then save them again in the .mp4 format.
How can I do this? I noticed that this feature is not currently implemented (see save_estimates function in musdb).

So far, I tried with stempeg.write_stems function (https://github.com/faroit/stempeg) but I don't understand how to include the metadata.

Thank you very much

There are some updates in module but not match with dataset.

Run following code:

import musdb 
mus_train = musdb.DB(musdb_path, subsets='train') 
L = len(mus_train)

The value of L used to be 100 but 600 now.

But i do not find new dataset in MUSDB.

I also tried install past version 0.3.0, but L is 600 too. So I can not use musdb module now. Please fix it ASAP, thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.