Upload 16 files
Browse files- fastspeech/config.yml +79 -0
- fastspeech/model.h5 +3 -0
- fastspeech/processor.json +1 -0
- fastspeech2/config.yml +78 -0
- fastspeech2/model.h5 +3 -0
- fastspeech2/processor.json +1 -0
- mb-melgan/config.yml +107 -0
- mb-melgan/model.h5 +3 -0
- melgan-stft/melgan.stft-2M.h5 +3 -0
- melgan-stft/melgan.stft_config.yml +89 -0
- melgan-stft/melgan_stft.v1.yaml +102 -0
- melgan/config.yml +89 -0
- melgan/model.h5 +3 -0
- tacatron2/config.yml +86 -0
- tacatron2/model.h5 +3 -0
- tacatron2/processor.json +1 -0
fastspeech/config.yml
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This is the hyperparameter configuration file for FastSpeech v3.
|
2 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
3 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
4 |
+
# This configuration performs 200k iters but a best checkpoint is around 150k iters.
|
5 |
+
|
6 |
+
###########################################################
|
7 |
+
# FEATURE EXTRACTION SETTING #
|
8 |
+
###########################################################
|
9 |
+
hop_size: 256 # Hop size.
|
10 |
+
format: "npy"
|
11 |
+
|
12 |
+
|
13 |
+
###########################################################
|
14 |
+
# NETWORK ARCHITECTURE SETTING #
|
15 |
+
###########################################################
|
16 |
+
model_type: "fastspeech"
|
17 |
+
|
18 |
+
fastspeech_params:
|
19 |
+
n_speakers: 1
|
20 |
+
encoder_hidden_size: 384
|
21 |
+
encoder_num_hidden_layers: 4
|
22 |
+
encoder_num_attention_heads: 2
|
23 |
+
encoder_attention_head_size: 192 # hidden_size // num_attention_heads
|
24 |
+
encoder_intermediate_size: 1024
|
25 |
+
encoder_intermediate_kernel_size: 3
|
26 |
+
encoder_hidden_act: "mish"
|
27 |
+
decoder_hidden_size: 384
|
28 |
+
decoder_num_hidden_layers: 4
|
29 |
+
decoder_num_attention_heads: 2
|
30 |
+
decoder_attention_head_size: 192 # hidden_size // num_attention_heads
|
31 |
+
decoder_intermediate_size: 1024
|
32 |
+
decoder_intermediate_kernel_size: 3
|
33 |
+
decoder_hidden_act: "mish"
|
34 |
+
num_duration_conv_layers: 2
|
35 |
+
duration_predictor_filters: 256
|
36 |
+
duration_predictor_kernel_sizes: 3
|
37 |
+
num_mels: 80
|
38 |
+
hidden_dropout_prob: 0.2
|
39 |
+
attention_probs_dropout_prob: 0.1
|
40 |
+
duration_predictor_dropout_probs: 0.2
|
41 |
+
max_position_embeddings: 2048
|
42 |
+
initializer_range: 0.02
|
43 |
+
output_attentions: False
|
44 |
+
output_hidden_states: False
|
45 |
+
|
46 |
+
###########################################################
|
47 |
+
# DATA LOADER SETTING #
|
48 |
+
###########################################################
|
49 |
+
batch_size: 16 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
50 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
51 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
52 |
+
mel_length_threshold: 32 # remove all targets has mel_length <= 32
|
53 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
54 |
+
###########################################################
|
55 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
56 |
+
###########################################################
|
57 |
+
optimizer_params:
|
58 |
+
initial_learning_rate: 0.001
|
59 |
+
end_learning_rate: 0.00005
|
60 |
+
decay_steps: 150000 # < train_max_steps is recommend.
|
61 |
+
warmup_proportion: 0.02
|
62 |
+
weight_decay: 0.001
|
63 |
+
|
64 |
+
gradient_accumulation_steps: 1
|
65 |
+
var_train_expr: null # trainable variable expr (eg. 'embeddings|encoder|decoder' )
|
66 |
+
# must separate by |. if var_train_expr is null then we
|
67 |
+
# training all variable
|
68 |
+
###########################################################
|
69 |
+
# INTERVAL SETTING #
|
70 |
+
###########################################################
|
71 |
+
train_max_steps: 200000 # Number of training steps.
|
72 |
+
save_interval_steps: 5000 # Interval steps to save checkpoint.
|
73 |
+
eval_interval_steps: 500 # Interval steps to evaluate the network.
|
74 |
+
log_interval_steps: 200 # Interval steps to record the training log.
|
75 |
+
|
76 |
+
###########################################################
|
77 |
+
# OTHER SETTING #
|
78 |
+
###########################################################
|
79 |
+
num_save_intermediate_results: 1 # Number of batch to be saved as intermediate results.
|
fastspeech/model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4d0352241536eec6bb426dfa8d69b8a5a96bb6ef51fe3a5599b68ec190b83a85
|
3 |
+
size 120784120
|
fastspeech/processor.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"symbol_to_id": {"pad": 0, "-": 1, "!": 2, "'": 3, "(": 4, ")": 5, ",": 6, ".": 7, ":": 8, ";": 9, "?": 10, " ": 11, "A": 12, "B": 13, "C": 14, "D": 15, "E": 16, "F": 17, "G": 18, "H": 19, "I": 20, "J": 21, "K": 22, "L": 23, "M": 24, "N": 25, "O": 26, "P": 27, "Q": 28, "R": 29, "S": 30, "T": 31, "U": 32, "V": 33, "W": 34, "X": 35, "Y": 36, "Z": 37, "a": 38, "b": 39, "c": 40, "d": 41, "e": 42, "f": 43, "g": 44, "h": 45, "i": 46, "j": 47, "k": 48, "l": 49, "m": 50, "n": 51, "o": 52, "p": 53, "q": 54, "r": 55, "s": 56, "t": 57, "u": 58, "v": 59, "w": 60, "x": 61, "y": 62, "z": 63, "@AA": 64, "@AA0": 65, "@AA1": 66, "@AA2": 67, "@AE": 68, "@AE0": 69, "@AE1": 70, "@AE2": 71, "@AH": 72, "@AH0": 73, "@AH1": 74, "@AH2": 75, "@AO": 76, "@AO0": 77, "@AO1": 78, "@AO2": 79, "@AW": 80, "@AW0": 81, "@AW1": 82, "@AW2": 83, "@AY": 84, "@AY0": 85, "@AY1": 86, "@AY2": 87, "@B": 88, "@CH": 89, "@D": 90, "@DH": 91, "@EH": 92, "@EH0": 93, "@EH1": 94, "@EH2": 95, "@ER": 96, "@ER0": 97, "@ER1": 98, "@ER2": 99, "@EY": 100, "@EY0": 101, "@EY1": 102, "@EY2": 103, "@F": 104, "@G": 105, "@HH": 106, "@IH": 107, "@IH0": 108, "@IH1": 109, "@IH2": 110, "@IY": 111, "@IY0": 112, "@IY1": 113, "@IY2": 114, "@JH": 115, "@K": 116, "@L": 117, "@M": 118, "@N": 119, "@NG": 120, "@OW": 121, "@OW0": 122, "@OW1": 123, "@OW2": 124, "@OY": 125, "@OY0": 126, "@OY1": 127, "@OY2": 128, "@P": 129, "@R": 130, "@S": 131, "@SH": 132, "@T": 133, "@TH": 134, "@UH": 135, "@UH0": 136, "@UH1": 137, "@UH2": 138, "@UW": 139, "@UW0": 140, "@UW1": 141, "@UW2": 142, "@V": 143, "@W": 144, "@Y": 145, "@Z": 146, "@ZH": 147, "eos": 148}, "id_to_symbol": {"0": "pad", "1": "-", "2": "!", "3": "'", "4": "(", "5": ")", "6": ",", "7": ".", "8": ":", "9": ";", "10": "?", "11": " ", "12": "A", "13": "B", "14": "C", "15": "D", "16": "E", "17": "F", "18": "G", "19": "H", "20": "I", "21": "J", "22": "K", "23": "L", "24": "M", "25": "N", "26": "O", "27": "P", "28": "Q", "29": "R", "30": "S", "31": "T", "32": "U", "33": "V", "34": "W", "35": "X", "36": "Y", "37": "Z", "38": "a", "39": "b", "40": "c", "41": "d", "42": "e", "43": "f", "44": "g", "45": "h", "46": "i", "47": "j", "48": "k", "49": "l", "50": "m", "51": "n", "52": "o", "53": "p", "54": "q", "55": "r", "56": "s", "57": "t", "58": "u", "59": "v", "60": "w", "61": "x", "62": "y", "63": "z", "64": "@AA", "65": "@AA0", "66": "@AA1", "67": "@AA2", "68": "@AE", "69": "@AE0", "70": "@AE1", "71": "@AE2", "72": "@AH", "73": "@AH0", "74": "@AH1", "75": "@AH2", "76": "@AO", "77": "@AO0", "78": "@AO1", "79": "@AO2", "80": "@AW", "81": "@AW0", "82": "@AW1", "83": "@AW2", "84": "@AY", "85": "@AY0", "86": "@AY1", "87": "@AY2", "88": "@B", "89": "@CH", "90": "@D", "91": "@DH", "92": "@EH", "93": "@EH0", "94": "@EH1", "95": "@EH2", "96": "@ER", "97": "@ER0", "98": "@ER1", "99": "@ER2", "100": "@EY", "101": "@EY0", "102": "@EY1", "103": "@EY2", "104": "@F", "105": "@G", "106": "@HH", "107": "@IH", "108": "@IH0", "109": "@IH1", "110": "@IH2", "111": "@IY", "112": "@IY0", "113": "@IY1", "114": "@IY2", "115": "@JH", "116": "@K", "117": "@L", "118": "@M", "119": "@N", "120": "@NG", "121": "@OW", "122": "@OW0", "123": "@OW1", "124": "@OW2", "125": "@OY", "126": "@OY0", "127": "@OY1", "128": "@OY2", "129": "@P", "130": "@R", "131": "@S", "132": "@SH", "133": "@T", "134": "@TH", "135": "@UH", "136": "@UH0", "137": "@UH1", "138": "@UH2", "139": "@UW", "140": "@UW0", "141": "@UW1", "142": "@UW2", "143": "@V", "144": "@W", "145": "@Y", "146": "@Z", "147": "@ZH", "148": "eos"}, "speakers_map": {"ljspeech": 0}, "processor_name": "LJSpeechProcessor"}
|
fastspeech2/config.yml
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This is the hyperparameter configuration file for FastSpeech2 v1.
|
2 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
3 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
4 |
+
# This configuration performs 200k iters but a best checkpoint is around 150k iters.
|
5 |
+
|
6 |
+
###########################################################
|
7 |
+
# FEATURE EXTRACTION SETTING #
|
8 |
+
###########################################################
|
9 |
+
hop_size: 256 # Hop size.
|
10 |
+
format: "npy"
|
11 |
+
|
12 |
+
|
13 |
+
###########################################################
|
14 |
+
# NETWORK ARCHITECTURE SETTING #
|
15 |
+
###########################################################
|
16 |
+
model_type: "fastspeech2"
|
17 |
+
|
18 |
+
fastspeech2_params:
|
19 |
+
n_speakers: 1
|
20 |
+
encoder_hidden_size: 384
|
21 |
+
encoder_num_hidden_layers: 4
|
22 |
+
encoder_num_attention_heads: 2
|
23 |
+
encoder_attention_head_size: 192 # hidden_size // num_attention_heads
|
24 |
+
encoder_intermediate_size: 1024
|
25 |
+
encoder_intermediate_kernel_size: 3
|
26 |
+
encoder_hidden_act: "mish"
|
27 |
+
decoder_hidden_size: 384
|
28 |
+
decoder_num_hidden_layers: 4
|
29 |
+
decoder_num_attention_heads: 2
|
30 |
+
decoder_attention_head_size: 192 # hidden_size // num_attention_heads
|
31 |
+
decoder_intermediate_size: 1024
|
32 |
+
decoder_intermediate_kernel_size: 3
|
33 |
+
decoder_hidden_act: "mish"
|
34 |
+
variant_prediction_num_conv_layers: 2
|
35 |
+
variant_predictor_filter: 256
|
36 |
+
variant_predictor_kernel_size: 3
|
37 |
+
variant_predictor_dropout_rate: 0.5
|
38 |
+
num_mels: 80
|
39 |
+
hidden_dropout_prob: 0.2
|
40 |
+
attention_probs_dropout_prob: 0.1
|
41 |
+
max_position_embeddings: 2048
|
42 |
+
initializer_range: 0.02
|
43 |
+
output_attentions: False
|
44 |
+
output_hidden_states: False
|
45 |
+
|
46 |
+
###########################################################
|
47 |
+
# DATA LOADER SETTING #
|
48 |
+
###########################################################
|
49 |
+
batch_size: 16 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
50 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
51 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
52 |
+
mel_length_threshold: 32 # remove all targets has mel_length <= 32
|
53 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
54 |
+
###########################################################
|
55 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
56 |
+
###########################################################
|
57 |
+
optimizer_params:
|
58 |
+
initial_learning_rate: 0.001
|
59 |
+
end_learning_rate: 0.00005
|
60 |
+
decay_steps: 150000 # < train_max_steps is recommend.
|
61 |
+
warmup_proportion: 0.02
|
62 |
+
weight_decay: 0.001
|
63 |
+
|
64 |
+
gradient_accumulation_steps: 1
|
65 |
+
var_train_expr: null # trainable variable expr (eg. 'embeddings|encoder|decoder' )
|
66 |
+
# must separate by |. if var_train_expr is null then we
|
67 |
+
# training all variable
|
68 |
+
###########################################################
|
69 |
+
# INTERVAL SETTING #
|
70 |
+
###########################################################
|
71 |
+
train_max_steps: 200000 # Number of training steps.
|
72 |
+
save_interval_steps: 5000 # Interval steps to save checkpoint.
|
73 |
+
eval_interval_steps: 500 # Interval steps to evaluate the network.
|
74 |
+
log_interval_steps: 200 # Interval steps to record the training log.
|
75 |
+
###########################################################
|
76 |
+
# OTHER SETTING #
|
77 |
+
###########################################################
|
78 |
+
num_save_intermediate_results: 1 # Number of batch to be saved as intermediate results.
|
fastspeech2/model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8be313477c9d672be6d9893dc7a6757dc6c8592425d52f133a90077f0fce20ca
|
3 |
+
size 124798368
|
fastspeech2/processor.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"symbol_to_id": {"pad": 0, "-": 1, "!": 2, "'": 3, "(": 4, ")": 5, ",": 6, ".": 7, ":": 8, ";": 9, "?": 10, " ": 11, "A": 12, "B": 13, "C": 14, "D": 15, "E": 16, "F": 17, "G": 18, "H": 19, "I": 20, "J": 21, "K": 22, "L": 23, "M": 24, "N": 25, "O": 26, "P": 27, "Q": 28, "R": 29, "S": 30, "T": 31, "U": 32, "V": 33, "W": 34, "X": 35, "Y": 36, "Z": 37, "a": 38, "b": 39, "c": 40, "d": 41, "e": 42, "f": 43, "g": 44, "h": 45, "i": 46, "j": 47, "k": 48, "l": 49, "m": 50, "n": 51, "o": 52, "p": 53, "q": 54, "r": 55, "s": 56, "t": 57, "u": 58, "v": 59, "w": 60, "x": 61, "y": 62, "z": 63, "@AA": 64, "@AA0": 65, "@AA1": 66, "@AA2": 67, "@AE": 68, "@AE0": 69, "@AE1": 70, "@AE2": 71, "@AH": 72, "@AH0": 73, "@AH1": 74, "@AH2": 75, "@AO": 76, "@AO0": 77, "@AO1": 78, "@AO2": 79, "@AW": 80, "@AW0": 81, "@AW1": 82, "@AW2": 83, "@AY": 84, "@AY0": 85, "@AY1": 86, "@AY2": 87, "@B": 88, "@CH": 89, "@D": 90, "@DH": 91, "@EH": 92, "@EH0": 93, "@EH1": 94, "@EH2": 95, "@ER": 96, "@ER0": 97, "@ER1": 98, "@ER2": 99, "@EY": 100, "@EY0": 101, "@EY1": 102, "@EY2": 103, "@F": 104, "@G": 105, "@HH": 106, "@IH": 107, "@IH0": 108, "@IH1": 109, "@IH2": 110, "@IY": 111, "@IY0": 112, "@IY1": 113, "@IY2": 114, "@JH": 115, "@K": 116, "@L": 117, "@M": 118, "@N": 119, "@NG": 120, "@OW": 121, "@OW0": 122, "@OW1": 123, "@OW2": 124, "@OY": 125, "@OY0": 126, "@OY1": 127, "@OY2": 128, "@P": 129, "@R": 130, "@S": 131, "@SH": 132, "@T": 133, "@TH": 134, "@UH": 135, "@UH0": 136, "@UH1": 137, "@UH2": 138, "@UW": 139, "@UW0": 140, "@UW1": 141, "@UW2": 142, "@V": 143, "@W": 144, "@Y": 145, "@Z": 146, "@ZH": 147, "eos": 148}, "id_to_symbol": {"0": "pad", "1": "-", "2": "!", "3": "'", "4": "(", "5": ")", "6": ",", "7": ".", "8": ":", "9": ";", "10": "?", "11": " ", "12": "A", "13": "B", "14": "C", "15": "D", "16": "E", "17": "F", "18": "G", "19": "H", "20": "I", "21": "J", "22": "K", "23": "L", "24": "M", "25": "N", "26": "O", "27": "P", "28": "Q", "29": "R", "30": "S", "31": "T", "32": "U", "33": "V", "34": "W", "35": "X", "36": "Y", "37": "Z", "38": "a", "39": "b", "40": "c", "41": "d", "42": "e", "43": "f", "44": "g", "45": "h", "46": "i", "47": "j", "48": "k", "49": "l", "50": "m", "51": "n", "52": "o", "53": "p", "54": "q", "55": "r", "56": "s", "57": "t", "58": "u", "59": "v", "60": "w", "61": "x", "62": "y", "63": "z", "64": "@AA", "65": "@AA0", "66": "@AA1", "67": "@AA2", "68": "@AE", "69": "@AE0", "70": "@AE1", "71": "@AE2", "72": "@AH", "73": "@AH0", "74": "@AH1", "75": "@AH2", "76": "@AO", "77": "@AO0", "78": "@AO1", "79": "@AO2", "80": "@AW", "81": "@AW0", "82": "@AW1", "83": "@AW2", "84": "@AY", "85": "@AY0", "86": "@AY1", "87": "@AY2", "88": "@B", "89": "@CH", "90": "@D", "91": "@DH", "92": "@EH", "93": "@EH0", "94": "@EH1", "95": "@EH2", "96": "@ER", "97": "@ER0", "98": "@ER1", "99": "@ER2", "100": "@EY", "101": "@EY0", "102": "@EY1", "103": "@EY2", "104": "@F", "105": "@G", "106": "@HH", "107": "@IH", "108": "@IH0", "109": "@IH1", "110": "@IH2", "111": "@IY", "112": "@IY0", "113": "@IY1", "114": "@IY2", "115": "@JH", "116": "@K", "117": "@L", "118": "@M", "119": "@N", "120": "@NG", "121": "@OW", "122": "@OW0", "123": "@OW1", "124": "@OW2", "125": "@OY", "126": "@OY0", "127": "@OY1", "128": "@OY2", "129": "@P", "130": "@R", "131": "@S", "132": "@SH", "133": "@T", "134": "@TH", "135": "@UH", "136": "@UH0", "137": "@UH1", "138": "@UH2", "139": "@UW", "140": "@UW0", "141": "@UW1", "142": "@UW2", "143": "@V", "144": "@W", "145": "@Y", "146": "@Z", "147": "@ZH", "148": "eos"}, "speakers_map": {"ljspeech": 0}, "processor_name": "LJSpeechProcessor"}
|
mb-melgan/config.yml
ADDED
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
# This is the hyperparameter configuration file for Multi-Band MelGAN.
|
3 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
4 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
5 |
+
# This configuration performs 1000k iters.
|
6 |
+
|
7 |
+
###########################################################
|
8 |
+
# FEATURE EXTRACTION SETTING #
|
9 |
+
###########################################################
|
10 |
+
sampling_rate: 22050
|
11 |
+
hop_size: 256 # Hop size.
|
12 |
+
format: "npy"
|
13 |
+
|
14 |
+
|
15 |
+
###########################################################
|
16 |
+
# GENERATOR NETWORK ARCHITECTURE SETTING #
|
17 |
+
###########################################################
|
18 |
+
model_type: "multiband_melgan_generator"
|
19 |
+
|
20 |
+
multiband_melgan_generator_params:
|
21 |
+
out_channels: 4 # Number of output channels (number of subbands).
|
22 |
+
kernel_size: 7 # Kernel size of initial and final conv layers.
|
23 |
+
filters: 384 # Initial number of channels for conv layers.
|
24 |
+
upsample_scales: [8, 4, 2] # List of Upsampling scales.
|
25 |
+
stack_kernel_size: 3 # Kernel size of dilated conv layers in residual stack.
|
26 |
+
stacks: 4 # Number of stacks in a single residual stack module.
|
27 |
+
is_weight_norm: false # Use weight-norm or not.
|
28 |
+
|
29 |
+
###########################################################
|
30 |
+
# DISCRIMINATOR NETWORK ARCHITECTURE SETTING #
|
31 |
+
###########################################################
|
32 |
+
multiband_melgan_discriminator_params:
|
33 |
+
out_channels: 1 # Number of output channels.
|
34 |
+
scales: 3 # Number of multi-scales.
|
35 |
+
downsample_pooling: "AveragePooling1D" # Pooling type for the input downsampling.
|
36 |
+
downsample_pooling_params: # Parameters of the above pooling function.
|
37 |
+
pool_size: 4
|
38 |
+
strides: 2
|
39 |
+
kernel_sizes: [5, 3] # List of kernel size.
|
40 |
+
filters: 16 # Number of channels of the initial conv layer.
|
41 |
+
max_downsample_filters: 512 # Maximum number of channels of downsampling layers.
|
42 |
+
downsample_scales: [4, 4, 4] # List of downsampling scales.
|
43 |
+
nonlinear_activation: "LeakyReLU" # Nonlinear activation function.
|
44 |
+
nonlinear_activation_params: # Parameters of nonlinear activation function.
|
45 |
+
alpha: 0.2
|
46 |
+
is_weight_norm: false # Use weight-norm or not.
|
47 |
+
|
48 |
+
###########################################################
|
49 |
+
# STFT LOSS SETTING #
|
50 |
+
###########################################################
|
51 |
+
stft_loss_params:
|
52 |
+
fft_lengths: [1024, 2048, 512] # List of FFT size for STFT-based loss.
|
53 |
+
frame_steps: [120, 240, 50] # List of hop size for STFT-based loss
|
54 |
+
frame_lengths: [600, 1200, 240] # List of window length for STFT-based loss.
|
55 |
+
|
56 |
+
subband_stft_loss_params:
|
57 |
+
fft_lengths: [384, 683, 171] # List of FFT size for STFT-based loss.
|
58 |
+
frame_steps: [30, 60, 10] # List of hop size for STFT-based loss
|
59 |
+
frame_lengths: [150, 300, 60] # List of window length for STFT-based loss.
|
60 |
+
|
61 |
+
###########################################################
|
62 |
+
# ADVERSARIAL LOSS SETTING #
|
63 |
+
###########################################################
|
64 |
+
lambda_feat_match: 10.0 # Loss balancing coefficient for feature matching loss
|
65 |
+
lambda_adv: 2.5 # Loss balancing coefficient for adversarial loss.
|
66 |
+
|
67 |
+
###########################################################
|
68 |
+
# DATA LOADER SETTING #
|
69 |
+
###########################################################
|
70 |
+
batch_size: 64 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
71 |
+
batch_max_steps: 8192 # Length of each audio in batch for training. Make sure dividable by hop_size.
|
72 |
+
batch_max_steps_valid: 8192 # Length of each audio for validation. Make sure dividable by hope_size.
|
73 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
74 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
75 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
76 |
+
|
77 |
+
###########################################################
|
78 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
79 |
+
###########################################################
|
80 |
+
generator_optimizer_params:
|
81 |
+
lr_fn: "PiecewiseConstantDecay"
|
82 |
+
lr_params:
|
83 |
+
boundaries: [100000, 200000, 300000, 400000, 500000, 600000, 700000]
|
84 |
+
values: [0.0005, 0.0005, 0.00025, 0.000125, 0.0000625, 0.00003125, 0.000015625, 0.000001]
|
85 |
+
amsgrad: false
|
86 |
+
|
87 |
+
discriminator_optimizer_params:
|
88 |
+
lr_fn: "PiecewiseConstantDecay"
|
89 |
+
lr_params:
|
90 |
+
boundaries: [100000, 200000, 300000, 400000, 500000]
|
91 |
+
values: [0.00025, 0.000125, 0.0000625, 0.00003125, 0.000015625, 0.000001]
|
92 |
+
amsgrad: false
|
93 |
+
|
94 |
+
gradient_accumulation_steps: 1
|
95 |
+
###########################################################
|
96 |
+
# INTERVAL SETTING #
|
97 |
+
###########################################################
|
98 |
+
discriminator_train_start_steps: 200000 # steps begin training discriminator
|
99 |
+
train_max_steps: 4000000 # Number of training steps.
|
100 |
+
save_interval_steps: 20000 # Interval steps to save checkpoint.
|
101 |
+
eval_interval_steps: 5000 # Interval steps to evaluate the network.
|
102 |
+
log_interval_steps: 200 # Interval steps to record the training log.
|
103 |
+
|
104 |
+
###########################################################
|
105 |
+
# OTHER SETTING #
|
106 |
+
###########################################################
|
107 |
+
num_save_intermediate_results: 1 # Number of batch to be saved as intermediate results.
|
mb-melgan/model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:b53fe8116ec61fb7a630377f120ef8ff8fa1e8b1ca5f9756259fe3e1e304ef68
|
3 |
+
size 10234448
|
melgan-stft/melgan.stft-2M.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f7e40f5c67694fe02a7c96d293203855a9e261442bf721f46089e384b80b45b5
|
3 |
+
size 17142440
|
melgan-stft/melgan.stft_config.yml
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
allow_cache: true
|
2 |
+
batch_max_steps: 8192
|
3 |
+
batch_max_steps_valid: 81920
|
4 |
+
batch_size: 16
|
5 |
+
config: egs/ljspeech/conf/multi_stft_melgan.yaml
|
6 |
+
dev_dir: ./egs/ljspeech/dump/valid
|
7 |
+
discriminator_mixed_precision: false
|
8 |
+
discriminator_optimizer_params:
|
9 |
+
beta_1: 0.5
|
10 |
+
beta_2: 0.9
|
11 |
+
decay_steps: 4000000
|
12 |
+
end_learning_rate: 0.0001
|
13 |
+
initial_learning_rate: 0.0001
|
14 |
+
warmup_steps: 0
|
15 |
+
weight_decay: 0.0
|
16 |
+
discriminator_params:
|
17 |
+
downsample_pooling: AveragePooling1D
|
18 |
+
downsample_pooling_params:
|
19 |
+
pool_size: 4
|
20 |
+
strides: 2
|
21 |
+
downsample_scales:
|
22 |
+
- 4
|
23 |
+
- 4
|
24 |
+
- 4
|
25 |
+
- 4
|
26 |
+
filters: 16
|
27 |
+
is_weight_norm: false
|
28 |
+
kernel_sizes:
|
29 |
+
- 5
|
30 |
+
- 3
|
31 |
+
max_downsample_filters: 1024
|
32 |
+
nonlinear_activation: LeakyReLU
|
33 |
+
nonlinear_activation_params:
|
34 |
+
alpha: 0.2
|
35 |
+
out_channels: 1
|
36 |
+
scales: 3
|
37 |
+
discriminator_train_start_steps: 100000
|
38 |
+
eval_interval_steps: 5000
|
39 |
+
format: npy
|
40 |
+
generator_mixed_precision: false
|
41 |
+
generator_optimizer_params:
|
42 |
+
beta_1: 0.5
|
43 |
+
beta_2: 0.9
|
44 |
+
decay_steps: 100000
|
45 |
+
end_learning_rate: 0.0001
|
46 |
+
initial_learning_rate: 0.001
|
47 |
+
warmup_steps: 0
|
48 |
+
weight_decay: 0.0
|
49 |
+
generator_params:
|
50 |
+
filters: 512
|
51 |
+
is_weight_norm: false
|
52 |
+
kernel_size: 7
|
53 |
+
out_channels: 1
|
54 |
+
stack_kernel_size: 3
|
55 |
+
stacks: 3
|
56 |
+
upsample_scales:
|
57 |
+
- 8
|
58 |
+
- 8
|
59 |
+
- 2
|
60 |
+
- 2
|
61 |
+
hop_size: 256
|
62 |
+
is_shuffle: true
|
63 |
+
lambda_adv: 4.0
|
64 |
+
lambda_feat_match: 10.0
|
65 |
+
log_interval_steps: 200
|
66 |
+
num_save_intermediate_results: 1
|
67 |
+
outdir: ./egs/ljspeech/exp/melgan.stft.v2/
|
68 |
+
remove_short_samples: true
|
69 |
+
resume: egs/ljspeech/exp/melgan.stft.v2/checkpoints/ckpt-100000
|
70 |
+
sampling_rate: 22050
|
71 |
+
save_interval_steps: 20000
|
72 |
+
stft_loss_params:
|
73 |
+
fft_lengths:
|
74 |
+
- 1024
|
75 |
+
- 2048
|
76 |
+
- 512
|
77 |
+
frame_lengths:
|
78 |
+
- 600
|
79 |
+
- 1200
|
80 |
+
- 240
|
81 |
+
frame_steps:
|
82 |
+
- 120
|
83 |
+
- 240
|
84 |
+
- 50
|
85 |
+
train_dir: ./egs/ljspeech/dump/train/
|
86 |
+
train_max_steps: 4000000
|
87 |
+
use_norm: true
|
88 |
+
verbose: 1
|
89 |
+
version: 0.3.4
|
melgan-stft/melgan_stft.v1.yaml
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
# This is the hyperparameter configuration file for MelGAN with Multi Resolution STFT.
|
3 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
4 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
5 |
+
# This configuration performs 4000k iters.
|
6 |
+
|
7 |
+
###########################################################
|
8 |
+
# FEATURE EXTRACTION SETTING #
|
9 |
+
###########################################################
|
10 |
+
sampling_rate: 22050
|
11 |
+
hop_size: 256 # Hop size.
|
12 |
+
format: "npy"
|
13 |
+
|
14 |
+
|
15 |
+
###########################################################
|
16 |
+
# GENERATOR NETWORK ARCHITECTURE SETTING #
|
17 |
+
###########################################################
|
18 |
+
model_type: "melgan_generator"
|
19 |
+
|
20 |
+
melgan_generator_params:
|
21 |
+
out_channels: 1 # Number of output channels.
|
22 |
+
kernel_size: 7 # Kernel size of initial and final conv layers.
|
23 |
+
filters: 512 # Initial number of channels for conv layers.
|
24 |
+
upsample_scales: [8, 8, 2, 2] # List of Upsampling scales.
|
25 |
+
stack_kernel_size: 3 # Kernel size of dilated conv layers in residual stack.
|
26 |
+
stacks: 3 # Number of stacks in a single residual stack module.
|
27 |
+
is_weight_norm: false
|
28 |
+
|
29 |
+
###########################################################
|
30 |
+
# DISCRIMINATOR NETWORK ARCHITECTURE SETTING #
|
31 |
+
###########################################################
|
32 |
+
melgan_discriminator_params:
|
33 |
+
out_channels: 1 # Number of output channels.
|
34 |
+
scales: 3 # Number of multi-scales.
|
35 |
+
downsample_pooling: "AveragePooling1D" # Pooling type for the input downsampling.
|
36 |
+
downsample_pooling_params: # Parameters of the above pooling function.
|
37 |
+
pool_size: 4
|
38 |
+
strides: 2
|
39 |
+
kernel_sizes: [5, 3] # List of kernel size.
|
40 |
+
filters: 16 # Number of channels of the initial conv layer.
|
41 |
+
max_downsample_filters: 1024 # Maximum number of channels of downsampling layers.
|
42 |
+
downsample_scales: [4, 4, 4, 4] # List of downsampling scales.
|
43 |
+
nonlinear_activation: "LeakyReLU" # Nonlinear activation function.
|
44 |
+
nonlinear_activation_params: # Parameters of nonlinear activation function.
|
45 |
+
alpha: 0.2
|
46 |
+
is_weight_norm: false
|
47 |
+
|
48 |
+
###########################################################
|
49 |
+
# STFT LOSS SETTING #
|
50 |
+
###########################################################
|
51 |
+
stft_loss_params:
|
52 |
+
fft_lengths: [1024, 2048, 512] # List of FFT size for STFT-based loss.
|
53 |
+
frame_steps: [120, 240, 50] # List of hop size for STFT-based loss
|
54 |
+
frame_lengths: [600, 1200, 240] # List of window length for STFT-based loss.
|
55 |
+
|
56 |
+
|
57 |
+
###########################################################
|
58 |
+
# ADVERSARIAL LOSS SETTING #
|
59 |
+
###########################################################
|
60 |
+
lambda_feat_match: 10.0
|
61 |
+
lambda_adv: 4.0
|
62 |
+
|
63 |
+
###########################################################
|
64 |
+
# DATA LOADER SETTING #
|
65 |
+
###########################################################
|
66 |
+
batch_size: 16 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
67 |
+
batch_max_steps: 8192 # Length of each audio in batch for training. Make sure dividable by hop_size.
|
68 |
+
batch_max_steps_valid: 81920 # Length of each audio for validation. Make sure dividable by hope_size.
|
69 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
70 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
71 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
72 |
+
|
73 |
+
###########################################################
|
74 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
75 |
+
###########################################################
|
76 |
+
generator_optimizer_params:
|
77 |
+
lr_fn: "PiecewiseConstantDecay"
|
78 |
+
lr_params:
|
79 |
+
boundaries: [100000] # = discriminator_train_start_steps.
|
80 |
+
values: [0.0005, 0.0001] # learning rate each interval.
|
81 |
+
|
82 |
+
|
83 |
+
discriminator_optimizer_params:
|
84 |
+
lr_fn: "PiecewiseConstantDecay"
|
85 |
+
lr_params:
|
86 |
+
boundaries: [0] # after resume and start training discriminator, global steps is 100k, but local discriminator step is 0
|
87 |
+
values: [0.0001, 0.0001] # learning rate each interval.
|
88 |
+
|
89 |
+
gradient_accumulation_steps: 1
|
90 |
+
###########################################################
|
91 |
+
# INTERVAL SETTING #
|
92 |
+
###########################################################
|
93 |
+
discriminator_train_start_steps: 100000 # steps begin training discriminator
|
94 |
+
train_max_steps: 4000000 # Number of training steps.
|
95 |
+
save_interval_steps: 20000 # Interval steps to save checkpoint.
|
96 |
+
eval_interval_steps: 5000 # Interval steps to evaluate the network.
|
97 |
+
log_interval_steps: 200 # Interval steps to record the training log.
|
98 |
+
|
99 |
+
###########################################################
|
100 |
+
# OTHER SETTING #
|
101 |
+
###########################################################
|
102 |
+
num_save_intermediate_results: 1 # Number of batch to be saved as intermediate results.
|
melgan/config.yml
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
# This is the hyperparameter configuration file for MelGAN.
|
3 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
4 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
5 |
+
# This configuration performs 4000k iters.
|
6 |
+
|
7 |
+
###########################################################
|
8 |
+
# FEATURE EXTRACTION SETTING #
|
9 |
+
###########################################################
|
10 |
+
sampling_rate: 22050 # Sampling rate of dataset.
|
11 |
+
hop_size: 256 # Hop size.
|
12 |
+
format: "npy"
|
13 |
+
|
14 |
+
|
15 |
+
###########################################################
|
16 |
+
# GENERATOR NETWORK ARCHITECTURE SETTING #
|
17 |
+
###########################################################
|
18 |
+
model_type: "melgan_generator"
|
19 |
+
|
20 |
+
melgan_generator_params:
|
21 |
+
out_channels: 1 # Number of output channels.
|
22 |
+
kernel_size: 7 # Kernel size of initial and final conv layers.
|
23 |
+
filters: 512 # Initial number of channels for conv layers.
|
24 |
+
upsample_scales: [8, 8, 2, 2] # List of Upsampling scales.
|
25 |
+
stack_kernel_size: 3 # Kernel size of dilated conv layers in residual stack.
|
26 |
+
stacks: 3 # Number of stacks in a single residual stack module.
|
27 |
+
is_weight_norm: false # Use weight-norm or not.
|
28 |
+
|
29 |
+
###########################################################
|
30 |
+
# DISCRIMINATOR NETWORK ARCHITECTURE SETTING #
|
31 |
+
###########################################################
|
32 |
+
melgan_discriminator_params:
|
33 |
+
out_channels: 1 # Number of output channels.
|
34 |
+
scales: 3 # Number of multi-scales.
|
35 |
+
downsample_pooling: "AveragePooling1D" # Pooling type for the input downsampling.
|
36 |
+
downsample_pooling_params: # Parameters of the above pooling function.
|
37 |
+
pool_size: 4
|
38 |
+
strides: 2
|
39 |
+
kernel_sizes: [5, 3] # List of kernel size.
|
40 |
+
filters: 16 # Number of channels of the initial conv layer.
|
41 |
+
max_downsample_filters: 1024 # Maximum number of channels of downsampling layers.
|
42 |
+
downsample_scales: [4, 4, 4, 4] # List of downsampling scales.
|
43 |
+
nonlinear_activation: "LeakyReLU" # Nonlinear activation function.
|
44 |
+
nonlinear_activation_params: # Parameters of nonlinear activation function.
|
45 |
+
alpha: 0.2
|
46 |
+
is_weight_norm: false # Use weight-norm or not.
|
47 |
+
|
48 |
+
###########################################################
|
49 |
+
# ADVERSARIAL LOSS SETTING #
|
50 |
+
###########################################################
|
51 |
+
lambda_feat_match: 10.0
|
52 |
+
|
53 |
+
###########################################################
|
54 |
+
# DATA LOADER SETTING #
|
55 |
+
###########################################################
|
56 |
+
batch_size: 16 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
57 |
+
batch_max_steps: 8192 # Length of each audio in batch for training. Make sure dividable by hop_size.
|
58 |
+
batch_max_steps_valid: 81920 # Length of each audio for validation. Make sure dividable by hope_size.
|
59 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
60 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
61 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
62 |
+
|
63 |
+
###########################################################
|
64 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
65 |
+
###########################################################
|
66 |
+
generator_optimizer_params:
|
67 |
+
lr: 0.0001 # Generator's learning rate.
|
68 |
+
beta_1: 0.5
|
69 |
+
beta_2: 0.9
|
70 |
+
|
71 |
+
discriminator_optimizer_params:
|
72 |
+
lr: 0.0001 # Discriminator's learning rate.
|
73 |
+
beta_1: 0.5
|
74 |
+
beta_2: 0.9
|
75 |
+
|
76 |
+
gradient_accumulation_steps: 1
|
77 |
+
###########################################################
|
78 |
+
# INTERVAL SETTING #
|
79 |
+
###########################################################
|
80 |
+
train_max_steps: 4000000 # Number of training steps.
|
81 |
+
save_interval_steps: 3 # Interval steps to save checkpoint.
|
82 |
+
eval_interval_steps: 2 # Interval steps to evaluate the network.
|
83 |
+
log_interval_steps: 1 # Interval steps to record the training log.
|
84 |
+
discriminator_train_start_steps: 0 # step to start training discriminator.
|
85 |
+
|
86 |
+
###########################################################
|
87 |
+
# OTHER SETTING #
|
88 |
+
###########################################################
|
89 |
+
num_save_intermediate_results: 1 # Number of batch to be saved as intermediate results.
|
melgan/model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:33204255555aa9992443585cfdff3befe88d2f60b94224f0493acdf43ee84f19
|
3 |
+
size 17142440
|
tacatron2/config.yml
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This is the hyperparameter configuration file for Tacotron2 v1.
|
2 |
+
# Please make sure this is adjusted for the LJSpeech dataset. If you want to
|
3 |
+
# apply to the other dataset, you might need to carefully change some parameters.
|
4 |
+
# This configuration performs 200k iters but 65k iters is enough to get a good models.
|
5 |
+
|
6 |
+
###########################################################
|
7 |
+
# FEATURE EXTRACTION SETTING #
|
8 |
+
###########################################################
|
9 |
+
hop_size: 256 # Hop size.
|
10 |
+
format: "npy"
|
11 |
+
|
12 |
+
|
13 |
+
###########################################################
|
14 |
+
# NETWORK ARCHITECTURE SETTING #
|
15 |
+
###########################################################
|
16 |
+
model_type: "tacotron2"
|
17 |
+
|
18 |
+
tacotron2_params:
|
19 |
+
dataset: ljspeech
|
20 |
+
embedding_hidden_size: 512
|
21 |
+
initializer_range: 0.02
|
22 |
+
embedding_dropout_prob: 0.1
|
23 |
+
n_speakers: 1
|
24 |
+
n_conv_encoder: 5
|
25 |
+
encoder_conv_filters: 512
|
26 |
+
encoder_conv_kernel_sizes: 5
|
27 |
+
encoder_conv_activation: 'relu'
|
28 |
+
encoder_conv_dropout_rate: 0.5
|
29 |
+
encoder_lstm_units: 256
|
30 |
+
n_prenet_layers: 2
|
31 |
+
prenet_units: 256
|
32 |
+
prenet_activation: 'relu'
|
33 |
+
prenet_dropout_rate: 0.5
|
34 |
+
n_lstm_decoder: 1
|
35 |
+
reduction_factor: 1
|
36 |
+
decoder_lstm_units: 1024
|
37 |
+
attention_dim: 128
|
38 |
+
attention_filters: 32
|
39 |
+
attention_kernel: 31
|
40 |
+
n_mels: 80
|
41 |
+
n_conv_postnet: 5
|
42 |
+
postnet_conv_filters: 512
|
43 |
+
postnet_conv_kernel_sizes: 5
|
44 |
+
postnet_dropout_rate: 0.1
|
45 |
+
attention_type: "lsa"
|
46 |
+
|
47 |
+
###########################################################
|
48 |
+
# DATA LOADER SETTING #
|
49 |
+
###########################################################
|
50 |
+
batch_size: 32 # Batch size for each GPU with assuming that gradient_accumulation_steps == 1.
|
51 |
+
remove_short_samples: true # Whether to remove samples the length of which are less than batch_max_steps.
|
52 |
+
allow_cache: true # Whether to allow cache in dataset. If true, it requires cpu memory.
|
53 |
+
mel_length_threshold: 32 # remove all targets has mel_length <= 32
|
54 |
+
is_shuffle: true # shuffle dataset after each epoch.
|
55 |
+
use_fixed_shapes: true # use_fixed_shapes for training (2x speed-up)
|
56 |
+
# refer (https://github.com/dathudeptrai/TensorflowTTS/issues/34#issuecomment-642309118)
|
57 |
+
|
58 |
+
###########################################################
|
59 |
+
# OPTIMIZER & SCHEDULER SETTING #
|
60 |
+
###########################################################
|
61 |
+
optimizer_params:
|
62 |
+
initial_learning_rate: 0.001
|
63 |
+
end_learning_rate: 0.00001
|
64 |
+
decay_steps: 150000 # < train_max_steps is recommend.
|
65 |
+
warmup_proportion: 0.02
|
66 |
+
weight_decay: 0.001
|
67 |
+
|
68 |
+
gradient_accumulation_steps: 1
|
69 |
+
var_train_expr: null # trainable variable expr (eg. 'embeddings|decoder_cell' )
|
70 |
+
# must separate by |. if var_train_expr is null then we
|
71 |
+
# training all variables.
|
72 |
+
###########################################################
|
73 |
+
# INTERVAL SETTING #
|
74 |
+
###########################################################
|
75 |
+
train_max_steps: 200000 # Number of training steps.
|
76 |
+
save_interval_steps: 2000 # Interval steps to save checkpoint.
|
77 |
+
eval_interval_steps: 500 # Interval steps to evaluate the network.
|
78 |
+
log_interval_steps: 200 # Interval steps to record the training log.
|
79 |
+
start_schedule_teacher_forcing: 200001 # don't need to apply schedule teacher forcing.
|
80 |
+
start_ratio_value: 0.5 # start ratio of scheduled teacher forcing.
|
81 |
+
schedule_decay_steps: 50000 # decay step scheduled teacher forcing.
|
82 |
+
end_ratio_value: 0.0 # end ratio of scheduled teacher forcing.
|
83 |
+
###########################################################
|
84 |
+
# OTHER SETTING #
|
85 |
+
###########################################################
|
86 |
+
num_save_intermediate_results: 1 # Number of results to be saved as intermediate results.
|
tacatron2/model.h5
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5f1a59e2e0fb31325b9103762f8709fa8f1f90f3fb8fc095d4dabb7e6722d406
|
3 |
+
size 127975304
|
tacatron2/processor.json
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
{"symbol_to_id": {"pad": 0, "-": 1, "!": 2, "'": 3, "(": 4, ")": 5, ",": 6, ".": 7, ":": 8, ";": 9, "?": 10, " ": 11, "A": 12, "B": 13, "C": 14, "D": 15, "E": 16, "F": 17, "G": 18, "H": 19, "I": 20, "J": 21, "K": 22, "L": 23, "M": 24, "N": 25, "O": 26, "P": 27, "Q": 28, "R": 29, "S": 30, "T": 31, "U": 32, "V": 33, "W": 34, "X": 35, "Y": 36, "Z": 37, "a": 38, "b": 39, "c": 40, "d": 41, "e": 42, "f": 43, "g": 44, "h": 45, "i": 46, "j": 47, "k": 48, "l": 49, "m": 50, "n": 51, "o": 52, "p": 53, "q": 54, "r": 55, "s": 56, "t": 57, "u": 58, "v": 59, "w": 60, "x": 61, "y": 62, "z": 63, "@AA": 64, "@AA0": 65, "@AA1": 66, "@AA2": 67, "@AE": 68, "@AE0": 69, "@AE1": 70, "@AE2": 71, "@AH": 72, "@AH0": 73, "@AH1": 74, "@AH2": 75, "@AO": 76, "@AO0": 77, "@AO1": 78, "@AO2": 79, "@AW": 80, "@AW0": 81, "@AW1": 82, "@AW2": 83, "@AY": 84, "@AY0": 85, "@AY1": 86, "@AY2": 87, "@B": 88, "@CH": 89, "@D": 90, "@DH": 91, "@EH": 92, "@EH0": 93, "@EH1": 94, "@EH2": 95, "@ER": 96, "@ER0": 97, "@ER1": 98, "@ER2": 99, "@EY": 100, "@EY0": 101, "@EY1": 102, "@EY2": 103, "@F": 104, "@G": 105, "@HH": 106, "@IH": 107, "@IH0": 108, "@IH1": 109, "@IH2": 110, "@IY": 111, "@IY0": 112, "@IY1": 113, "@IY2": 114, "@JH": 115, "@K": 116, "@L": 117, "@M": 118, "@N": 119, "@NG": 120, "@OW": 121, "@OW0": 122, "@OW1": 123, "@OW2": 124, "@OY": 125, "@OY0": 126, "@OY1": 127, "@OY2": 128, "@P": 129, "@R": 130, "@S": 131, "@SH": 132, "@T": 133, "@TH": 134, "@UH": 135, "@UH0": 136, "@UH1": 137, "@UH2": 138, "@UW": 139, "@UW0": 140, "@UW1": 141, "@UW2": 142, "@V": 143, "@W": 144, "@Y": 145, "@Z": 146, "@ZH": 147, "eos": 148}, "id_to_symbol": {"0": "pad", "1": "-", "2": "!", "3": "'", "4": "(", "5": ")", "6": ",", "7": ".", "8": ":", "9": ";", "10": "?", "11": " ", "12": "A", "13": "B", "14": "C", "15": "D", "16": "E", "17": "F", "18": "G", "19": "H", "20": "I", "21": "J", "22": "K", "23": "L", "24": "M", "25": "N", "26": "O", "27": "P", "28": "Q", "29": "R", "30": "S", "31": "T", "32": "U", "33": "V", "34": "W", "35": "X", "36": "Y", "37": "Z", "38": "a", "39": "b", "40": "c", "41": "d", "42": "e", "43": "f", "44": "g", "45": "h", "46": "i", "47": "j", "48": "k", "49": "l", "50": "m", "51": "n", "52": "o", "53": "p", "54": "q", "55": "r", "56": "s", "57": "t", "58": "u", "59": "v", "60": "w", "61": "x", "62": "y", "63": "z", "64": "@AA", "65": "@AA0", "66": "@AA1", "67": "@AA2", "68": "@AE", "69": "@AE0", "70": "@AE1", "71": "@AE2", "72": "@AH", "73": "@AH0", "74": "@AH1", "75": "@AH2", "76": "@AO", "77": "@AO0", "78": "@AO1", "79": "@AO2", "80": "@AW", "81": "@AW0", "82": "@AW1", "83": "@AW2", "84": "@AY", "85": "@AY0", "86": "@AY1", "87": "@AY2", "88": "@B", "89": "@CH", "90": "@D", "91": "@DH", "92": "@EH", "93": "@EH0", "94": "@EH1", "95": "@EH2", "96": "@ER", "97": "@ER0", "98": "@ER1", "99": "@ER2", "100": "@EY", "101": "@EY0", "102": "@EY1", "103": "@EY2", "104": "@F", "105": "@G", "106": "@HH", "107": "@IH", "108": "@IH0", "109": "@IH1", "110": "@IH2", "111": "@IY", "112": "@IY0", "113": "@IY1", "114": "@IY2", "115": "@JH", "116": "@K", "117": "@L", "118": "@M", "119": "@N", "120": "@NG", "121": "@OW", "122": "@OW0", "123": "@OW1", "124": "@OW2", "125": "@OY", "126": "@OY0", "127": "@OY1", "128": "@OY2", "129": "@P", "130": "@R", "131": "@S", "132": "@SH", "133": "@T", "134": "@TH", "135": "@UH", "136": "@UH0", "137": "@UH1", "138": "@UH2", "139": "@UW", "140": "@UW0", "141": "@UW1", "142": "@UW2", "143": "@V", "144": "@W", "145": "@Y", "146": "@Z", "147": "@ZH", "148": "eos"}, "speakers_map": {"ljspeech": 0}, "processor_name": "LJSpeechProcessor"}
|