Source code for musdb.tools

import tqdm
import stempeg
import argparse
from pathlib import Path
from musdb import DB
import sys


[docs] def musdb_convert(inargs=None): """ cli application to conver audio files to spectrogram images """ parser = argparse.ArgumentParser() parser.add_argument( 'musdb_root', type=str, ) parser.add_argument( 'output_root', type=str ) parser.add_argument( '--download', action='store_true', default=False, help='use the downloaded 7s musdb stems', ) parser.add_argument( '--extension', type=str, default='.wav' ) args = parser.parse_args(inargs) mus = DB(root=args.musdb_root, download=args.download) for track in tqdm.tqdm(mus): track_estimate_dir = Path( args.output_root, track.subset, track.name ) track_estimate_dir.mkdir(exist_ok=True, parents=True) # write out tracks to disk stempeg.write_audio( path=str(track_estimate_dir / Path('mixture').with_suffix(args.extension)), data=track.audio, sample_rate=track.rate ) for name, track in track.targets.items(): stempeg.write_audio( path=str(track_estimate_dir / Path(name).with_suffix(args.extension)), data=track.audio, sample_rate=track.rate )
if __name__ == '__main__': musdb_convert(sys.argv[1:])