Spaces:
Running
Running
| import os | |
| import json | |
| from torch.utils.data import DataLoader | |
| import soundfile as sf | |
| import tqdm | |
| from dataloader import DelimitValidDataset | |
| def main(): | |
| # Parameters | |
| data_path = "/path/to/musdb18hq" | |
| save_path = "/path/to/musdb18hq_limited_L" | |
| batch_size = 1 | |
| num_workers = 1 | |
| sr = 44100 | |
| # Dataset | |
| dataset = DelimitValidDataset(root=data_path, valid_target_lufs=-14.39) | |
| data_loader = DataLoader( | |
| dataset, batch_size=batch_size, num_workers=num_workers, shuffle=False | |
| ) | |
| dict_valid_loudness = {} | |
| # Preprocessing | |
| for limited_audio, orig_audio, audio_name, loudness in tqdm.tqdm(data_loader): | |
| audio_name = audio_name[0] | |
| limited_audio = limited_audio[0].numpy() | |
| loudness = float(loudness[0].numpy()) | |
| dict_valid_loudness[audio_name] = loudness | |
| # Save audio | |
| os.makedirs(os.path.join(save_path, "valid"), exist_ok=True) | |
| audio_path = os.path.join(save_path, "valid", audio_name) | |
| sf.write(f"{audio_path}.wav", limited_audio.T, sr) | |
| # write json write code | |
| with open(os.path.join(save_path, "valid_loudness.json"), "w") as f: | |
| json.dump(dict_valid_loudness, f, indent=4) | |
| if __name__ == "__main__": | |
| main() | |