├── .idea
├── .gitignore
├── DiffTransfer.iml
├── inspectionProfiles
│ ├── Project_Default.xml
│ └── profiles_settings.xml
├── misc.xml
├── modules.xml
└── vcs.xml
├── DiffTransfer.py
├── LICENSE
├── README.md
├── audio_utils.py
├── compute_eval_tracks_mixture.py
├── compute_eval_tracks_separate.py
├── compute_frechet.py
├── compute_jaccard.py
├── compute_listening_test_results.py
├── docs
├── _config.yml
├── audio
│ ├── est_diffusion
│ │ ├── mixture_model
│ │ │ ├── 001.0.wav
│ │ │ ├── 001.3.wav
│ │ │ ├── 002.0.wav
│ │ │ ├── 002.3.wav
│ │ │ ├── 003.0.wav
│ │ │ ├── 003.3.wav
│ │ │ ├── 004.0.wav
│ │ │ ├── 004.3.wav
│ │ │ ├── 005.0.wav
│ │ │ ├── 005.3.wav
│ │ │ ├── 006.0.wav
│ │ │ ├── 006.3.wav
│ │ │ ├── 007.0.wav
│ │ │ ├── 007.3.wav
│ │ │ ├── 008.0.wav
│ │ │ ├── 008.3.wav
│ │ │ ├── 009.0.wav
│ │ │ ├── 009.3.wav
│ │ │ ├── 010.0.wav
│ │ │ └── 010.3.wav
│ │ ├── separate_model
│ │ │ ├── 001.0.wav
│ │ │ ├── 001.3.wav
│ │ │ ├── 002.0.wav
│ │ │ ├── 002.3.wav
│ │ │ ├── 003.0.wav
│ │ │ ├── 003.3.wav
│ │ │ ├── 004.0.wav
│ │ │ ├── 004.3.wav
│ │ │ ├── 005.0.wav
│ │ │ ├── 005.3.wav
│ │ │ ├── 006.0.wav
│ │ │ ├── 006.3.wav
│ │ │ ├── 007.0.wav
│ │ │ ├── 007.3.wav
│ │ │ ├── 008.0.wav
│ │ │ ├── 008.3.wav
│ │ │ ├── 009.0.wav
│ │ │ ├── 009.3.wav
│ │ │ ├── 010.0.wav
│ │ │ └── 010.3.wav
│ │ └── separate_model_individual_tracks
│ │ │ ├── 001.1.wav
│ │ │ ├── 001.2.wav
│ │ │ ├── 001.4.wav
│ │ │ ├── 001.5.wav
│ │ │ ├── 002.1.wav
│ │ │ ├── 002.2.wav
│ │ │ ├── 002.4.wav
│ │ │ ├── 002.5.wav
│ │ │ ├── 003.1.wav
│ │ │ ├── 003.2.wav
│ │ │ ├── 003.4.wav
│ │ │ ├── 003.5.wav
│ │ │ ├── 004.1.wav
│ │ │ ├── 004.2.wav
│ │ │ ├── 004.4.wav
│ │ │ ├── 004.5.wav
│ │ │ ├── 005.1.wav
│ │ │ ├── 005.2.wav
│ │ │ ├── 005.4.wav
│ │ │ ├── 005.5.wav
│ │ │ ├── 006.1.wav
│ │ │ ├── 006.2.wav
│ │ │ ├── 006.4.wav
│ │ │ ├── 006.5.wav
│ │ │ ├── 007.1.wav
│ │ │ ├── 007.2.wav
│ │ │ ├── 007.4.wav
│ │ │ ├── 007.5.wav
│ │ │ ├── 008.1.wav
│ │ │ ├── 008.2.wav
│ │ │ ├── 008.4.wav
│ │ │ ├── 008.5.wav
│ │ │ ├── 009.1.wav
│ │ │ ├── 009.2.wav
│ │ │ ├── 009.4.wav
│ │ │ ├── 009.5.wav
│ │ │ ├── 010.1.wav
│ │ │ ├── 010.2.wav
│ │ │ ├── 010.4.wav
│ │ │ └── 010.5.wav
│ ├── est_music_net
│ │ ├── mixture_model
│ │ │ ├── 001.0.wav
│ │ │ ├── 001.3.wav
│ │ │ ├── 002.0.wav
│ │ │ ├── 002.3.wav
│ │ │ ├── 003.0.wav
│ │ │ ├── 003.3.wav
│ │ │ ├── 004.0.wav
│ │ │ ├── 004.3.wav
│ │ │ ├── 005.0.wav
│ │ │ ├── 005.3.wav
│ │ │ ├── 006.0.wav
│ │ │ ├── 006.3.wav
│ │ │ ├── 007.0.wav
│ │ │ ├── 007.3.wav
│ │ │ ├── 008.0.wav
│ │ │ ├── 008.3.wav
│ │ │ ├── 009.0.wav
│ │ │ ├── 009.3.wav
│ │ │ ├── 010.0.wav
│ │ │ └── 010.3.wav
│ │ ├── separate_model
│ │ │ ├── 001.0.wav
│ │ │ ├── 001.3.wav
│ │ │ ├── 002.0.wav
│ │ │ ├── 002.3.wav
│ │ │ ├── 003.0.wav
│ │ │ ├── 003.3.wav
│ │ │ ├── 004.0.wav
│ │ │ ├── 004.3.wav
│ │ │ ├── 005.0.wav
│ │ │ ├── 005.3.wav
│ │ │ ├── 006.0.wav
│ │ │ ├── 006.3.wav
│ │ │ ├── 007.0.wav
│ │ │ ├── 007.3.wav
│ │ │ ├── 008.0.wav
│ │ │ ├── 008.3.wav
│ │ │ ├── 009.0.wav
│ │ │ ├── 009.3.wav
│ │ │ ├── 010.0.wav
│ │ │ └── 010.3.wav
│ │ └── separate_model_individual_tracks
│ │ │ ├── 001.1.wav
│ │ │ ├── 001.2.wav
│ │ │ ├── 001.4.wav
│ │ │ ├── 001.5.wav
│ │ │ ├── 002.1.wav
│ │ │ ├── 002.2.wav
│ │ │ ├── 002.4.wav
│ │ │ ├── 002.5.wav
│ │ │ ├── 003.1.wav
│ │ │ ├── 003.2.wav
│ │ │ ├── 003.4.wav
│ │ │ ├── 003.5.wav
│ │ │ ├── 004.1.wav
│ │ │ ├── 004.2.wav
│ │ │ ├── 004.4.wav
│ │ │ ├── 004.5.wav
│ │ │ ├── 005.1.wav
│ │ │ ├── 005.2.wav
│ │ │ ├── 005.4.wav
│ │ │ ├── 005.5.wav
│ │ │ ├── 006.1.wav
│ │ │ ├── 006.2.wav
│ │ │ ├── 006.4.wav
│ │ │ ├── 006.5.wav
│ │ │ ├── 007.1.wav
│ │ │ ├── 007.2.wav
│ │ │ ├── 007.4.wav
│ │ │ ├── 007.5.wav
│ │ │ ├── 008.1.wav
│ │ │ ├── 008.2.wav
│ │ │ ├── 008.4.wav
│ │ │ ├── 008.5.wav
│ │ │ ├── 009.1.wav
│ │ │ ├── 009.2.wav
│ │ │ ├── 009.4.wav
│ │ │ ├── 009.5.wav
│ │ │ ├── 010.1.wav
│ │ │ ├── 010.2.wav
│ │ │ ├── 010.4.wav
│ │ │ └── 010.5.wav
│ └── music_star_test
│ │ ├── 001.0.wav
│ │ ├── 001.1.wav
│ │ ├── 001.2.wav
│ │ ├── 001.3.wav
│ │ ├── 001.4.wav
│ │ ├── 001.5.wav
│ │ ├── 002.0.wav
│ │ ├── 002.1.wav
│ │ ├── 002.2.wav
│ │ ├── 002.3.wav
│ │ ├── 002.4.wav
│ │ ├── 002.5.wav
│ │ ├── 002.6.wav
│ │ ├── 002.7.wav
│ │ ├── 003.0.wav
│ │ ├── 003.1.wav
│ │ ├── 003.2.wav
│ │ ├── 003.3.wav
│ │ ├── 003.4.wav
│ │ ├── 003.5.wav
│ │ ├── 004.0.wav
│ │ ├── 004.1.wav
│ │ ├── 004.2.wav
│ │ ├── 004.3.wav
│ │ ├── 004.4.wav
│ │ ├── 004.5.wav
│ │ ├── 005.0.wav
│ │ ├── 005.1.wav
│ │ ├── 005.2.wav
│ │ ├── 005.3.wav
│ │ ├── 005.4.wav
│ │ ├── 005.5.wav
│ │ ├── 006.0.wav
│ │ ├── 006.1.wav
│ │ ├── 006.2.wav
│ │ ├── 006.3.wav
│ │ ├── 006.4.wav
│ │ ├── 006.5.wav
│ │ ├── 007.0.wav
│ │ ├── 007.1.wav
│ │ ├── 007.2.wav
│ │ ├── 007.3.wav
│ │ ├── 007.4.wav
│ │ ├── 007.5.wav
│ │ ├── 008.0.wav
│ │ ├── 008.1.wav
│ │ ├── 008.2.wav
│ │ ├── 008.3.wav
│ │ ├── 008.4.wav
│ │ ├── 008.5.wav
│ │ ├── 009.0.wav
│ │ ├── 009.1.wav
│ │ ├── 009.2.wav
│ │ ├── 009.3.wav
│ │ ├── 009.4.wav
│ │ ├── 009.5.wav
│ │ ├── 010.0.wav
│ │ ├── 010.1.wav
│ │ ├── 010.2.wav
│ │ ├── 010.3.wav
│ │ ├── 010.4.wav
│ │ └── 010.5.wav
└── index.md
├── eval
└── listening_test_results.csv
├── network_lib_attention.py
├── params.py
└── preprocess_tracks_listening_test.py
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/.idea/DiffTransfer.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/Project_Default.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
21 |
22 |
23 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/.idea/inspectionProfiles/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/DiffTransfer.py:
--------------------------------------------------------------------------------
1 | import os
2 | import tqdm
3 | os.environ['CUDA_VISIBLE_DEVICES']="2"
4 | import network_lib_attention as network_lib
5 | import tensorflow as tf
6 | import tensorflow_hub as hub
7 | import tensorflow_io as tfio
8 | import datetime
9 | import os
10 | import numpy as np
11 | import argparse
12 | import params
13 | import audio_utils
14 | from tensorflow import keras
15 | tf.config.list_physical_devices('GPU')
16 | # SoundStream Spectrogram Inverter (Stuff stolen from https://storage.googleapis.com/music-synthesis-with-spectrogram-diffusion/index.html) and https://tfhub.dev/google/soundstream/mel/decoder/music/1
17 | module = hub.KerasLayer('https://tfhub.dev/google/soundstream/mel/decoder/music/1')
18 | # STARNET DATASET --> https://zenodo.org/record/6917099#.ZBiIEuzMI-Q
19 | os.listdir('/nas/public/dataset/maestro/maestro-v3.0.0')
20 | pre_load = False
21 |
22 | do_norm = True
23 |
24 | def preprocess_dataset(audio_paths):
25 | #for audio_path in val_tracks_paths:
26 | # print(audio_path)
27 |
28 | audio_res1 = audio_utils.read_audio(audio_paths[0])
29 | audio_res2 = audio_utils.read_audio(audio_paths[1])
30 | if do_norm:
31 | audio_res1,_,_ = audio_utils.norm_tensor(audio_res1)
32 | audio_res2,_,_ = audio_utils.norm_tensor(audio_res2)
33 | #idx = tf.random.uniform(shape=(), minval=0, maxval=duration_track - duration_sample, dtype=tf.int32)
34 | idx = tf.random.uniform(shape=(), minval=0, maxval=tf.size(audio_res1) - params.duration_sample, dtype=tf.int32)
35 | audio_res1 = audio_res1[idx:idx+params.duration_sample]
36 | audio_res2 = audio_res2[idx:idx+params.duration_sample]
37 |
38 |
39 | audio_res1 = tf.expand_dims(tf.squeeze(audio_res1), axis=0)
40 | audio_res2 = tf.expand_dims(tf.squeeze(audio_res2), axis=0)
41 |
42 | spec1 = audio_utils.calculate_spectrogram(audio_res1)
43 | spec2 = audio_utils.calculate_spectrogram(audio_res2)
44 |
45 | spec1 = tf.expand_dims(tf.squeeze(spec1),axis=-1)
46 | spec1 = tf.reshape(spec1,shape=(params.mel_spec_size[0],params.mel_spec_size[1],1))
47 |
48 | spec2 = tf.expand_dims(tf.squeeze(spec2),axis=-1)
49 | spec2 = tf.reshape(spec2,shape=(params.mel_spec_size[0],params.mel_spec_size[1],1))
50 |
51 |
52 | if network_lib.do_norm_specs:
53 | spec1,_,_ = audio_utils.norm_tensor(spec1)
54 | spec2,_,_ = audio_utils.norm_tensor(spec2)
55 |
56 | return tf.concat([spec1,spec2],axis=-1)
57 |
58 | def prepare_dataset(paths, training=True):
59 | files_ds = tf.data.Dataset.from_tensor_slices(paths)
60 | if training:
61 | features_ds = files_ds.map(preprocess_dataset).repeat(2).batch(params.batch_size,drop_remainder=True).prefetch(buffer_size=tf.data.AUTOTUNE)
62 | else:
63 | features_ds = files_ds.map(preprocess_dataset).cache().repeat(4).batch(params.batch_size,drop_remainder=True).prefetch(buffer_size=tf.data.AUTOTUNE)
64 | return features_ds
65 |
66 | def main():
67 | parser = argparse.ArgumentParser(description='Train log-mel-to-mask network')
68 | parser.add_argument('--dataset_train_path', type=str, help='Folder containing Train/val Dataset audio',
69 | default='dataset/starnet/starnet_reduced')
70 | parser.add_argument('--desired_instrument', type=str, help='Desired Output Timbre',
71 | default='strings')
72 | parser.add_argument('--conditioning_instrument', type=str, help='Desired Conditioning Timbre',
73 | default='clarinet')
74 | parser.add_argument('--GPU', type=str, help='Select GPU number',
75 | default='0')
76 | parser.add_argument('--train', type=str, help='Select GPU number',
77 | default='True')
78 | dict_instruments = {"clarinet":"1","vibraphone":"2","strings":"4","piano":"5",'clarinet_vibraphone':"0",'strings_piano':"3"}
79 | args = parser.parse_args()
80 | desired_instrument = args.desired_instrument
81 | conditioning_instrument = args.conditioning_instrument
82 | dataset_train_path = args.dataset_train_path
83 | train = args.train
84 | print('Timbre transfering from '+conditioning_instrument+' to'+desired_instrument)
85 |
86 | # Handle Paths
87 | instruments_name = [dict_instruments[desired_instrument],dict_instruments[conditioning_instrument]]
88 |
89 | checkpoint_path = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_"+conditioning_instrument+'_to_'+desired_instrument+'_'+ datetime.datetime.now().strftime(
90 | "%Y%m%d-%H%M%S")
91 | tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir="./logs/ATT_STARNET_"+conditioning_instrument+'_to_'+desired_instrument+datetime.datetime.now().strftime(
92 | "%Y%m%d-%H%M%S"))
93 |
94 | log_dir = 'logs/'
95 | logdir = log_dir + 'ATT_STARNET_NORM_diffusion_timbre_transfer_' + datetime.datetime.now().strftime(
96 | "%Y%m%d-%H%M%S") + '5000__'+conditioning_instrument+'_to_'+desired_instrument
97 |
98 | # Each instrument is the same since track names are duplicatedk
99 |
100 | tracks_full = os.listdir(dataset_train_path)
101 | cond_tracks = [track for track in tracks_full if track.split('.')[-2]==instruments_name[1]]
102 | trgt_tracks = [track for track in tracks_full if track.split('.')[-2]==instruments_name[0]]
103 | cond_tracks.sort()
104 | trgt_tracks.sort()
105 | track_paths_trans = [[os.path.join(dataset_train_path,trgt_tracks[i]),os.path.join(dataset_train_path,cond_tracks[i])] for i in range(len(cond_tracks))]
106 |
107 |
108 | val_perc = 0.2
109 | n_tracks_train = len(track_paths_trans) - int(np.floor(val_perc * len(track_paths_trans)))
110 | rng = np.random.default_rng(12345)
111 | idxs = rng.choice(len(track_paths_trans), len(track_paths_trans), False)
112 | idxs_train = idxs[:n_tracks_train]
113 | idxs_val = idxs[n_tracks_train:]
114 |
115 | train_tracks_paths = np.array(track_paths_trans)[idxs_train].tolist()
116 | val_tracks_paths = np.array(track_paths_trans)[idxs_val].tolist()
117 |
118 | train_dataset = prepare_dataset(train_tracks_paths)
119 | val_dataset = prepare_dataset(val_tracks_paths, training=False)
120 |
121 |
122 | # create and compile the model
123 | first = True
124 | for a in val_dataset.take(2):
125 | if first:
126 | val_data = a
127 | first = False
128 | else:
129 | val_data = tf.concat([val_data, a],axis=0)
130 | val_data = a[:18]
131 | print(val_data.shape)
132 | model = network_lib.DiffusionModel(params.mel_spec_size, params.widths, params.block_depth, val_data, params.has_attention, logdir=logdir,batch_size=params.batch_size,)
133 | model.network.summary()
134 |
135 | if train:
136 | model.compile(
137 | optimizer=keras.optimizers.experimental.AdamW(
138 | learning_rate=params.learning_rate, weight_decay=params.weight_decay
139 | ),
140 | loss=keras.losses.mean_absolute_error,
141 | )
142 |
143 | # save the best model based on the validation KID metric
144 |
145 | checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(
146 | filepath=checkpoint_path,
147 | save_weights_only=True,
148 | monitor="val_n_loss",
149 | mode="min",
150 | save_best_only=True,
151 | )
152 |
153 | # calculate mean and variance of training dataset for normalization
154 | model.fit(
155 | train_dataset,
156 | epochs=5000,
157 | validation_data=val_dataset,
158 | callbacks=[
159 | keras.callbacks.LambdaCallback(on_epoch_end=model.plot_images),
160 | checkpoint_callback,
161 | tensorboard_callback,
162 | ],
163 | )
164 |
165 | if __name__=='__main__':
166 | main()
167 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2024 Luca Comanducci
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DiffTransfer
2 |
3 | ## TIMBRE TRANSFER USING IMAGE-TO-IMAGE DENOISING DIFFUSION IMPLICIT MODELS
4 |
5 |
6 | Accompanying code to the paper _Timbre transfer using image-to-image denoising diffusion implicit models_
7 | [[1]](#references).
8 |
9 | For any question, please write at [luca.comanducci@polimi.it](mailto:luca.comanducci@polimi.it).
10 |
11 |
12 |
13 | - [Dependencies](#dependencies)
14 | - [Data Generation](#data-generation)
15 | - [Network Training](#network-training)
16 | - [Results Computation](#results-computation)
17 |
18 | ### Dependencies
19 | Tensorflow (>2.11), librosa, pretty_midi, os, numpy, [essentia](https://pypi.org/project/essentia/), [frechet_audio_distance](https://pypi.org/project/frechet-audio-distance/)
20 |
21 | ### Data generation
22 | The model is trained using the StarNet dataset, freely available on Zenodo [link](https://zenodo.org/records/6917099)
23 |
24 | ### Network training
25 | - audio_utils.py --> contains shared audio utilities and functions
26 | - params.py --> Contains parameters shared along scripts
27 | - network_lib_attention.py --> Contains Denoising Diffusion Implicit Model Implementation
28 | - DiffTransfer.py --> Actually runs the training, takes the following arguments:
29 | - dataset_train_path: String, path to training data
30 | - desired_instrument: String, name of desired output instrument
31 | - conditioning_instrument: String, name of input instrument
32 | - GPU: number of GPU, in case you have multiple ones
33 |
34 | ### Results computation
35 |
36 | - compute_eval_tracks_mixture.py
37 | - compute_eval_tracks_separate.py
38 | - compute_frechet.py
39 | - compute_jaccard.py
40 | - compute_listening_test_results.py
41 | - preprocess_tracks_listening_test.py
42 |
43 | If using this code please cite the following paper
44 |
45 | @inproceedings{comanducci2023timbre,
46 | author = {Luca Comanducci and
47 | Fabio Antonacci and
48 | Augusto Sarti},
49 | title = {Timbre Transfer Using Image-to-Image Denoising Diffusion Implicit
50 | Models},
51 | booktitle = {Proceedings of the 24th International Society for Music Information
52 | Retrieval Conference, {ISMIR} 2023, Milan, Italy, November 5-9, 2023},
53 | pages = {257--263},
54 | year = {2023},
55 | }
56 |
57 |
58 |
59 |
60 | # References
61 | >[1] Comanducci, Luca, Fabio Antonacci, and Augusto Sarti. "Timbre transfer using image-to-image denoising diffusion models. _ISMIR International Society for Music Information Retrieval Conference_ [arXiv](https://arxiv.org/pdf/2307.04586.pdf)
62 |
63 |
--------------------------------------------------------------------------------
/audio_utils.py:
--------------------------------------------------------------------------------
1 | import os
2 | import tensorflow_io as tfio
3 | #import network_lib
4 | import network_lib_attention as network_lib
5 | import params
6 | import tensorflow as tf
7 | import numpy as np
8 | import matplotlib.pyplot as plt
9 | import tensorflow_hub as hub
10 |
11 | # Soundstream
12 | module = hub.KerasLayer('https://tfhub.dev/google/soundstream/mel/decoder/music/1')
13 |
14 | # Audio Stuff
15 | #SAMPLE_RATE = 16000
16 | #N_FFT = 1024
17 | #HOP_LENGTH = 320
18 | #WIN_LENGTH = 640 # (20 ms)
19 | #N_MEL_CHANNELS = 128
20 | #MEL_FMIN = 0.0
21 | #MEL_FMAX = int(SAMPLE_RATE // 2)
22 | #CLIP_VALUE_MIN = 1e-5
23 | #CLIP_VALUE_MAX = 1e8
24 | #N_IMG_CHANNELS = 1 #3
25 |
26 | MEL_BASIS = tf.signal.linear_to_mel_weight_matrix(
27 | num_mel_bins=params.N_MEL_CHANNELS,
28 | num_spectrogram_bins=params.N_FFT // 2 + 1,
29 | sample_rate=params.SAMPLE_RATE,
30 | lower_edge_hertz=params.MEL_FMIN,
31 | upper_edge_hertz=params.MEL_FMAX)
32 |
33 | def calculate_spectrogram(samples):
34 | """Calculate mel spectrogram using the parameters the model expects."""
35 | fft = tf.signal.stft(
36 | samples,
37 | frame_length=params.WIN_LENGTH,
38 | frame_step=params.HOP_LENGTH,
39 | fft_length=params.N_FFT,
40 | window_fn=tf.signal.hann_window,
41 | pad_end=True)
42 | fft_modulus = tf.abs(fft)
43 |
44 | output = tf.matmul(fft_modulus, MEL_BASIS)
45 |
46 | output = tf.clip_by_value(
47 | output,
48 | clip_value_min=params.CLIP_VALUE_MIN,
49 | clip_value_max=params.CLIP_VALUE_MAX)
50 | output = tf.math.log(output)
51 | return output
52 |
53 | # data
54 | dataset_repetitions = 5
55 | num_epochs = 1 # train for at least 50 epochs for good results
56 | image_size = (128,128)
57 | # KID = Kernel Inception Distance, see related section
58 | kid_image_size = 75
59 | kid_diffusion_steps = 10
60 | plot_diffusion_steps = 20
61 |
62 | # sampling
63 | min_signal_rate = 0.02
64 | max_signal_rate = 0.95
65 |
66 | # architecture
67 | embedding_dims = 32
68 | embedding_max_frequency = 1000.0
69 | widths = [32, 64, 96, 128]
70 | block_depth = 2
71 |
72 | # optimization
73 | batch_size = 64
74 |
75 | widths = [64, 128, 256, 512]
76 | block_depth = 4
77 | batch_size=16
78 |
79 | ema = 0.999
80 | learning_rate = 1e-3
81 | weight_decay = 1e-4
82 |
83 |
84 | # Handle Paths
85 | dataset_train_path = 'dataset/dataset_timbre_transfer/train'
86 | instruments_name = ['violin','saxophone']
87 | checkpoint_path = "checkpoints/diffusion_model_timbre_transfer_saxophone_to_violin_20230305-150304"
88 |
89 | checkpoint_path = "checkpoints/diffusion_model_timbre_transfer_saxophone_to_violin_20230309-170705"
90 |
91 |
92 |
93 | # Each instrument is the same since track names are duplicated
94 | track_names = os.listdir(os.path.join(dataset_train_path,instruments_name[0]))
95 | track_names.sort()
96 | # Let's do violin to saxophone
97 | track_paths_trans = [[os.path.join(dataset_train_path,instruments_name[0],track_name),os.path.join(dataset_train_path,instruments_name[1],track_name)] for track_name in track_names]
98 |
99 |
100 | val_perc = 0.2
101 | n_tracks_train = len(track_paths_trans) - int(np.floor(val_perc*len(track_paths_trans)))
102 | train_tracks_paths = track_paths_trans[:n_tracks_train]
103 | val_tracks_paths = track_paths_trans[n_tracks_train:]
104 |
105 | #train_tracks_paths, val_tracks_paths = train_tracks_paths[:64], val_tracks_paths[:64],
106 | #audio_path = train_tracks_paths[200]
107 | duration_sample = 40960
108 | duration_track = 480000
109 |
110 | def normalize_audio(audio):
111 | audio = audio - audio.min()
112 | audio = audio/audio.max()
113 | audio = (audio*2)-1
114 | return audio
115 |
116 |
117 | def read_audio(audio_path,resample=True, SAMPLE_RATE=params.SAMPLE_RATE):
118 | audio_bin = tf.io.read_file(audio_path)
119 | audio, sample_rate = tf.audio.decode_wav(audio_bin)
120 | if resample:
121 | audio = tfio.audio.resample(audio, rate_in=tf.cast(sample_rate,tf.int64), rate_out=SAMPLE_RATE, name=None)
122 | return audio
123 |
124 |
125 | def norm_tensor(audio):
126 | min_val = tf.math.reduce_min(audio)
127 | audio = audio - min_val
128 | max_val = tf.math.reduce_max(audio)
129 | audio_norm = ((audio/max_val)*2)-1
130 | return audio_norm, max_val, min_val
131 |
132 | def denorm_tensor(audio,max_val,min_val):
133 | return (((audio +1)/2)*max_val + min_val)
134 |
135 | def get_audio_track_diff(cond_track_path, diff_steps=20):
136 | cond_track = read_audio(cond_track_path)
137 | # Remove audio Channel and add Batch Dimension
138 | cond_track = tf.expand_dims(cond_track[:,0],axis=0)
139 | do_norm = True
140 | if do_norm:
141 | cond_track,_,_ = norm_tensor(cond_track)
142 |
143 | # Compute mel spectrogram
144 | cond_track_spec = calculate_spectrogram(cond_track)
145 |
146 | # Frames given as input to diff model
147 | N_frames_diff = 128
148 |
149 | # Number of full frames contained in the considered track
150 | N_frames_full = cond_track_spec.shape[1]//N_frames_diff
151 | N_frames_gt = cond_track_spec.shape[1]
152 | # Split the cond track in frame sizes suitable to diff model
153 | if N_frames_full*N_frames_diff < cond_track_spec.shape[1]:
154 | cond_track_input_diff = np.zeros((N_frames_full+1,N_frames_diff,params.N_MEL_CHANNELS),dtype=np.float32)
155 | for i in range(N_frames_full):
156 | cond_track_input_diff[i] = cond_track_spec[0,(i*N_frames_diff):(i*N_frames_diff)+N_frames_diff]
157 | N_remaining_frames = len(cond_track_spec[0, (i * N_frames_diff) + N_frames_diff:])
158 | cond_track_input_diff[i+1,:N_remaining_frames] = cond_track_spec[0, (i * N_frames_diff) + N_frames_diff:]
159 | else:
160 | cond_track_input_diff = np.zeros(N_frames_full,N_frames_diff,N_MEL_CHANNELS,1)
161 | for i in range(N_frames_full):
162 | cond_track_input_diff[i] = cond_track_spec[0,(i*N_frames_diff):(i*N_frames_diff)+N_frames_diff]
163 |
164 |
165 | # Now let's apply the diffusion model
166 | model = network_lib.DiffusionModel(image_size, widths, block_depth,val_data=None,batch_size=batch_size)
167 | model.load_weights(checkpoint_path)
168 | N = cond_track_input_diff.shape[0]
169 |
170 | est_spec = model.generate(
171 | cond_images=tf.expand_dims(cond_track_input_diff, axis=-1),
172 | num_images=N,
173 | diffusion_steps=diff_steps,
174 | )
175 |
176 | est_spec_shift = tf.expand_dims(tf.zeros_like(cond_track_input_diff), axis=-1).numpy()
177 | N_slices = est_spec_shift.shape[0]
178 | for i in range(N_slices - 1):
179 | # Curr + shifted slice
180 | cond_shift = tf.expand_dims(
181 | tf.expand_dims(tf.concat([cond_track_input_diff[i][64:], cond_track_input_diff[i + 1][:64]], axis=0),
182 | axis=0), axis=-1)
183 | est_spec_shift[i] = model.generate(cond_images=cond_shift, num_images=1, diffusion_steps=diff_steps)
184 |
185 | est_spec_smooth = est_spec.numpy()
186 | for i in range(est_spec.numpy().shape[0] - 1):
187 | est_spec_smooth[i, 96:] = est_spec_shift[i, 32:64]
188 | est_spec_smooth[i + 1, :32] = est_spec_shift[i, 64:96]
189 |
190 | est_spec = tf.reshape(est_spec_smooth,(N*128,128)).numpy()[:N_frames_gt]
191 | cond_track_input_diff = tf.reshape(cond_track_input_diff,(N*128,128)).numpy()[:N_frames_gt]
192 |
193 | est_audio = module(tf.expand_dims(est_spec,axis=0)).numpy()
194 | cond_audio = module(tf.expand_dims(cond_track_input_diff,axis=0)).numpy()
195 |
196 | return est_audio, cond_audio
197 |
198 |
199 |
200 | def get_audio_track_diff_norm(cond_track_path, checkpoint_path, model, diff_steps=20):
201 | cond_track = read_audio(cond_track_path)
202 | # Remove audio Channel and add Batch Dimension
203 | cond_track = tf.expand_dims(cond_track[:, 0], axis=0)
204 | do_norm = True
205 | if do_norm:
206 | cond_track, _, _ = norm_tensor(cond_track)
207 |
208 | # Compute mel spectrogram
209 | cond_track_spec = calculate_spectrogram(cond_track)
210 |
211 | # Frames given as input to diff model
212 | N_frames_diff = 128
213 |
214 | # Number of full frames contained in the considered track
215 | N_frames_full = cond_track_spec.shape[1] // N_frames_diff
216 | N_frames_gt = cond_track_spec.shape[1]
217 | # Split the cond track in frame sizes suitable to diff model
218 | if N_frames_full * N_frames_diff < cond_track_spec.shape[1]:
219 | cond_track_input_diff = np.zeros((N_frames_full + 1, N_frames_diff, params.N_MEL_CHANNELS), dtype=np.float32)
220 | for i in range(N_frames_full):
221 | cond_track_input_diff[i] = cond_track_spec[0, (i * N_frames_diff):(i * N_frames_diff) + N_frames_diff]
222 | N_remaining_frames = len(cond_track_spec[0, (i * N_frames_diff) + N_frames_diff:])
223 | cond_track_input_diff[i + 1, :N_remaining_frames] = cond_track_spec[0, (i * N_frames_diff) + N_frames_diff:]
224 | else:
225 | cond_track_input_diff = np.zeros(N_frames_full, N_frames_diff, params.N_MEL_CHANNELS, 1)
226 | for i in range(N_frames_full):
227 | cond_track_input_diff[i] = cond_track_spec[0, (i * N_frames_diff):(i * N_frames_diff) + N_frames_diff]
228 |
229 | # Now let's apply the diffusion model
230 | # model = network_lib.DiffusionModel(image_size, widths, block_depth,val_data=None,batch_size=batch_size)
231 | model.load_weights(checkpoint_path)
232 | N = cond_track_input_diff.shape[0]
233 |
234 | # Compute norm of cond ttrack
235 | cond_track_spec_reshaped_norm = np.zeros_like(cond_track_input_diff)
236 | max_val, min_val = np.zeros(N), np.zeros(N)
237 | for i in range(cond_track_input_diff.shape[0]):
238 | cond_track_spec_reshaped_norm[i], max_val[i], min_val[i] = norm_tensor(cond_track_input_diff[i])
239 | # print(str(max_val[i]) + ' ' + str(min_val[i]))
240 |
241 | cond_track_spec_reshaped_norm, max_val, min_val = norm_tensor(cond_track_input_diff)
242 |
243 | est_spec_norm = model.generate_fixed_noise(
244 | cond_images=tf.expand_dims(cond_track_spec_reshaped_norm, axis=-1),
245 | num_images=N,
246 | diffusion_steps=diff_steps,
247 | )
248 | # est_spec = denorm_tensor(est_spec_norm,np.mean(max_val),np.mean(min_val))
249 | est_spec = denorm_tensor(est_spec_norm, max_val, min_val)
250 |
251 | est_spec = est_spec.numpy()
252 |
253 | est_spec = tf.reshape(est_spec, (N * 128, 128)).numpy()[:N_frames_gt]
254 | cond_track_input_diff = tf.reshape(cond_track_input_diff, (N * 128, 128)).numpy()[:N_frames_gt]
255 |
256 | est_audio = module(tf.expand_dims(est_spec, axis=0)).numpy()
257 | cond_audio = module(tf.expand_dims(cond_track_input_diff, axis=0)).numpy()
258 |
259 | return est_audio, cond_audio, cond_track_input_diff, est_spec
260 |
--------------------------------------------------------------------------------
/compute_eval_tracks_mixture.py:
--------------------------------------------------------------------------------
1 | import os
2 | os.environ['CUDA_VISIBLE_DEVICES']="5"
3 | os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
4 | import network_lib_attention as network_lib
5 | import matplotlib.pyplot as plt
6 | import argparse
7 | import tensorflow as tf
8 | import tensorflow_hub as hub
9 | import tqdm
10 | import params
11 | import audio_utils
12 | import numpy as np
13 | from IPython.display import Audio
14 | module = hub.KerasLayer('https://tfhub.dev/google/soundstream/mel/decoder/music/1')
15 |
16 | val_data = None # Param needed to load models
17 | test_dataset_path = 'dataset/music_star_test'
18 |
19 | test_dataset_dict = {"001" :"Pirates of the Caribbean Theme",
20 | "002" :"My Heart Will Go on",
21 | "003" :"Beethoven's String",
22 | "004" :"Moonlight Sonata",
23 | "005" :"Fur Elise",
24 | "006" :"Brahms's Clarinet",
25 | "007" :"Beethoven's Piano",
26 | "008" :"Dvorak's String",
27 | "009" :"Romeo and Juliet",
28 | "010":"Nuvole Blanche",
29 | }
30 | N_tracks = len(test_dataset_dict)
31 | est_folder = 'eval/est_diffusion'
32 |
33 | def main():
34 | parser = argparse.ArgumentParser(description='Train log-mel-to-mask network')
35 | parser.add_argument('--conversion_type', type=int, help='clarinet/vibraphone_to_strings_piano or viceversa',
36 | default=1)
37 | parser.add_argument('--diff_steps', type=int, help='Number of steps in diffusion',
38 | default=20)
39 |
40 | args = parser.parse_args()
41 | conversion_type = args.conversion_type
42 | diff_steps = args.diff_steps
43 |
44 | if conversion_type == 0:
45 | print('Convert clarinet/vibraphone to violin/piano')
46 | if conversion_type == 1:
47 | print('Convert strings/piano to clarinet/vibraphone ')
48 |
49 | # Select correct checkpoint
50 | if conversion_type == 0:
51 | print('Convert clarinet/vibraphone to violin/piano')
52 | checkpoint_path = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_clarinet_vibraphone_to_strings_piano_20230327-103551"
53 |
54 | if conversion_type == 1:
55 | print('Convert strings/piano to clarinet/vibraphone ')
56 | checkpoint_path = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_strings_piano_to_clarinet_vibraphone_20230327-103700"
57 |
58 | model = network_lib.DiffusionModel(params.mel_spec_size, params.widths, params.block_depth, val_data,
59 | params.has_attention, logdir='', batch_size=params.batch_size, )
60 |
61 |
62 | model.load_weights(checkpoint_path)
63 |
64 |
65 | for n_t in tqdm.tqdm(range(N_tracks)):
66 | # Load correct track
67 | idx_key = list(test_dataset_dict.keys())[n_t]
68 | final_folder = 'mixture_model'
69 |
70 | if conversion_type == 0:
71 | track_name = idx_key + '.3.wav'
72 | if conversion_type == 1:
73 | track_name = idx_key + '.0.wav'
74 | track_est_path = os.path.join(est_folder, final_folder, track_name)
75 | print(track_est_path)
76 |
77 | if conversion_type == 0:
78 | gt_track = os.path.join(test_dataset_path, idx_key + '.3.wav')
79 | cond_track = os.path.join(test_dataset_path, idx_key + '.0.wav')
80 |
81 | if conversion_type == 1:
82 | gt_track = os.path.join(test_dataset_path, idx_key + '.0.wav')
83 | cond_track = os.path.join(test_dataset_path, idx_key + '.3.wav')
84 |
85 | est_audio, _, _, _ = audio_utils.get_audio_track_diff_norm(
86 | cond_track_path=cond_track,
87 | checkpoint_path=checkpoint_path,
88 | model=model,
89 | diff_steps=diff_steps)
90 |
91 | # Write Audio
92 | audio_encoded = tf.audio.encode_wav(
93 | tf.transpose(est_audio), params.SAMPLE_RATE, name=None
94 | )
95 | write_file_op = tf.io.write_file(track_est_path, audio_encoded)
96 |
97 |
98 | if __name__=='__main__':
99 | main()
--------------------------------------------------------------------------------
/compute_eval_tracks_separate.py:
--------------------------------------------------------------------------------
1 | import os
2 | os.environ['CUDA_VISIBLE_DEVICES']="5"
3 | os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
4 | import network_lib_attention as network_lib
5 | import matplotlib.pyplot as plt
6 | import argparse
7 | import tensorflow as tf
8 | import tensorflow_hub as hub
9 | import tqdm
10 | import params
11 | import audio_utils
12 | import numpy as np
13 | from IPython.display import Audio
14 | module = hub.KerasLayer('https://tfhub.dev/google/soundstream/mel/decoder/music/1')
15 |
16 | val_data = None # Param needed to load models
17 | test_dataset_path = 'dataset/music_star_test'
18 | #os.listdir('dataset/music_star_test')
19 | test_dataset_dict = {"001" :"Pirates of the Caribbean Theme",
20 | "002" :"My Heart Will Go on",
21 | "003" :"Beethoven's String",
22 | "004" :"Moonlight Sonata",
23 | "005" :"Fur Elise",
24 | "006" :"Brahms's Clarinet",
25 | "007" :"Beethoven's Piano",
26 | "008" :"Dvorak's String",
27 | "009" :"Romeo and Juliet",
28 | "010":"Nuvole Blanche",
29 | }
30 | N_tracks = len(test_dataset_dict)
31 | est_folder = 'eval/est_diffusion'
32 |
33 | def main():
34 | parser = argparse.ArgumentParser(description='Compute eval tracks separate networks')
35 | parser.add_argument('--conversion_type', type=int, help='clarinet/vibraphone_to_strings_piano or viceversa',
36 | default=0)
37 |
38 | parser.add_argument('--diff_steps', type=int, help='Number of steps in diffusion',
39 | default=20)
40 |
41 | args = parser.parse_args()
42 | conversion_type = args.conversion_type
43 | diff_steps = args.diff_steps
44 |
45 | if conversion_type == 0:
46 | print('Convert clarinet/vibraphone to violin/piano')
47 | if conversion_type == 1:
48 | print('Convert strings/piano to clarinet/vibraphone ')
49 |
50 | # Select correct checkpoint
51 | if conversion_type == 0:
52 | print('Convert clarinet/vibraphone to violin/piano')
53 | checkpoint_path_a = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_clarinet_to_strings_20230324-171656"
54 | checkpoint_path_b = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_vibraphone_to_piano_20230322-083426"
55 |
56 | if conversion_type == 1:
57 | print('Convert strings/piano to clarinet/vibraphone ')
58 | checkpoint_path_a = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_strings_to_clarinet_20230324-150905"
59 | checkpoint_path_b = "checkpoints/ATT_STARNET_NORM_diffusion_model_timbre_transfer_piano_to_vibraphone_20230325-124114"
60 |
61 |
62 | model_a = network_lib.DiffusionModel(params.mel_spec_size, params.widths, params.block_depth, val_data,
63 | params.has_attention, logdir='', batch_size=params.batch_size, )
64 | model_a.load_weights(checkpoint_path_a)
65 | model_b = network_lib.DiffusionModel(params.mel_spec_size, params.widths, params.block_depth, val_data,
66 | params.has_attention, logdir='', batch_size=params.batch_size, )
67 | model_b.load_weights(checkpoint_path_b)
68 |
69 |
70 | for n_t in tqdm.tqdm(range(N_tracks)):
71 | # Load correct track
72 | idx_key = list(test_dataset_dict.keys())[n_t]
73 |
74 | final_folder = 'separate_model'
75 | if conversion_type == 0:
76 | track_name = idx_key + '.3.wav'
77 | if conversion_type == 1:
78 | track_name = idx_key + '.0.wav'
79 | track_est_path = os.path.join(est_folder, final_folder, track_name)
80 | print(track_est_path)
81 |
82 | if conversion_type == 0:
83 | gt_track = os.path.join(test_dataset_path, idx_key + '.3.wav')
84 | cond_track_a = os.path.join(test_dataset_path, idx_key + '.1.wav')
85 | cond_track_b = os.path.join(test_dataset_path, idx_key + '.2.wav')
86 | if conversion_type == 1:
87 | gt_track = os.path.join(test_dataset_path, idx_key + '.0.wav')
88 | cond_track_a = os.path.join(test_dataset_path, idx_key + '.4.wav')
89 | cond_track_b = os.path.join(test_dataset_path, idx_key + '.5.wav')
90 |
91 | est_audio_a, _, _, _= audio_utils.get_audio_track_diff_norm(
92 | cond_track_path=cond_track_a,
93 | checkpoint_path=checkpoint_path_a,
94 | model=model_a,
95 | diff_steps=diff_steps)
96 |
97 | est_audio_b, _, _, _ = audio_utils.get_audio_track_diff_norm(
98 | cond_track_path=cond_track_b,
99 | checkpoint_path=checkpoint_path_b,
100 | model=model_b,
101 | diff_steps=diff_steps)
102 |
103 | # Do the mixing
104 | est_audio = (est_audio_a + est_audio_b)/2.0
105 |
106 | # Write Audio MIX
107 | audio_encoded = tf.audio.encode_wav(
108 | tf.transpose(est_audio), params.SAMPLE_RATE, name=None
109 | )
110 | write_file_op = tf.io.write_file(track_est_path, audio_encoded)
111 |
112 | # Write Audio single tracks
113 | final_folder_individual = 'separate_model_individual_tracks'
114 | if conversion_type == 0:
115 | track_name_a = idx_key + '.4.wav'
116 | track_name_b = idx_key + '.5.wav'
117 |
118 | if conversion_type == 1:
119 | track_name_a = idx_key + '.1.wav'
120 | track_name_b = idx_key + '.2.wav'
121 | track_est_path_a = os.path.join(est_folder, final_folder_individual, track_name_a)
122 | track_est_path_b = os.path.join(est_folder, final_folder_individual, track_name_b)
123 |
124 | audio_encoded_a = tf.audio.encode_wav(
125 | tf.transpose(est_audio_a), params.SAMPLE_RATE, name=None
126 | )
127 | write_file_op_a = tf.io.write_file(track_est_path_a, audio_encoded_a)
128 | audio_encoded_b = tf.audio.encode_wav(
129 | tf.transpose(est_audio_b), params.SAMPLE_RATE, name=None
130 | )
131 | write_file_op_b = tf.io.write_file(track_est_path_b, audio_encoded_b)
132 |
133 |
134 | if __name__=='__main__':
135 | main()
--------------------------------------------------------------------------------
/compute_frechet.py:
--------------------------------------------------------------------------------
1 | from frechet_audio_distance import FrechetAudioDistance
2 |
3 | frechet = FrechetAudioDistance(
4 | use_pca=False,
5 | use_activation=False,
6 | verbose=False
7 | )
8 |
9 | model_types = ['separate_model_individual_tracks','separate_model','mixture_model']
10 | gt_dataset = "/nas/home/lcomanducci/music_txt/dataset/starnet/starnet_reduced"
11 | for i in range(len(model_types)):
12 | fad_score_diff = frechet.score(gt_dataset, "/nas/home/lcomanducci/music_txt/eval/est_diffusion/"+model_types[i])
13 | fad_score_ms = frechet.score(gt_dataset, "/nas/home/lcomanducci/music_txt/eval/est_music_net/"+model_types[i])
14 | print('Model: '+model_types[i]+' FAD diffusion: '+str(fad_score_diff)+' FAD musicstar: '+str(fad_score_ms))
15 |
16 |
17 |
--------------------------------------------------------------------------------
/compute_jaccard.py:
--------------------------------------------------------------------------------
1 | """
2 | Taken from https://github.com/mahshidaln/Music-STAR/blob/ad23e9f9f18e8872d5e94d71c58fb72ade95c9b1/evaluation/pitch.py
3 | """
4 |
5 |
6 | import os
7 | import sys
8 | import librosa
9 | import numpy as np
10 | import pretty_midi
11 | from tqdm import tqdm
12 | SR = 16000
13 | import essentia.standard as estd
14 |
15 |
16 |
17 |
18 | MFCC_KWARGS = dict(
19 | n_mfcc=26,
20 | hop_length=500
21 | )
22 |
23 |
24 | def get_pitches(audio):
25 | pitches = estd.MultiPitchMelodia(sampleRate=SR)(audio)
26 | pitches = [[pretty_midi.utilities.hz_to_note_number(p) for p in pl if not np.isclose(0, p)]
27 | for pl in pitches]
28 | pitches = [[int(p + 0.5) for p in pl] for pl in pitches]
29 | return pitches
30 |
31 |
32 | def pitch_jaccard(output, reference):
33 | pitches_output, pitches_reference = get_pitches(output), get_pitches(reference)
34 | assert len(pitches_output) == len(pitches_reference)
35 | jaccard = []
36 | for pl_output, pl_reference in zip(pitches_output, pitches_reference):
37 | matches = len(set(pl_output) & set(pl_reference))
38 | total = len(set(pl_output) | set(pl_reference))
39 | if total == 0:
40 | jaccard.append(0)
41 | else:
42 | jaccard.append(1 - matches / total)
43 | jaccard = np.mean(jaccard)
44 | return jaccard
45 |
46 | def normalize_audio(audio):
47 | audio = audio - audio.min()
48 | audio = audio/audio.max()
49 | audio = (audio*2)-1
50 | return audio
51 |
52 | def main():
53 | top = 'samples'
54 | ref_dir = '/nas/home/lcomanducci/music_txt/eval/music_star_test'
55 | diff_dir = '/nas/home/lcomanducci/music_txt/eval/est_diffusion'
56 | music_net_dir = '/nas/home/lcomanducci/music_txt/eval/est_music_net'
57 |
58 | model_types = ['separate_model_individual_tracks', 'separate_model', 'mixture_model']
59 |
60 | for i in range(len(model_types)):
61 | track_names = os.listdir(os.path.join(diff_dir,model_types[i]))
62 | N_tracks = len(track_names)
63 | jaccard_array_diff = np.zeros(N_tracks)
64 | jaccard_array_music_net = np.zeros(N_tracks)
65 |
66 | for n_t in tqdm(range(N_tracks)):
67 | #print(track_names[i])
68 | outa_diff, _ = librosa.load(os.path.join(diff_dir,model_types[i],track_names[n_t]), SR)
69 | #print(os.path.join(diff_dir,model_types[i],track_names[n_t]))
70 | outa_music_net, _ = librosa.load(os.path.join(music_net_dir,model_types[i],track_names[n_t]), SR)
71 | # print(os.path.join(music_net_dir,model_types[i],track_names[n_t]))
72 |
73 | outa_diff, outa_music_net = normalize_audio(outa_diff), normalize_audio(outa_music_net)
74 | refa, _ = librosa.load(os.path.join(ref_dir,track_names[n_t]), SR)
75 | refa = normalize_audio(refa)#-np.mean(refa)
76 | jaccard_array_diff[n_t] = pitch_jaccard(outa_diff, refa)
77 | jaccard_array_music_net[n_t] = pitch_jaccard(outa_music_net, refa)
78 | print('Model: ' + model_types[i] + ' Jaccard diffusion: ' + str(np.mean(jaccard_array_diff)) + ' Jaccard musicstar: ' + str(np.mean(jaccard_array_music_net)))
79 |
80 | if __name__ == "__main__":
81 | main()
--------------------------------------------------------------------------------
/compute_listening_test_results.py:
--------------------------------------------------------------------------------
1 | import pandas as pd
2 | import numpy as np
3 | #header = ['session_test_id,session_uuid,trial_id,rating_stimulus,rating_score,rating_time,rating_comment']
4 | results = pd.read_csv('eval/listening_test_results.csv',delimiter = ',')
5 | N_participants = len(set(results['session_uuid']))
6 | Ids = list(set(results['session_uuid']))
7 | print(str(N_participants)+' Participants')
8 | print('')
9 |
10 | # Single test
11 | n_tracks = 4
12 | results_c1 = np.zeros((N_participants,n_tracks))
13 | results_c2 = np.zeros((N_participants,n_tracks))
14 | for n_p in range(N_participants):
15 | result_participant = results[results['session_uuid']==Ids[n_p]]
16 | for i in range(n_tracks):
17 | result_trials = result_participant[result_participant['trial_id']=='track'+str(i+1)+'_single']
18 | results_c1[n_p,i] = result_trials[result_trials['rating_stimulus']=='C1']['rating_score']
19 | results_c2[n_p, i] = result_trials[result_trials['rating_stimulus'] == 'C2']['rating_score']
20 | print('Single Instruments')
21 | print('Diff rating: '+str(np.mean(results_c1)))
22 | print('Universal Net rating: '+str(np.mean(results_c2)))
23 |
24 |
25 | # Multi test
26 | n_tracks = 4
27 | results_c1_multi = np.zeros((N_participants,n_tracks))
28 | results_c2_multi = np.zeros((N_participants,n_tracks))
29 | results_c3_multi = np.zeros((N_participants,n_tracks))
30 | results_c4_multi = np.zeros((N_participants,n_tracks))
31 | for n_p in range(N_participants):
32 | result_participant = results[results['session_uuid']==Ids[n_p]]
33 | for i in range(n_tracks):
34 | result_trials = result_participant[result_participant['trial_id']=='track'+str(i+5)+'_multi']
35 | results_c1_multi[n_p,i] = result_trials[result_trials['rating_stimulus']=='C1']['rating_score']
36 | results_c2_multi[n_p, i] = result_trials[result_trials['rating_stimulus'] == 'C2']['rating_score']
37 | results_c3_multi[n_p,i] = result_trials[result_trials['rating_stimulus']=='C3']['rating_score']
38 | results_c4_multi[n_p, i] = result_trials[result_trials['rating_stimulus'] == 'C4']['rating_score']
39 |
40 | print('')
41 | print('Multi Instruments')
42 | print('Diff (Separate) rating: '+str(np.mean(results_c1_multi)))
43 | print('Universal Net rating: '+str(np.mean(results_c2_multi)))
44 | print('Diff (Mix) rating: '+str(np.mean(results_c3_multi)))
45 | print('MusicStar: '+str(np.mean(results_c4_multi)))
46 |
47 |
48 |
--------------------------------------------------------------------------------
/docs/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
2 | title: DiffTransfer
3 | description:
4 | show_downloads: True
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/001.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/001.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/001.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/001.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/002.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/002.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/002.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/002.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/003.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/003.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/003.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/003.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/004.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/004.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/004.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/004.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/005.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/005.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/005.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/005.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/006.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/006.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/006.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/006.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/007.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/007.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/007.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/007.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/008.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/008.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/008.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/008.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/009.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/009.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/009.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/009.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/010.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/010.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/mixture_model/010.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/mixture_model/010.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/001.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/001.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/001.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/001.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/002.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/002.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/002.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/002.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/003.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/003.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/003.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/003.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/004.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/004.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/004.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/004.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/005.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/005.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/005.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/005.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/006.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/006.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/006.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/006.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/007.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/007.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/007.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/007.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/008.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/008.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/008.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/008.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/009.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/009.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/009.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/009.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/010.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/010.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model/010.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model/010.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/001.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/001.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/001.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/001.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/001.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/001.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/001.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/001.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/002.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/002.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/002.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/002.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/002.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/002.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/002.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/002.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/003.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/003.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/003.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/003.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/003.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/003.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/003.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/003.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/004.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/004.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/004.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/004.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/004.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/004.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/004.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/004.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/005.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/005.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/005.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/005.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/005.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/005.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/005.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/005.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/006.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/006.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/006.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/006.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/006.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/006.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/006.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/006.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/007.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/007.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/007.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/007.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/007.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/007.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/007.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/007.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/008.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/008.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/008.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/008.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/008.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/008.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/008.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/008.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/009.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/009.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/009.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/009.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/009.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/009.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/009.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/009.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/010.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/010.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/010.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/010.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/010.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/010.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_diffusion/separate_model_individual_tracks/010.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_diffusion/separate_model_individual_tracks/010.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/001.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/001.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/001.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/001.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/002.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/002.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/002.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/002.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/003.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/003.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/003.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/003.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/004.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/004.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/004.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/004.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/005.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/005.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/005.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/005.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/006.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/006.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/006.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/006.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/007.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/007.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/007.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/007.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/008.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/008.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/008.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/008.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/009.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/009.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/009.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/009.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/010.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/010.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/mixture_model/010.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/mixture_model/010.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/001.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/001.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/001.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/001.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/002.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/002.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/002.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/002.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/003.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/003.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/003.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/003.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/004.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/004.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/004.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/004.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/005.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/005.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/005.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/005.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/006.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/006.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/006.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/006.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/007.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/007.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/007.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/007.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/008.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/008.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/008.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/008.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/009.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/009.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/009.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/009.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/010.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/010.0.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model/010.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model/010.3.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/001.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/001.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/001.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/001.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/001.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/001.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/001.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/001.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/002.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/002.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/002.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/002.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/002.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/002.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/002.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/002.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/003.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/003.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/003.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/003.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/003.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/003.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/003.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/003.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/004.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/004.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/004.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/004.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/004.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/004.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/004.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/004.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/005.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/005.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/005.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/005.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/005.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/005.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/005.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/005.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/006.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/006.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/006.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/006.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/006.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/006.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/006.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/006.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/007.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/007.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/007.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/007.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/007.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/007.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/007.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/007.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/008.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/008.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/008.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/008.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/008.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/008.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/008.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/008.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/009.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/009.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/009.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/009.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/009.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/009.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/009.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/009.5.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/010.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/010.1.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/010.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/010.2.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/010.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/010.4.wav
--------------------------------------------------------------------------------
/docs/audio/est_music_net/separate_model_individual_tracks/010.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/est_music_net/separate_model_individual_tracks/010.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/001.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/001.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.6.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.6.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/002.7.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/002.7.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/003.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/003.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/004.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/004.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/005.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/005.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/006.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/006.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/007.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/007.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/008.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/008.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/009.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/009.5.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.0.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.0.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.1.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.1.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.2.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.3.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.3.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.4.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.4.wav
--------------------------------------------------------------------------------
/docs/audio/music_star_test/010.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lucacoma/DiffTransfer/d546b412546a963d1c32be357ea54c1919653da2/docs/audio/music_star_test/010.5.wav
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: DiffTransfer
3 | ---
4 |
5 |
6 | # Multi Instrument timbre transfer (mixture)
7 |
8 | ## Clarinet/Vibraphone to Piano/Strings
9 |
10 | |Name| Input Mixture | DiffTransfer | Music-STAR| Ground Truth|
11 | |---|---|---|---|---|
12 | | Pirates of The Carribean | | | | |
13 | | My Heart Will Go On | | | | |
14 | | Beethoven's String | | | | |
15 |
16 |
17 | ## Piano/Strings to Clarinet/Vibraphone
18 |
19 | |Name| Input Mixture | DiffTransfer | Music-STAR| Ground Truth|
20 | |---|---|---|---|---|
21 | | Pirates of The Carribean | | | | |
22 | | My Heart Will Go On | | | | |
23 | | Beethoven's String | | | | |
24 |
25 | # Multi Instrument timbre transfer (single and single/mix)
26 |
27 | ## Clarinet/Vibraphone to Strings/Piano
28 |
29 | Clarinet to Strings
30 |
31 | |Name| Input Clarinet | DiffTransfer | Universal Network| Ground Truth Strings|
32 | |---|---|---|---|---|
33 | | Pirates of The Carribean | | | | |
34 | | My Heart Will Go On | | | | |
35 | | Beethoven's String | | | | |
36 |
37 | Vibraphone to Piano
38 |
39 | |Name| Input Vibraphone | DiffTransfer | Universal Network| Ground Truth Piano|
40 | |---|---|---|---|---|
41 | | Pirates of The Carribean | | | | |
42 | | My Heart Will Go On | | | | |
43 | | Beethoven's String | | | | |
44 |
45 | Clarinet/Vibraphone to Piano/Strings (single/mix)
46 |
47 | |Name| DiffTransfer | Universal Network| Ground Truth Piano/Strings|
48 | |---|---|---|---|
49 | | Pirates of The Carribean | | | |
50 | | My Heart Will Go On | | | |
51 | | Beethoven's String | | | |
52 |
53 |
--------------------------------------------------------------------------------
/eval/listening_test_results.csv:
--------------------------------------------------------------------------------
1 | session_test_id,session_uuid,trial_id,rating_stimulus,rating_score,rating_time,rating_comment
2 |
3 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track2_single,C1,5,66082,
4 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track2_single,C2,4,66082,
5 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track4_single,C1,3,55354,
6 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track4_single,C2,1,55354,
7 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track3_single,C1,4,48922,
8 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track3_single,C2,1,48922,
9 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track1_single,C2,3,19946,
10 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track1_single,C1,5,19946,
11 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track7_multi,C4,4,24234,
12 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track7_multi,C3,3,24234,
13 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track7_multi,C1,5,24234,
14 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track7_multi,C2,5,24234,
15 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track5_multi,C2,3,21367,
16 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track5_multi,C1,4,21367,
17 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track5_multi,C4,5,21367,
18 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track5_multi,C3,5,21367,
19 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track8_multi,C1,4,20356,
20 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track8_multi,C3,4,20356,
21 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track8_multi,C2,5,20356,
22 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track8_multi,C4,5,20356,
23 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track6_multi,C4,5,28180,
24 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track6_multi,C2,2,28180,
25 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track6_multi,C1,5,28180,
26 | timbre_transfer,f38152e2-600f-425f-a708-7b08f4fd317e,track6_multi,C3,5,28180,
27 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track2_single,C1,3,89578,
28 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track2_single,C2,1,89578,
29 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track4_single,C1,4,118418,
30 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track4_single,C2,1,118418,
31 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track3_single,C1,4,37838,
32 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track3_single,C2,1,37838,
33 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track1_single,C2,1,46380,
34 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track1_single,C1,3,46380,
35 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track6_multi,C4,4,77174,
36 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track6_multi,C2,1,77174,
37 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track6_multi,C1,3,77174,
38 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track6_multi,C3,4,77174,
39 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track8_multi,C1,4,57287,
40 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track8_multi,C3,4,57287,
41 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track8_multi,C2,3,57287,
42 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track8_multi,C4,2,57287,
43 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track5_multi,C2,2,54821,
44 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track5_multi,C1,4,54821,
45 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track5_multi,C4,2,54821,
46 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track5_multi,C3,3,54821,
47 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track7_multi,C4,4,65397,
48 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track7_multi,C3,3,65397,
49 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track7_multi,C1,3,65397,
50 | timbre_transfer,d56a3360-f64b-4eef-b837-4c93f59f0460,track7_multi,C2,1,65397,
51 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track2_single,C1,3,90012,
52 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track2_single,C2,1,90012,
53 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track1_single,C2,1,49949,
54 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track1_single,C1,4,49949,
55 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track3_single,C1,3,84730,
56 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track3_single,C2,1,84730,
57 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track4_single,C1,3,33495,
58 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track4_single,C2,1,33495,
59 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track7_multi,C4,2,121595,
60 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track7_multi,C3,3,121595,
61 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track7_multi,C1,5,121595,
62 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track7_multi,C2,1,121595,
63 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track8_multi,C1,3,201751,
64 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track8_multi,C3,4,201751,
65 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track8_multi,C2,1,201751,
66 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track8_multi,C4,2,201751,
67 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track6_multi,C4,3,100789,
68 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track6_multi,C2,1,100789,
69 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track6_multi,C1,5,100789,
70 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track6_multi,C3,3,100789,
71 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track5_multi,C2,1,122497,
72 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track5_multi,C1,4,122497,
73 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track5_multi,C4,1,122497,
74 | timbre_transfer,2e089deb-24c6-4367-b917-036de07ffa5f,track5_multi,C3,5,122497,
75 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track2_single,C1,2,42332,
76 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track2_single,C2,2,42332,
77 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track4_single,C1,3,32343,
78 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track4_single,C2,1,32343,
79 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track1_single,C2,1,29738,
80 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track1_single,C1,3,29738,
81 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track3_single,C1,3,23306,
82 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track3_single,C2,1,23306,
83 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track8_multi,C1,2,38546,
84 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track8_multi,C3,3,38546,
85 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track8_multi,C2,1,38546,
86 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track8_multi,C4,1,38546,
87 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track5_multi,C2,2,54656,
88 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track5_multi,C1,3,54656,
89 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track5_multi,C4,1,54656,
90 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track5_multi,C3,4,54656,
91 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track7_multi,C4,2,34157,
92 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track7_multi,C3,2,34157,
93 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track7_multi,C1,3,34157,
94 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track7_multi,C2,1,34157,
95 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track6_multi,C4,2,35438,
96 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track6_multi,C2,1,35438,
97 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track6_multi,C1,3,35438,
98 | timbre_transfer,e8c7c12c-b4d2-4ddd-8984-c37902177239,track6_multi,C3,1,35438,
99 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track4_single,C1,3,57913,
100 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track4_single,C2,1,57913,
101 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track1_single,C2,3,24588,
102 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track1_single,C1,4,24588,
103 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track2_single,C1,4,19070,
104 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track2_single,C2,3,19070,
105 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track3_single,C1,5,30161,
106 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track3_single,C2,2,30161,
107 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track8_multi,C1,3,98098,
108 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track8_multi,C3,5,98098,
109 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track8_multi,C2,3,98098,
110 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track8_multi,C4,2,98098,
111 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track7_multi,C4,4,46268,
112 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track7_multi,C3,4,46268,
113 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track7_multi,C1,5,46268,
114 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track7_multi,C2,1,46268,
115 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track6_multi,C4,3,35236,
116 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track6_multi,C2,1,35236,
117 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track6_multi,C1,5,35236,
118 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track6_multi,C3,5,35236,
119 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track5_multi,C2,2,36002,
120 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track5_multi,C1,5,36002,
121 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track5_multi,C4,4,36002,
122 | timbre_transfer,7a7705ec-a64e-4150-84b7-b443f2cc7602,track5_multi,C3,5,36002,
123 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track2_single,C1,5,72576,
124 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track2_single,C2,3,72576,
125 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track3_single,C1,4,48419,
126 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track3_single,C2,1,48419,
127 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track4_single,C1,2,59403,
128 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track4_single,C2,1,59403,
129 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track1_single,C2,2,60608,
130 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track1_single,C1,5,60608,
131 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track6_multi,C4,3,74408,
132 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track6_multi,C2,1,74408,
133 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track6_multi,C1,5,74408,
134 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track6_multi,C3,4,74408,
135 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track5_multi,C2,1,59234,
136 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track5_multi,C1,5,59234,
137 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track5_multi,C4,3,59234,
138 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track5_multi,C3,4,59234,
139 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track7_multi,C4,3,82590,
140 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track7_multi,C3,4,82590,
141 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track7_multi,C1,5,82590,
142 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track7_multi,C2,1,82590,
143 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track8_multi,C1,4,83245,
144 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track8_multi,C3,5,83245,
145 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track8_multi,C2,2,83245,
146 | timbre_transfer,b61a4f90-cad9-4e83-8bb8-6446936236bd,track8_multi,C4,3,83245,
147 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track2_single,C1,3,46005,
148 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track2_single,C2,2,46005,
149 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track4_single,C1,4,19253,
150 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track4_single,C2,2,19253,
151 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track1_single,C2,3,20343,
152 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track1_single,C1,5,20343,
153 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track3_single,C1,4,11994,
154 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track3_single,C2,2,11994,
155 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track6_multi,C4,2,60348,
156 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track6_multi,C2,1,60348,
157 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track6_multi,C1,5,60348,
158 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track6_multi,C3,3,60348,
159 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track8_multi,C1,3,45511,
160 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track8_multi,C3,4,45511,
161 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track8_multi,C2,1,45511,
162 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track8_multi,C4,2,45511,
163 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track7_multi,C4,2,44469,
164 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track7_multi,C3,4,44469,
165 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track7_multi,C1,4,44469,
166 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track7_multi,C2,1,44469,
167 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track5_multi,C2,1,20182,
168 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track5_multi,C1,5,20182,
169 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track5_multi,C4,2,20182,
170 | timbre_transfer,34fbc033-2334-47cd-a451-50dfea15aa40,track5_multi,C3,4,20182,
171 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track4_single,C1,4,43141,
172 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track4_single,C2,2,43141,
173 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track3_single,C1,4,32934,
174 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track3_single,C2,4,32934,
175 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track2_single,C1,3,37028,
176 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track2_single,C2,5,37028,
177 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track1_single,C2,2,30125,
178 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track1_single,C1,5,30125,
179 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track5_multi,C2,3,41601,
180 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track5_multi,C1,5,41601,
181 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track5_multi,C4,3,41601,
182 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track5_multi,C3,5,41601,
183 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track6_multi,C4,4,28628,
184 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track6_multi,C2,2,28628,
185 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track6_multi,C1,4,28628,
186 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track6_multi,C3,4,28628,
187 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track8_multi,C1,4,42347,
188 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track8_multi,C3,4,42347,
189 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track8_multi,C2,3,42347,
190 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track8_multi,C4,4,42347,
191 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track7_multi,C4,4,42758,
192 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track7_multi,C3,4,42758,
193 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track7_multi,C1,5,42758,
194 | timbre_transfer,a322bb2b-3de9-4605-b915-b20de1f59ee4,track7_multi,C2,1,42758,
195 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track4_single,C1,2,23761,
196 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track4_single,C2,1,23761,
197 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track3_single,C1,3,20067,
198 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track3_single,C2,2,20067,
199 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track1_single,C2,1,23190,
200 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track1_single,C1,4,23190,
201 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track2_single,C1,3,17661,
202 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track2_single,C2,2,17661,
203 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track6_multi,C4,2,36867,
204 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track6_multi,C2,1,36867,
205 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track6_multi,C1,3,36867,
206 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track6_multi,C3,3,36867,
207 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track5_multi,C2,2,41411,
208 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track5_multi,C1,4,41411,
209 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track5_multi,C4,2,41411,
210 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track5_multi,C3,5,41411,
211 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track8_multi,C1,2,40143,
212 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track8_multi,C3,3,40143,
213 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track8_multi,C2,2,40143,
214 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track8_multi,C4,3,40143,
215 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track7_multi,C4,2,39222,
216 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track7_multi,C3,3,39222,
217 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track7_multi,C1,3,39222,
218 | timbre_transfer,f28b4b96-e3ec-4e1f-9a46-579a8b3a2484,track7_multi,C2,1,39222,
219 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track4_single,C1,3,86634,
220 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track4_single,C2,2,86634,
221 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track2_single,C1,4,41909,
222 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track2_single,C2,2,41909,
223 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track3_single,C1,4,43083,
224 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track3_single,C2,2,43083,
225 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track1_single,C2,2,43373,
226 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track1_single,C1,4,43373,
227 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track7_multi,C4,2,54967,
228 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track7_multi,C3,2,54967,
229 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track7_multi,C1,3,54967,
230 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track7_multi,C2,1,54967,
231 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track5_multi,C2,2,54301,
232 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track5_multi,C1,4,54301,
233 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track5_multi,C4,3,54301,
234 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track5_multi,C3,4,54301,
235 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track8_multi,C1,2,50700,
236 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track8_multi,C3,3,50700,
237 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track8_multi,C2,2,50700,
238 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track8_multi,C4,2,50700,
239 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track6_multi,C4,3,46294,
240 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track6_multi,C2,2,46294,
241 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track6_multi,C1,4,46294,
242 | timbre_transfer,bbdbd90a-7758-4a88-8d14-396453d62332,track6_multi,C3,4,46294,
243 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track2_single,C1,4,20954,
244 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track2_single,C2,2,20954,
245 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track3_single,C1,4,29574,
246 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track3_single,C2,2,29574,
247 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track1_single,C2,1,16943,
248 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track1_single,C1,5,16943,
249 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track4_single,C1,4,18691,
250 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track4_single,C2,1,18691,
251 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track6_multi,C4,4,30730,
252 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track6_multi,C2,1,30730,
253 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track6_multi,C1,3,30730,
254 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track6_multi,C3,3,30730,
255 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track8_multi,C1,3,37442,
256 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track8_multi,C3,5,37442,
257 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track8_multi,C2,2,37442,
258 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track8_multi,C4,4,37442,
259 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track7_multi,C4,4,26693,
260 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track7_multi,C3,4,26693,
261 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track7_multi,C1,4,26693,
262 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track7_multi,C2,1,26693,
263 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track5_multi,C2,2,21227,
264 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track5_multi,C1,5,21227,
265 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track5_multi,C4,3,21227,
266 | timbre_transfer,3f8183b4-fce3-4a2a-a0fb-fa4b7647dde8,track5_multi,C3,4,21227,
267 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track3_single,C1,4,48480,
268 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track3_single,C2,3,48480,
269 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track4_single,C1,4,31105,
270 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track4_single,C2,2,31105,
271 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track2_single,C1,4,34029,
272 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track2_single,C2,3,34029,
273 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track1_single,C2,2,37075,
274 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track1_single,C1,5,37075,
275 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track5_multi,C2,1,50256,
276 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track5_multi,C1,5,50256,
277 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track5_multi,C4,2,50256,
278 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track5_multi,C3,4,50256,
279 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track8_multi,C1,2,49070,
280 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track8_multi,C3,4,49070,
281 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track8_multi,C2,2,49070,
282 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track8_multi,C4,3,49070,
283 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track7_multi,C4,2,49402,
284 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track7_multi,C3,4,49402,
285 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track7_multi,C1,5,49402,
286 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track7_multi,C2,1,49402,
287 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track6_multi,C4,4,120138,
288 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track6_multi,C2,2,120138,
289 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track6_multi,C1,5,120138,
290 | timbre_transfer,ceee3929-8863-4638-bf81-b9628bec628f,track6_multi,C3,4,120138,
291 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track4_single,C1,3,56306,
292 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track4_single,C2,2,56306,
293 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track1_single,C2,1,36949,
294 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track1_single,C1,4,36949,
295 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track3_single,C1,3,27591,
296 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track3_single,C2,1,27591,
297 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track2_single,C1,3,25376,
298 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track2_single,C2,2,25376,
299 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track6_multi,C4,3,49325,
300 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track6_multi,C2,1,49325,
301 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track6_multi,C1,2,49325,
302 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track6_multi,C3,3,49325,
303 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track8_multi,C1,3,33390,
304 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track8_multi,C3,3,33390,
305 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track8_multi,C2,2,33390,
306 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track8_multi,C4,2,33390,
307 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track5_multi,C2,1,39940,
308 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track5_multi,C1,4,39940,
309 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track5_multi,C4,2,39940,
310 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track5_multi,C3,4,39940,
311 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track7_multi,C4,3,34397,
312 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track7_multi,C3,4,34397,
313 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track7_multi,C1,4,34397,
314 | timbre_transfer,6ec86268-4725-4514-998e-c3ea73f79a4b,track7_multi,C2,1,34397,
315 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track4_single,C1,3,78908,
316 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track4_single,C2,1,78908,
317 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track2_single,C1,3,95135,
318 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track2_single,C2,2,95135,
319 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track1_single,C2,1,44690,
320 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track1_single,C1,2,44690,
321 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track3_single,C1,4,45949,
322 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track3_single,C2,1,45949,
323 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track5_multi,C2,2,60006,
324 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track5_multi,C1,4,60006,
325 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track5_multi,C4,3,60006,
326 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track5_multi,C3,5,60006,
327 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track8_multi,C1,3,88956,
328 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track8_multi,C3,5,88956,
329 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track8_multi,C2,3,88956,
330 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track8_multi,C4,3,88956,
331 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track7_multi,C4,4,65247,
332 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track7_multi,C3,3,65247,
333 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track7_multi,C1,5,65247,
334 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track7_multi,C2,1,65247,
335 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track6_multi,C4,4,127285,
336 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track6_multi,C2,1,127285,
337 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track6_multi,C1,2,127285,
338 | timbre_transfer,fc6dfb94-df08-41d9-98e9-f3b65f12c662,track6_multi,C3,3,127285,
339 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track1_single,C2,1,54388,
340 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track1_single,C1,4,54388,
341 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track2_single,C1,3,60869,
342 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track2_single,C2,4,60869,
343 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track4_single,C1,5,34502,
344 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track4_single,C2,1,34502,
345 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track3_single,C1,4,33481,
346 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track3_single,C2,2,33481,
347 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track7_multi,C4,3,53492,
348 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track7_multi,C3,4,53492,
349 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track7_multi,C1,5,53492,
350 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track7_multi,C2,1,53492,
351 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track8_multi,C1,3,59989,
352 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track8_multi,C3,4,59989,
353 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track8_multi,C2,2,59989,
354 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track8_multi,C4,3,59989,
355 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track6_multi,C4,4,54467,
356 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track6_multi,C2,1,54467,
357 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track6_multi,C1,5,54467,
358 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track6_multi,C3,4,54467,
359 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track5_multi,C2,1,71947,
360 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track5_multi,C1,5,71947,
361 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track5_multi,C4,2,71947,
362 | timbre_transfer,8e879c18-59af-4cf7-97e6-fd4a3233878d,track5_multi,C3,5,71947,
363 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track2_single,C1,2,23973,
364 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track2_single,C2,4,23973,
365 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track1_single,C2,1,15012,
366 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track1_single,C1,4,15012,
367 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track3_single,C1,3,16867,
368 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track3_single,C2,1,16867,
369 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track4_single,C1,3,22241,
370 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track4_single,C2,1,22241,
371 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track7_multi,C4,3,21410,
372 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track7_multi,C3,2,21410,
373 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track7_multi,C1,3,21410,
374 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track7_multi,C2,1,21410,
375 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track8_multi,C1,2,20735,
376 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track8_multi,C3,4,20735,
377 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track8_multi,C2,3,20735,
378 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track8_multi,C4,2,20735,
379 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track5_multi,C2,1,16574,
380 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track5_multi,C1,4,16574,
381 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track5_multi,C4,2,16574,
382 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track5_multi,C3,3,16574,
383 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track6_multi,C4,3,17782,
384 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track6_multi,C2,1,17782,
385 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track6_multi,C1,3,17782,
386 | timbre_transfer,e136d492-4e79-4f7e-8a8a-5e021d3657ec,track6_multi,C3,3,17782,
387 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track1_single,C2,1,23316,
388 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track1_single,C1,4,23316,
389 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track3_single,C1,4,31769,
390 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track3_single,C2,1,31769,
391 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track4_single,C1,2,26036,
392 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track4_single,C2,1,26036,
393 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track2_single,C1,4,14819,
394 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track2_single,C2,4,14819,
395 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track7_multi,C4,2,28332,
396 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track7_multi,C3,4,28332,
397 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track7_multi,C1,4,28332,
398 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track7_multi,C2,1,28332,
399 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track8_multi,C1,3,29057,
400 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track8_multi,C3,4,29057,
401 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track8_multi,C2,4,29057,
402 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track8_multi,C4,5,29057,
403 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track6_multi,C4,4,19373,
404 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track6_multi,C2,1,19373,
405 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track6_multi,C1,2,19373,
406 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track6_multi,C3,4,19373,
407 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track5_multi,C2,3,19176,
408 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track5_multi,C1,4,19176,
409 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track5_multi,C4,2,19176,
410 | timbre_transfer,d3b43934-651d-4988-a8d2-03f9b0a31166,track5_multi,C3,4,19176,
411 |
--------------------------------------------------------------------------------
/network_lib_attention.py:
--------------------------------------------------------------------------------
1 | """Partially taken code from https://github.com/keras-team/keras-io/blob/master/examples/generative/ddim.py"""
2 |
3 | import math
4 | import matplotlib.pyplot as plt
5 | import tensorflow as tf
6 | import tensorflow_hub as hub
7 | import params
8 | from tensorflow import keras
9 | from keras import layers
10 | import io
11 | tf.config.list_physical_devices('GPU')
12 | # SoundStream Spectrogram Inverter (Stuff stolen from https://storage.googleapis.com/music-synthesis-with-spectrogram-diffusion/index.html) and https://tfhub.dev/google/soundstream/mel/decoder/music/1
13 | module = hub.KerasLayer('https://tfhub.dev/google/soundstream/mel/decoder/music/1')
14 |
15 | do_norm_specs = True
16 | do_normalization = False
17 | # data
18 | dataset_repetitions = 5
19 | num_epochs = 1 # train for at least 50 epochs for good results
20 | # KID = Kernel Inception Distance, see related section
21 | kid_image_size = 75
22 | kid_diffusion_steps = 5
23 | plot_diffusion_steps = 20
24 |
25 | # sampling
26 | min_signal_rate = 0.02
27 | max_signal_rate = 0.95
28 |
29 | # architecture
30 | embedding_dims = 32
31 | embedding_max_frequency = 1000.0
32 |
33 |
34 |
35 |
36 |
37 | def plot_to_image(figure):
38 | """Converts the matplotlib plot specified by 'figure' to a PNG image and
39 | returns it. The supplied figure is closed and inaccessible after this call."""
40 | # Save the plot to a PNG in memory.
41 | buf = io.BytesIO()
42 | plt.savefig(buf, format='png')
43 | # Closing the figure prevents it from being displayed directly inside
44 | # the notebook.
45 | plt.close(figure)
46 | buf.seek(0)
47 | # Convert PNG buffer to TF image
48 | image = tf.image.decode_png(buf.getvalue(), channels=4)
49 | # Add the batch dimension
50 | image = tf.expand_dims(image, 0)
51 | return image
52 | def denorm_tensor(audio, max_val=6,min_val=-12):
53 | max_val = 6
54 | min_val = -12
55 | #return(audio - min_val)/(max_val-min_val)
56 | #return(audio - min_val)/(max_val-min_val)
57 | #return (((audio +1)/2)*max_val + min_val)
58 | return (audio * (max_val-min_val))+min_val
59 |
60 |
61 | # optimization
62 | ema = 0.999
63 | #learning_rate = 1e-3
64 | weight_decay = 1e-4
65 | N_IMG_CHANNELS = 1 #3
66 | COND_IMG_CHANNELS=2
67 |
68 | def kernel_init(scale):
69 | scale = max(scale, 1e-10)
70 | return keras.initializers.VarianceScaling(
71 | scale, mode="fan_avg", distribution="uniform"
72 | )
73 |
74 | class AttentionBlock(layers.Layer):
75 | """Applies self-attention.
76 |
77 | Args:
78 | units: Number of units in the dense layers
79 | groups: Number of groups to be used for GroupNormalization layer
80 | """
81 |
82 | def __init__(self, units, groups=8, **kwargs):
83 | self.units = units
84 | self.groups = groups
85 | super().__init__(**kwargs)
86 |
87 | self.norm = layers.GroupNormalization(groups=groups)
88 | self.query = layers.Dense(units, kernel_initializer=kernel_init(1.0))
89 | self.key = layers.Dense(units, kernel_initializer=kernel_init(1.0))
90 | self.value = layers.Dense(units, kernel_initializer=kernel_init(1.0))
91 | self.proj = layers.Dense(units, kernel_initializer=kernel_init(0.0))
92 |
93 | def call(self, inputs):
94 | batch_size = tf.shape(inputs)[0]
95 | height = tf.shape(inputs)[1]
96 | width = tf.shape(inputs)[2]
97 | scale = tf.cast(self.units, tf.float32) ** (-0.5)
98 |
99 | inputs = self.norm(inputs)
100 | q = self.query(inputs)
101 | k = self.key(inputs)
102 | v = self.value(inputs)
103 |
104 | attn_score = tf.einsum("bhwc, bHWc->bhwHW", q, k) * scale
105 | attn_score = tf.reshape(attn_score, [batch_size, height, width, height * width])
106 |
107 | attn_score = tf.nn.softmax(attn_score, -1)
108 | attn_score = tf.reshape(attn_score, [batch_size, height, width, height, width])
109 |
110 | proj = tf.einsum("bhwHW,bHWc->bhwc", attn_score, v)
111 | proj = self.proj(proj)
112 | return inputs + proj
113 |
114 |
115 | def sinusoidal_embedding(x):
116 | embedding_min_frequency = 1.0
117 | frequencies = tf.exp(
118 | tf.linspace(
119 | tf.math.log(embedding_min_frequency),
120 | tf.math.log(embedding_max_frequency),
121 | embedding_dims // 2,
122 | )
123 | )
124 | angular_speeds = 2.0 * math.pi * frequencies
125 | embeddings = tf.concat(
126 | [tf.sin(angular_speeds * x), tf.cos(angular_speeds * x)], axis=3
127 | )
128 | return embeddings
129 |
130 | def ResidualBlock(width):
131 | def apply(x):
132 | input_width = x.shape[3]
133 | if input_width == width:
134 | residual = x
135 | else:
136 | residual = layers.Conv2D(width, kernel_size=1)(x)
137 | x = layers.BatchNormalization(center=False, scale=False)(x)
138 | x = layers.Conv2D(
139 | width, kernel_size=3, padding="same", activation=keras.activations.swish
140 | )(x)
141 | x = layers.Conv2D(width, kernel_size=3, padding="same")(x)
142 | x = layers.Add()([x, residual])
143 | return x
144 |
145 | return apply
146 |
147 |
148 | def DownBlock(width, block_depth):
149 | def apply(x):
150 | x, skips = x
151 | for _ in range(block_depth):
152 | x = ResidualBlock(width)(x)
153 | skips.append(x)
154 | x = layers.AveragePooling2D(pool_size=2)(x)
155 | return x
156 |
157 | return apply
158 |
159 |
160 | def UpBlock(width, block_depth):
161 | def apply(x):
162 | x, skips = x
163 | x = layers.UpSampling2D(size=2, interpolation="bilinear")(x)
164 | for _ in range(block_depth):
165 | x = layers.Concatenate()([x, skips.pop()])
166 | x = ResidualBlock(width)(x)
167 | return x
168 | return apply
169 |
170 | def get_network(mel_spec_size, widths, block_depth,has_attention):
171 | norm_groups=8
172 |
173 | noisy_images = keras.Input(shape=(mel_spec_size[0], mel_spec_size[1], COND_IMG_CHANNELS))
174 | noise_variances = keras.Input(shape=(1, 1, 1))
175 |
176 | e = layers.Lambda(sinusoidal_embedding)(noise_variances)
177 | e = layers.UpSampling2D(size=mel_spec_size, interpolation="nearest")(e)
178 |
179 | x = layers.Conv2D(widths[0], kernel_size=1)(noisy_images)
180 | x = layers.Concatenate()([x, e])
181 |
182 | skips = []
183 | idx = 0
184 | for width in widths[:-1]:
185 | x = DownBlock(width, block_depth)([x, skips])
186 | if has_attention[idx]:
187 | x = AttentionBlock(width, groups=norm_groups)(x)
188 | idx = idx +1
189 |
190 | for _ in range(block_depth):
191 | x = ResidualBlock(widths[-1])(x)
192 | x = AttentionBlock(widths[-1], groups=norm_groups)(x)
193 |
194 | idx = len(widths[:-1])-1
195 | for width in reversed(widths[:-1]):
196 | x = UpBlock(width, block_depth)([x, skips])
197 | if has_attention[idx]:
198 | x = AttentionBlock(width, groups=norm_groups)(x)
199 | idx = idx -1
200 |
201 | x = layers.Conv2D(N_IMG_CHANNELS, kernel_size=1, kernel_initializer="zeros")(x)
202 |
203 | return keras.Model([noisy_images, noise_variances], x, name="residual_unet")
204 |
205 |
206 | class DiffusionModel(keras.Model):
207 | def __init__(self, mel_spec_size, widths, block_depth, val_data, has_attention, logdir='logs',batch_size=64): # val_data is BAD and should be removed
208 | super().__init__()
209 | if do_normalization:
210 | self.normalizer = layers.Normalization()
211 | self.network = get_network(mel_spec_size, widths, block_depth,has_attention)
212 | self.ema_network = keras.models.clone_model(self.network)
213 | self.val_data = val_data
214 | self.mel_spec_size = mel_spec_size
215 | self.logdir=logdir
216 | self.summary_writer = tf.summary.create_file_writer(logdir)
217 | self.batch_size=batch_size
218 |
219 | def compile(self, **kwargs):
220 | super().compile(**kwargs)
221 | self.noise_loss_tracker = keras.metrics.Mean(name="n_loss")
222 | self.image_loss_tracker = keras.metrics.Mean(name="i_loss")
223 |
224 | @property
225 | def metrics(self):
226 | return [self.noise_loss_tracker, self.image_loss_tracker]#, self.kid]
227 |
228 | def denormalize(self, images):
229 | # convert the pixel values back to 0-1 range
230 | if do_normalization:
231 | images = self.normalizer.mean + images * self.normalizer.variance**0.5
232 | return images #tf.clip_by_value(images, 0.0, 1.0)
233 |
234 | def diffusion_schedule(self, diffusion_times):
235 | # diffusion times -> angles
236 | start_angle = tf.acos(max_signal_rate)
237 | end_angle = tf.acos(min_signal_rate)
238 |
239 | diffusion_angles = start_angle + diffusion_times * (end_angle - start_angle)
240 |
241 | # angles -> signal and noise rates
242 | signal_rates = tf.cos(diffusion_angles)
243 | noise_rates = tf.sin(diffusion_angles)
244 | # note that their squared sum is always: sin^2(x) + cos^2(x) = 1
245 |
246 | return noise_rates, signal_rates
247 |
248 | def denoise(self, noisy_images, noise_rates, signal_rates, training):
249 | # the exponential moving average weights are used at evaluation
250 | if training:
251 | network = self.network
252 | else:
253 | network = self.ema_network
254 |
255 | # predict noise component and calculate the image component using it
256 | pred_noises = network([noisy_images, noise_rates**2], training=training)
257 | pred_images = (tf.expand_dims(noisy_images[:,:,:,0],axis=-1) - noise_rates * pred_noises) / signal_rates
258 |
259 | return pred_noises, pred_images
260 |
261 | def reverse_diffusion(self, initial_noise, cond_images, diffusion_steps):
262 | # reverse diffusion = sampling
263 | num_images = initial_noise.shape[0]
264 | step_size = 1.0 / diffusion_steps
265 |
266 | # important line:
267 | # at the first sampling step, the "noisy image" is pure noise
268 | # but its signal rate is assumed to be nonzero (min_signal_rate)
269 | next_noisy_images = initial_noise
270 | for step in range(diffusion_steps):
271 | noisy_images = next_noisy_images
272 |
273 | # separate the current noisy image to its components
274 | diffusion_times = tf.ones((num_images, 1, 1, 1)) - step * step_size
275 | noise_rates, signal_rates = self.diffusion_schedule(diffusion_times)
276 | pred_noises, pred_images = self.denoise(
277 | tf.concat([noisy_images, cond_images],axis=-1), noise_rates, signal_rates, training=False
278 | )
279 | # remix the predicted components using the next signal and noise rates
280 | next_diffusion_times = diffusion_times - step_size
281 | next_noise_rates, next_signal_rates = self.diffusion_schedule(
282 | next_diffusion_times
283 | )
284 | next_noisy_images = (
285 | next_signal_rates * pred_images + next_noise_rates * pred_noises
286 | )
287 | # this new noisy image will be used in the next step
288 |
289 | return pred_images
290 |
291 | def generate(self, cond_images, num_images, diffusion_steps):
292 | # noise -> images -> denormalized images
293 | initial_noise = tf.random.normal(shape=(num_images, self.mel_spec_size[0], self.mel_spec_size[1], N_IMG_CHANNELS))
294 |
295 | generated_images = self.reverse_diffusion(initial_noise, cond_images, diffusion_steps)
296 | if do_normalization:
297 | generated_images = self.denormalize(tf.concat([generated_images,cond_images],axis=-1)) # WRONG NORM
298 | generated_images = tf.expand_dims(generated_images[:,:,:,0],axis=-1)
299 | return generated_images
300 |
301 | def generate_fixed_noise(self, cond_images, num_images, diffusion_steps):
302 | # noise -> images -> denormalized images
303 | initial_noise = tf.random.normal(shape=(1, self.mel_spec_size[0], self.mel_spec_size[1], N_IMG_CHANNELS))
304 | initial_noise = tf.tile(initial_noise,tf.constant([num_images,1,1,1]))
305 | generated_images = self.reverse_diffusion(initial_noise, cond_images, diffusion_steps)
306 | if do_normalization:
307 | generated_images = self.denormalize(tf.concat([generated_images,cond_images],axis=-1)) # WRONG NORM
308 | generated_images = tf.expand_dims(generated_images[:,:,:,0],axis=-1)
309 | return generated_images
310 |
311 | def train_step(self, images):
312 | # normalize images to have standard deviation of 1, like the noises
313 | if do_normalization:
314 | images = self.normalizer(images, training=True)
315 |
316 | des_images = tf.expand_dims(images[:,:,:,0],axis=-1)
317 | cond_images = tf.expand_dims(images[:,:,:,1],axis=-1)
318 |
319 | noises = tf.random.normal(shape=(self.batch_size, self.mel_spec_size[0], self.mel_spec_size[1], N_IMG_CHANNELS))
320 |
321 | # sample uniform random diffusion times
322 | diffusion_times = tf.random.uniform(
323 | shape=(self.batch_size, 1, 1, 1), minval=0.0, maxval=1.0
324 | )
325 | noise_rates, signal_rates = self.diffusion_schedule(diffusion_times)
326 | # mix the images with noises accordingly
327 | noisy_images = signal_rates * des_images + noise_rates * noises
328 |
329 | # Concatenatioon to condition
330 | noisy_images = tf.concat([noisy_images, cond_images],axis=-1)
331 |
332 | with tf.GradientTape() as tape:
333 | # train the network to separate noisy images to their components
334 | pred_noises, pred_images = self.denoise(
335 | noisy_images, noise_rates, signal_rates, training=True
336 | )
337 |
338 | noise_loss = self.loss(noises, pred_noises) # used for training
339 | image_loss = self.loss(des_images, pred_images) # only used as metric
340 |
341 | gradients = tape.gradient(noise_loss, self.network.trainable_weights)
342 | self.optimizer.apply_gradients(zip(gradients, self.network.trainable_weights))
343 |
344 | self.noise_loss_tracker.update_state(noise_loss)
345 | self.image_loss_tracker.update_state(image_loss)
346 |
347 | # track the exponential moving averages of weights
348 | for weight, ema_weight in zip(self.network.weights, self.ema_network.weights):
349 | ema_weight.assign(ema * ema_weight + (1 - ema) * weight)
350 |
351 | return {m.name: m.result() for m in self.metrics[:-1]}
352 |
353 | def test_step(self, images):
354 | # normalize images to have standard deviation of 1, like the noises
355 | if do_normalization:
356 | images = self.normalizer(images, training=False)
357 |
358 | des_images = tf.expand_dims(images[:,:,:,0],axis=-1)
359 | cond_images = tf.expand_dims(images[:,:,:,1],axis=-1)
360 |
361 | noises = tf.random.normal(shape=(self.batch_size, self.mel_spec_size[0], self.mel_spec_size[1], N_IMG_CHANNELS))
362 |
363 | # sample uniform random diffusion times
364 | diffusion_times = tf.random.uniform(
365 | shape=(self.batch_size, 1, 1, 1), minval=0.0, maxval=1.0
366 | )
367 | noise_rates, signal_rates = self.diffusion_schedule(diffusion_times)
368 | # mix the images with noises accordingly
369 | noisy_images = signal_rates * des_images + noise_rates * noises
370 |
371 | noisy_images = tf.concat([noisy_images, cond_images],axis=-1)
372 |
373 | # use the network to separate noisy images to their components
374 | pred_noises, pred_images = self.denoise(
375 | noisy_images, noise_rates, signal_rates, training=False
376 | )
377 |
378 | noise_loss = self.loss(noises, pred_noises)
379 | image_loss = self.loss(des_images, pred_images)
380 |
381 | self.image_loss_tracker.update_state(image_loss)
382 | self.noise_loss_tracker.update_state(noise_loss)
383 |
384 | return {m.name: m.result() for m in self.metrics}
385 |
386 | def plot_images(self, epoch=None, logs=None, num_rows=4, num_cols=4):
387 | if epoch % 10 == 0:
388 | images = self.val_data
389 | if do_normalization:
390 | images = self.normalizer(images, training=False)
391 | des_images = tf.expand_dims(images[:,:,:,0],axis=-1)
392 | cond_images = tf.expand_dims(images[:,:,:,1],axis=-1)
393 | cond_images = cond_images[:18]
394 | # plot random generated images for visual evaluation of generation quality
395 | generated_images = self.generate(cond_images,
396 | num_images=num_rows * num_cols,
397 | diffusion_steps=plot_diffusion_steps,
398 | )
399 |
400 | spec_figures= plt.figure(figsize=(num_cols * 2.0, num_rows * 2.0))
401 | for row in range(num_rows):
402 | for col in range(num_cols):
403 | index = row * num_cols + col
404 | plt.subplot(num_rows, num_cols, index + 1)
405 | plt.imshow(tf.transpose(generated_images[index],(1,0,2)))
406 | plt.gca().invert_yaxis()
407 | plt.axis("off")
408 | plt.tight_layout()
409 |
410 | # Audio
411 | idx = tf.random.uniform((),0,(num_rows * num_cols),dtype=tf.int32)
412 | cond_spec = tf.expand_dims(cond_images[idx,:,:,0],0)
413 | est_spec = tf.expand_dims(generated_images[idx,:,:,0],0)
414 | gt_spec = tf.expand_dims(des_images[idx,:,:,0],0)
415 | comp_SPEC_FIG = plt.figure()
416 | plt.subplot(311),
417 | plt.title('Cond ')
418 | plt.imshow(tf.transpose(cond_spec[0]), aspect='auto'),plt.colorbar()
419 | plt.gca().invert_yaxis()
420 | plt.subplot(312),
421 | plt.title('Est ')
422 | plt.imshow(tf.transpose(est_spec[0]), aspect='auto'),plt.colorbar()
423 | plt.gca().invert_yaxis()
424 | plt.subplot(313),
425 | plt.title('Gt ')
426 | plt.imshow(tf.transpose(gt_spec[0]), aspect='auto'), plt.colorbar()
427 | plt.gca().invert_yaxis()
428 | plt.tight_layout()
429 |
430 |
431 | if do_norm_specs:
432 | est_spec = denorm_tensor(est_spec)
433 | cond_spec = denorm_tensor(cond_spec)
434 | gt_spxec = denorm_tensor(gt_spec)
435 | audio_est = tf.cast(tf.expand_dims(module(est_spec),axis=-1),dtype=tf.float32)
436 | cond_audio = tf.cast(tf.expand_dims(module(cond_spec),axis=-1),dtype=tf.float32)
437 | gt_audio = tf.cast(tf.expand_dims(module(gt_spec),axis=-1),dtype=tf.float32)
438 |
439 |
440 | with self.summary_writer.as_default():
441 | # Write images to tensorboard
442 | tf.summary.image("Examples", plot_to_image(spec_figures), step=epoch)
443 | tf.summary.image("TT", plot_to_image(comp_SPEC_FIG), step=epoch)
444 | tf.summary.audio('Estimated Audio ', audio_est, sample_rate=params.SAMPLE_RATE, step=epoch)
445 | tf.summary.audio('Conditioning Audio ', cond_audio, sample_rate=params.SAMPLE_RATE, step=epoch)
446 | tf.summary.audio('GT audio violin', gt_audio, sample_rate=params.SAMPLE_RATE, step=epoch)
447 |
448 |
--------------------------------------------------------------------------------
/params.py:
--------------------------------------------------------------------------------
1 | import tensorflow as tf
2 | # PARAMETERS
3 | # Audio Stuff
4 | SAMPLE_RATE = 16000
5 | N_FFT = 1024
6 | HOP_LENGTH = 320
7 | WIN_LENGTH = 640 # (20 ms)
8 | N_MEL_CHANNELS = 128
9 | MEL_FMIN = 0.0
10 | MEL_FMAX = int(SAMPLE_RATE // 2)
11 | CLIP_VALUE_MIN = 1e-5
12 | CLIP_VALUE_MAX = 1e8
13 | N_IMG_CHANNELS = 1 #3
14 |
15 | MEL_BASIS = tf.signal.linear_to_mel_weight_matrix(
16 | num_mel_bins=N_MEL_CHANNELS,
17 | num_spectrogram_bins=N_FFT // 2 + 1,
18 | sample_rate=SAMPLE_RATE,
19 | lower_edge_hertz=MEL_FMIN,
20 | upper_edge_hertz=MEL_FMAX)
21 |
22 |
23 |
24 | # data
25 | dataset_repetitions = 5
26 | num_epochs = 1 # train for at least 50 epochs for good results
27 | mel_spec_size = (128, 128)
28 | # KID = Kernel Inception Distance, see related section
29 | kid_image_size = 75
30 | kid_diffusion_steps = 10
31 | plot_diffusion_steps = 20
32 | # sampling
33 | min_signal_rate = 0.02
34 | max_signal_rate = 0.95
35 |
36 | # architecture
37 | embedding_dims = 32
38 | embedding_max_frequency = 1000.0
39 | widths = [32, 64, 96, 128]
40 | block_depth = 2
41 |
42 |
43 | # optimization
44 | batch_size = 64
45 | ema = 0.999
46 | learning_rate = 2e-5
47 | weight_decay = 1e-4
48 |
49 | # New
50 | #widths = [32, 64, 96, 128]
51 | #block_depth = 2
52 |
53 | # optimization
54 | batch_size = 64
55 |
56 | widths = [64, 128, 256, 512]
57 | has_attention = [False, False, True, True]
58 | block_depth = 4
59 | batch_size = 16
60 |
61 | duration_sample = 40960 #*2 if 256
62 | duration_track = 480000
63 |
64 |
--------------------------------------------------------------------------------
/preprocess_tracks_listening_test.py:
--------------------------------------------------------------------------------
1 | import os
2 | os.environ['CUDA_VISIBLE_DEVICES']='5'
3 | import audio_utils
4 | import librosa
5 | import params
6 | import matplotlib.pyplot as plt
7 | import tensorflow as tf
8 | import tqdm
9 | import numpy as np
10 |
11 |
12 | gt_paths = '/nas/home/lcomanducci/music_txt/dataset/music_star_test'
13 | normalize_gt_tracks = False
14 | if normalize_gt_tracks:
15 | gt_paths_tracks = tf.io.gfile.glob(gt_paths+'/*.wav')
16 | for i in tqdm.tqdm(range(len(gt_paths_tracks))):
17 | gt_track, sr = librosa.load(path=gt_paths_tracks[i],sr=params.SAMPLE_RATE)
18 | gt_track = audio_utils.normalize_audio(gt_track)
19 | audio_encoded = tf.audio.encode_wav(
20 | tf.expand_dims(gt_track,axis=1), params.SAMPLE_RATE, name=None
21 | )
22 | write_file_op = tf.io.write_file(gt_paths_tracks[i], audio_encoded)
23 |
24 | model_type = ['separate_model_individual_tracks', 'separate_model','mixture_model']
25 | model_selected_idx = 0
26 | diff_paths = os.path.join('/nas/home/lcomanducci/music_txt/eval/est_diffusion',model_type[model_selected_idx])
27 | music_star_paths = os.path.join('/nas/home/lcomanducci/music_txt/eval/est_music_net',model_type[model_selected_idx])
28 |
29 |
30 | normalize_music_star_tracks = False
31 | if normalize_gt_tracks:
32 | for m in range(len(model_type)):
33 | music_star_paths_tracks = tf.io.gfile.glob(os.path.join('/nas/home/lcomanducci/music_txt/eval/est_music_net',model_type[m])+'/*.wav')
34 | for i in tqdm.tqdm(range(len(music_star_paths_tracks))):
35 | music_star_track, sr = librosa.load(path=music_star_paths_tracks[i], sr=params.SAMPLE_RATE)
36 | music_star_track = audio_utils.normalize_audio(music_star_track)
37 | audio_encoded = tf.audio.encode_wav(
38 | tf.expand_dims(music_star_track, axis=1), params.SAMPLE_RATE, name=None
39 | )
40 | write_file_op = tf.io.write_file(music_star_paths_tracks[i], audio_encoded)
41 |
42 |
43 |
44 | gt_track, sr = librosa.load(path=os.path.join(gt_paths,'010.1.wav'),sr=params.SAMPLE_RATE)
45 | diff_track, sr = librosa.load(path=os.path.join(diff_paths,'010.1.wav'),sr=params.SAMPLE_RATE)
46 | music_star_track, sr = librosa.load(path=os.path.join(music_star_paths,'010.1_0.wav'),sr=params.SAMPLE_RATE)
47 |
48 |
49 | #gt_track = audio_utils.normalize_audio(gt_track)
50 | #diff_track = audio_utils.normalize_audio(diff_track)
51 | #music_star_track = audio_utils.normalize_audio(music_star_track)
52 |
53 | print(str(gt_track.shape))
54 | print(str(diff_track.shape))
55 | print(str(music_star_track.shape))
56 |
57 |
58 | plt.figure()
59 | plt.subplot(311)
60 | plt.plot(gt_track)
61 | plt.subplot(312)
62 | plt.plot(diff_track)
63 | plt.subplot(313)
64 | plt.plot(music_star_track)
65 | plt.show()
66 |
67 | import numpy as np
68 | conditions = ['C1','C2']
69 | n_conditions = 8
70 | for n in range(n_conditions):
71 | idxs = np.random.choice(2, 2,replace=False)
72 | print(conditions[idxs[0]]+' '+conditions[idxs[1]])
73 |
74 |
75 |
76 | # Up-mix tracks
77 | path = '/nas/home/lcomanducci/music_txt/009.0_music_net.wav'
78 | track, sr = librosa.load(path=path, sr=params.SAMPLE_RATE)
79 | track = audio_utils.normalize_audio(track)
80 | track = np.concatenate([np.expand_dims(track,axis=-1),np.expand_dims(track,axis=-1)],axis=-1)
81 | audio_encoded = tf.audio.encode_wav(
82 | track, params.SAMPLE_RATE, name=None
83 | )
84 | write_file_op = tf.io.write_file(path, audio_encoded)
85 |
86 | folder_names = ['part_1','part_2']
87 | for i in range(len(folder_names)):
88 | paths_tracks = tf.io.gfile.glob(os.path.join('/nas/home/lcomanducci/music_txt/resources/audio/timbre_transfer', folder_names[i]) + '/*.wav')
89 | for t in range(len(paths_tracks)):
90 | path = paths_tracks[t]
91 | track, sr = librosa.load(path=path, sr=params.SAMPLE_RATE)
92 | track = audio_utils.normalize_audio(track)
93 | plt.plot(track)
94 | plt.show()
95 | track = np.concatenate([np.expand_dims(track, axis=-1), np.expand_dims(track, axis=-1)], axis=-1)
96 | # music_star_track = audio_utils.normalize_audio(path)
97 | audio_encoded = tf.audio.encode_wav(
98 | track, params.SAMPLE_RATE, name=None
99 | )
100 | write_file_op = tf.io.write_file(path, audio_encoded)
101 | print('done')
102 |
103 |
--------------------------------------------------------------------------------