除了用musdb依赖包自带的musdbconvert方法的命令行处理musdb官网下载的mp4格式数据集外,还可以用ffmpeg方法直接用代码处理mp4格式的数据集。
当然,如果不嫌麻烦的话,也可以直接选择在官网直接下载 musdb-hq 格式的数据集,下载下来直接就是文件夹格式的wav文件。
话不多说,直接上链接和代码。
下载mp4数据集:MUSDB18 - a corpus for music separation | Zenodo
转换为五通道的wav文件:
"""五通道的wav文件如下
- `0` - The mixture,
- `1` - The drums,
- `2` - The bass,
- `3` - The rest of the accompaniment,
- `4` - The vocals.
"""
import argparse
import os
import subprocess
import tempfile
import librosa
import numpy as np
import soundfile as sf
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('origin_dataset_dir',
help='Path of the original dataset (.m