From d55f02b1e6bace5e43ad566d64168d756c84cac8 Mon Sep 17 00:00:00 2001 From: SongtingLiu <112609742+SongtingLiu@users.noreply.github.com> Date: Sat, 11 Feb 2023 08:22:58 +0800 Subject: [PATCH] Add files via upload --- attentions.py | 303 + commons.py | 161 + configs/chinese_base.json | 55 + configs/cjke_base.json | 54 + configs/cjks_base.json | 55 + configs/finetune_speaker.json | 54 + configs/japanese_base.json | 55 + configs/japanese_base2.json | 55 + configs/japanese_ss_base2.json | 54 + configs/korean_base.json | 55 + configs/sanskrit_base.json | 55 + configs/saya.json | 55 + configs/saya_finetune_speaker.json | 55 + configs/shanghainese_base.json | 55 + configs/uma87.json | 142 + configs/uma_hubert.json | 142 + configs/uma_trilingual.json | 54 + configs/yuzu.json | 35 + configs/zero_japanese_base2.json | 55 + configs/zh_ja_mixture_base.json | 55 + data_utils.py | 399 + losses.py | 61 + mel_processing.py | 112 + models.py | 590 + monotonic_align/__init__.py | 19 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 765 bytes .../monotonic_align/core.cp37-win_amd64.pyd | Bin 0 -> 119808 bytes .../Release/core.cp37-win_amd64.exp | Bin 0 -> 697 bytes .../Release/core.cp37-win_amd64.lib | Bin 0 -> 1944 bytes .../Release/core.obj | Bin 0 -> 848249 bytes monotonic_align/core.c | 21299 ++++++++++++++++ monotonic_align/core.pyx | 42 + .../monotonic_align/core.cp37-win_amd64.pyd | Bin 0 -> 119808 bytes monotonic_align/setup.py | 9 + requirements.txt | 23 + text/LICENSE | 19 + text/__init__.py | 59 + text/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 2344 bytes text/__pycache__/cleaners.cpython-37.pyc | Bin 0 -> 5450 bytes text/__pycache__/english.cpython-37.pyc | Bin 0 -> 4932 bytes text/__pycache__/japanese.cpython-37.pyc | Bin 0 -> 4599 bytes text/__pycache__/korean.cpython-37.pyc | Bin 0 -> 5746 bytes text/__pycache__/mandarin.cpython-37.pyc | Bin 0 -> 7511 bytes text/__pycache__/sanskrit.cpython-37.pyc | Bin 0 -> 1627 bytes text/__pycache__/symbols.cpython-37.pyc | Bin 0 -> 417 bytes text/__pycache__/thai.cpython-37.pyc | Bin 0 -> 1410 bytes text/cantonese.py | 59 + text/cleaners.py | 128 + text/english.py | 188 + text/japanese.py | 153 + text/korean.py | 210 + text/mandarin.py | 326 + text/ngu_dialect.py | 30 + text/sanskrit.py | 62 + text/shanghainese.py | 64 + text/symbols.py | 76 + text/thai.py | 44 + transforms.py | 193 + uma_trilingual.json | 54 + utils.py | 258 + 60 files changed, 26081 insertions(+) create mode 100644 attentions.py create mode 100644 commons.py create mode 100644 configs/chinese_base.json create mode 100644 configs/cjke_base.json create mode 100644 configs/cjks_base.json create mode 100644 configs/finetune_speaker.json create mode 100644 configs/japanese_base.json create mode 100644 configs/japanese_base2.json create mode 100644 configs/japanese_ss_base2.json create mode 100644 configs/korean_base.json create mode 100644 configs/sanskrit_base.json create mode 100644 configs/saya.json create mode 100644 configs/saya_finetune_speaker.json create mode 100644 configs/shanghainese_base.json create mode 100644 configs/uma87.json create mode 100644 configs/uma_hubert.json create mode 100644 configs/uma_trilingual.json create mode 100644 configs/yuzu.json create mode 100644 configs/zero_japanese_base2.json create mode 100644 configs/zh_ja_mixture_base.json create mode 100644 data_utils.py create mode 100644 losses.py create mode 100644 mel_processing.py create mode 100644 models.py create mode 100644 monotonic_align/__init__.py create mode 100644 monotonic_align/__pycache__/__init__.cpython-37.pyc create mode 100644 monotonic_align/build/lib.win-amd64-cpython-37/monotonic_align/core.cp37-win_amd64.pyd create mode 100644 monotonic_align/build/temp.win-amd64-cpython-37/Release/core.cp37-win_amd64.exp create mode 100644 monotonic_align/build/temp.win-amd64-cpython-37/Release/core.cp37-win_amd64.lib create mode 100644 monotonic_align/build/temp.win-amd64-cpython-37/Release/core.obj create mode 100644 monotonic_align/core.c create mode 100644 monotonic_align/core.pyx create mode 100644 monotonic_align/monotonic_align/core.cp37-win_amd64.pyd create mode 100644 monotonic_align/setup.py create mode 100644 requirements.txt create mode 100644 text/LICENSE create mode 100644 text/__init__.py create mode 100644 text/__pycache__/__init__.cpython-37.pyc create mode 100644 text/__pycache__/cleaners.cpython-37.pyc create mode 100644 text/__pycache__/english.cpython-37.pyc create mode 100644 text/__pycache__/japanese.cpython-37.pyc create mode 100644 text/__pycache__/korean.cpython-37.pyc create mode 100644 text/__pycache__/mandarin.cpython-37.pyc create mode 100644 text/__pycache__/sanskrit.cpython-37.pyc create mode 100644 text/__pycache__/symbols.cpython-37.pyc create mode 100644 text/__pycache__/thai.cpython-37.pyc create mode 100644 text/cantonese.py create mode 100644 text/cleaners.py create mode 100644 text/english.py create mode 100644 text/japanese.py create mode 100644 text/korean.py create mode 100644 text/mandarin.py create mode 100644 text/ngu_dialect.py create mode 100644 text/sanskrit.py create mode 100644 text/shanghainese.py create mode 100644 text/symbols.py create mode 100644 text/thai.py create mode 100644 transforms.py create mode 100644 uma_trilingual.json create mode 100644 utils.py diff --git a/attentions.py b/attentions.py new file mode 100644 index 0000000..7258a9e --- /dev/null +++ b/attentions.py @@ -0,0 +1,303 @@ +import copy +import math +import numpy as np +import torch +from torch import nn +from torch.nn import functional as F + +import commons +import modules +from modules import LayerNorm + + +class Encoder(nn.Module): + def __init__(self, hidden_channels, filter_channels, n_heads, n_layers, kernel_size=1, p_dropout=0., window_size=4, **kwargs): + super().__init__() + self.hidden_channels = hidden_channels + self.filter_channels = filter_channels + self.n_heads = n_heads + self.n_layers = n_layers + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.window_size = window_size + + self.drop = nn.Dropout(p_dropout) + self.attn_layers = nn.ModuleList() + self.norm_layers_1 = nn.ModuleList() + self.ffn_layers = nn.ModuleList() + self.norm_layers_2 = nn.ModuleList() + for i in range(self.n_layers): + self.attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout, window_size=window_size)) + self.norm_layers_1.append(LayerNorm(hidden_channels)) + self.ffn_layers.append(FFN(hidden_channels, hidden_channels, filter_channels, kernel_size, p_dropout=p_dropout)) + self.norm_layers_2.append(LayerNorm(hidden_channels)) + + def forward(self, x, x_mask): + attn_mask = x_mask.unsqueeze(2) * x_mask.unsqueeze(-1) + x = x * x_mask + for i in range(self.n_layers): + y = self.attn_layers[i](x, x, attn_mask) + y = self.drop(y) + x = self.norm_layers_1[i](x + y) + + y = self.ffn_layers[i](x, x_mask) + y = self.drop(y) + x = self.norm_layers_2[i](x + y) + x = x * x_mask + return x + + +class Decoder(nn.Module): + def __init__(self, hidden_channels, filter_channels, n_heads, n_layers, kernel_size=1, p_dropout=0., proximal_bias=False, proximal_init=True, **kwargs): + super().__init__() + self.hidden_channels = hidden_channels + self.filter_channels = filter_channels + self.n_heads = n_heads + self.n_layers = n_layers + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.proximal_bias = proximal_bias + self.proximal_init = proximal_init + + self.drop = nn.Dropout(p_dropout) + self.self_attn_layers = nn.ModuleList() + self.norm_layers_0 = nn.ModuleList() + self.encdec_attn_layers = nn.ModuleList() + self.norm_layers_1 = nn.ModuleList() + self.ffn_layers = nn.ModuleList() + self.norm_layers_2 = nn.ModuleList() + for i in range(self.n_layers): + self.self_attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout, proximal_bias=proximal_bias, proximal_init=proximal_init)) + self.norm_layers_0.append(LayerNorm(hidden_channels)) + self.encdec_attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout)) + self.norm_layers_1.append(LayerNorm(hidden_channels)) + self.ffn_layers.append(FFN(hidden_channels, hidden_channels, filter_channels, kernel_size, p_dropout=p_dropout, causal=True)) + self.norm_layers_2.append(LayerNorm(hidden_channels)) + + def forward(self, x, x_mask, h, h_mask): + """ + x: decoder input + h: encoder output + """ + self_attn_mask = commons.subsequent_mask(x_mask.size(2)).to(device=x.device, dtype=x.dtype) + encdec_attn_mask = h_mask.unsqueeze(2) * x_mask.unsqueeze(-1) + x = x * x_mask + for i in range(self.n_layers): + y = self.self_attn_layers[i](x, x, self_attn_mask) + y = self.drop(y) + x = self.norm_layers_0[i](x + y) + + y = self.encdec_attn_layers[i](x, h, encdec_attn_mask) + y = self.drop(y) + x = self.norm_layers_1[i](x + y) + + y = self.ffn_layers[i](x, x_mask) + y = self.drop(y) + x = self.norm_layers_2[i](x + y) + x = x * x_mask + return x + + +class MultiHeadAttention(nn.Module): + def __init__(self, channels, out_channels, n_heads, p_dropout=0., window_size=None, heads_share=True, block_length=None, proximal_bias=False, proximal_init=False): + super().__init__() + assert channels % n_heads == 0 + + self.channels = channels + self.out_channels = out_channels + self.n_heads = n_heads + self.p_dropout = p_dropout + self.window_size = window_size + self.heads_share = heads_share + self.block_length = block_length + self.proximal_bias = proximal_bias + self.proximal_init = proximal_init + self.attn = None + + self.k_channels = channels // n_heads + self.conv_q = nn.Conv1d(channels, channels, 1) + self.conv_k = nn.Conv1d(channels, channels, 1) + self.conv_v = nn.Conv1d(channels, channels, 1) + self.conv_o = nn.Conv1d(channels, out_channels, 1) + self.drop = nn.Dropout(p_dropout) + + if window_size is not None: + n_heads_rel = 1 if heads_share else n_heads + rel_stddev = self.k_channels**-0.5 + self.emb_rel_k = nn.Parameter(torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels) * rel_stddev) + self.emb_rel_v = nn.Parameter(torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels) * rel_stddev) + + nn.init.xavier_uniform_(self.conv_q.weight) + nn.init.xavier_uniform_(self.conv_k.weight) + nn.init.xavier_uniform_(self.conv_v.weight) + if proximal_init: + with torch.no_grad(): + self.conv_k.weight.copy_(self.conv_q.weight) + self.conv_k.bias.copy_(self.conv_q.bias) + + def forward(self, x, c, attn_mask=None): + q = self.conv_q(x) + k = self.conv_k(c) + v = self.conv_v(c) + + x, self.attn = self.attention(q, k, v, mask=attn_mask) + + x = self.conv_o(x) + return x + + def attention(self, query, key, value, mask=None): + # reshape [b, d, t] -> [b, n_h, t, d_k] + b, d, t_s, t_t = (*key.size(), query.size(2)) + query = query.view(b, self.n_heads, self.k_channels, t_t).transpose(2, 3) + key = key.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3) + value = value.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3) + + scores = torch.matmul(query / math.sqrt(self.k_channels), key.transpose(-2, -1)) + if self.window_size is not None: + assert t_s == t_t, "Relative attention is only available for self-attention." + key_relative_embeddings = self._get_relative_embeddings(self.emb_rel_k, t_s) + rel_logits = self._matmul_with_relative_keys(query /math.sqrt(self.k_channels), key_relative_embeddings) + scores_local = self._relative_position_to_absolute_position(rel_logits) + scores = scores + scores_local + if self.proximal_bias: + assert t_s == t_t, "Proximal bias is only available for self-attention." + scores = scores + self._attention_bias_proximal(t_s).to(device=scores.device, dtype=scores.dtype) + if mask is not None: + scores = scores.masked_fill(mask == 0, -1e4) + if self.block_length is not None: + assert t_s == t_t, "Local attention is only available for self-attention." + block_mask = torch.ones_like(scores).triu(-self.block_length).tril(self.block_length) + scores = scores.masked_fill(block_mask == 0, -1e4) + p_attn = F.softmax(scores, dim=-1) # [b, n_h, t_t, t_s] + p_attn = self.drop(p_attn) + output = torch.matmul(p_attn, value) + if self.window_size is not None: + relative_weights = self._absolute_position_to_relative_position(p_attn) + value_relative_embeddings = self._get_relative_embeddings(self.emb_rel_v, t_s) + output = output + self._matmul_with_relative_values(relative_weights, value_relative_embeddings) + output = output.transpose(2, 3).contiguous().view(b, d, t_t) # [b, n_h, t_t, d_k] -> [b, d, t_t] + return output, p_attn + + def _matmul_with_relative_values(self, x, y): + """ + x: [b, h, l, m] + y: [h or 1, m, d] + ret: [b, h, l, d] + """ + ret = torch.matmul(x, y.unsqueeze(0)) + return ret + + def _matmul_with_relative_keys(self, x, y): + """ + x: [b, h, l, d] + y: [h or 1, m, d] + ret: [b, h, l, m] + """ + ret = torch.matmul(x, y.unsqueeze(0).transpose(-2, -1)) + return ret + + def _get_relative_embeddings(self, relative_embeddings, length): + max_relative_position = 2 * self.window_size + 1 + # Pad first before slice to avoid using cond ops. + pad_length = max(length - (self.window_size + 1), 0) + slice_start_position = max((self.window_size + 1) - length, 0) + slice_end_position = slice_start_position + 2 * length - 1 + if pad_length > 0: + padded_relative_embeddings = F.pad( + relative_embeddings, + commons.convert_pad_shape([[0, 0], [pad_length, pad_length], [0, 0]])) + else: + padded_relative_embeddings = relative_embeddings + used_relative_embeddings = padded_relative_embeddings[:,slice_start_position:slice_end_position] + return used_relative_embeddings + + def _relative_position_to_absolute_position(self, x): + """ + x: [b, h, l, 2*l-1] + ret: [b, h, l, l] + """ + batch, heads, length, _ = x.size() + # Concat columns of pad to shift from relative to absolute indexing. + x = F.pad(x, commons.convert_pad_shape([[0,0],[0,0],[0,0],[0,1]])) + + # Concat extra elements so to add up to shape (len+1, 2*len-1). + x_flat = x.view([batch, heads, length * 2 * length]) + x_flat = F.pad(x_flat, commons.convert_pad_shape([[0,0],[0,0],[0,length-1]])) + + # Reshape and slice out the padded elements. + x_final = x_flat.view([batch, heads, length+1, 2*length-1])[:, :, :length, length-1:] + return x_final + + def _absolute_position_to_relative_position(self, x): + """ + x: [b, h, l, l] + ret: [b, h, l, 2*l-1] + """ + batch, heads, length, _ = x.size() + # padd along column + x = F.pad(x, commons.convert_pad_shape([[0, 0], [0, 0], [0, 0], [0, length-1]])) + x_flat = x.view([batch, heads, length**2 + length*(length -1)]) + # add 0's in the beginning that will skew the elements after reshape + x_flat = F.pad(x_flat, commons.convert_pad_shape([[0, 0], [0, 0], [length, 0]])) + x_final = x_flat.view([batch, heads, length, 2*length])[:,:,:,1:] + return x_final + + def _attention_bias_proximal(self, length): + """Bias for self-attention to encourage attention to close positions. + Args: + length: an integer scalar. + Returns: + a Tensor with shape [1, 1, length, length] + """ + r = torch.arange(length, dtype=torch.float32) + diff = torch.unsqueeze(r, 0) - torch.unsqueeze(r, 1) + return torch.unsqueeze(torch.unsqueeze(-torch.log1p(torch.abs(diff)), 0), 0) + + +class FFN(nn.Module): + def __init__(self, in_channels, out_channels, filter_channels, kernel_size, p_dropout=0., activation=None, causal=False): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.filter_channels = filter_channels + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.activation = activation + self.causal = causal + + if causal: + self.padding = self._causal_padding + else: + self.padding = self._same_padding + + self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size) + self.conv_2 = nn.Conv1d(filter_channels, out_channels, kernel_size) + self.drop = nn.Dropout(p_dropout) + + def forward(self, x, x_mask): + x = self.conv_1(self.padding(x * x_mask)) + if self.activation == "gelu": + x = x * torch.sigmoid(1.702 * x) + else: + x = torch.relu(x) + x = self.drop(x) + x = self.conv_2(self.padding(x * x_mask)) + return x * x_mask + + def _causal_padding(self, x): + if self.kernel_size == 1: + return x + pad_l = self.kernel_size - 1 + pad_r = 0 + padding = [[0, 0], [0, 0], [pad_l, pad_r]] + x = F.pad(x, commons.convert_pad_shape(padding)) + return x + + def _same_padding(self, x): + if self.kernel_size == 1: + return x + pad_l = (self.kernel_size - 1) // 2 + pad_r = self.kernel_size // 2 + padding = [[0, 0], [0, 0], [pad_l, pad_r]] + x = F.pad(x, commons.convert_pad_shape(padding)) + return x diff --git a/commons.py b/commons.py new file mode 100644 index 0000000..2a0b13a --- /dev/null +++ b/commons.py @@ -0,0 +1,161 @@ +import math +import numpy as np +import torch +from torch import nn +from torch.nn import functional as F + + +def init_weights(m, mean=0.0, std=0.01): + classname = m.__class__.__name__ + if classname.find("Conv") != -1: + m.weight.data.normal_(mean, std) + + +def get_padding(kernel_size, dilation=1): + return int((kernel_size*dilation - dilation)/2) + + +def convert_pad_shape(pad_shape): + l = pad_shape[::-1] + pad_shape = [item for sublist in l for item in sublist] + return pad_shape + + +def intersperse(lst, item): + result = [item] * (len(lst) * 2 + 1) + result[1::2] = lst + return result + + +def kl_divergence(m_p, logs_p, m_q, logs_q): + """KL(P||Q)""" + kl = (logs_q - logs_p) - 0.5 + kl += 0.5 * (torch.exp(2. * logs_p) + ((m_p - m_q)**2)) * torch.exp(-2. * logs_q) + return kl + + +def rand_gumbel(shape): + """Sample from the Gumbel distribution, protect from overflows.""" + uniform_samples = torch.rand(shape) * 0.99998 + 0.00001 + return -torch.log(-torch.log(uniform_samples)) + + +def rand_gumbel_like(x): + g = rand_gumbel(x.size()).to(dtype=x.dtype, device=x.device) + return g + + +def slice_segments(x, ids_str, segment_size=4): + ret = torch.zeros_like(x[:, :, :segment_size]) + for i in range(x.size(0)): + idx_str = ids_str[i] + idx_end = idx_str + segment_size + ret[i] = x[i, :, idx_str:idx_end] + return ret + + +def rand_slice_segments(x, x_lengths=None, segment_size=4): + b, d, t = x.size() + if x_lengths is None: + x_lengths = t + ids_str_max = x_lengths - segment_size + 1 + ids_str = (torch.rand([b]).to(device=x.device) * ids_str_max).to(dtype=torch.long) + ret = slice_segments(x, ids_str, segment_size) + return ret, ids_str + + +def get_timing_signal_1d( + length, channels, min_timescale=1.0, max_timescale=1.0e4): + position = torch.arange(length, dtype=torch.float) + num_timescales = channels // 2 + log_timescale_increment = ( + math.log(float(max_timescale) / float(min_timescale)) / + (num_timescales - 1)) + inv_timescales = min_timescale * torch.exp( + torch.arange(num_timescales, dtype=torch.float) * -log_timescale_increment) + scaled_time = position.unsqueeze(0) * inv_timescales.unsqueeze(1) + signal = torch.cat([torch.sin(scaled_time), torch.cos(scaled_time)], 0) + signal = F.pad(signal, [0, 0, 0, channels % 2]) + signal = signal.view(1, channels, length) + return signal + + +def add_timing_signal_1d(x, min_timescale=1.0, max_timescale=1.0e4): + b, channels, length = x.size() + signal = get_timing_signal_1d(length, channels, min_timescale, max_timescale) + return x + signal.to(dtype=x.dtype, device=x.device) + + +def cat_timing_signal_1d(x, min_timescale=1.0, max_timescale=1.0e4, axis=1): + b, channels, length = x.size() + signal = get_timing_signal_1d(length, channels, min_timescale, max_timescale) + return torch.cat([x, signal.to(dtype=x.dtype, device=x.device)], axis) + + +def subsequent_mask(length): + mask = torch.tril(torch.ones(length, length)).unsqueeze(0).unsqueeze(0) + return mask + + +@torch.jit.script +def fused_add_tanh_sigmoid_multiply(input_a, input_b, n_channels): + n_channels_int = n_channels[0] + in_act = input_a + input_b + t_act = torch.tanh(in_act[:, :n_channels_int, :]) + s_act = torch.sigmoid(in_act[:, n_channels_int:, :]) + acts = t_act * s_act + return acts + + +def convert_pad_shape(pad_shape): + l = pad_shape[::-1] + pad_shape = [item for sublist in l for item in sublist] + return pad_shape + + +def shift_1d(x): + x = F.pad(x, convert_pad_shape([[0, 0], [0, 0], [1, 0]]))[:, :, :-1] + return x + + +def sequence_mask(length, max_length=None): + if max_length is None: + max_length = length.max() + x = torch.arange(max_length, dtype=length.dtype, device=length.device) + return x.unsqueeze(0) < length.unsqueeze(1) + + +def generate_path(duration, mask): + """ + duration: [b, 1, t_x] + mask: [b, 1, t_y, t_x] + """ + device = duration.device + + b, _, t_y, t_x = mask.shape + cum_duration = torch.cumsum(duration, -1) + + cum_duration_flat = cum_duration.view(b * t_x) + path = sequence_mask(cum_duration_flat, t_y).to(mask.dtype) + path = path.view(b, t_x, t_y) + path = path - F.pad(path, convert_pad_shape([[0, 0], [1, 0], [0, 0]]))[:, :-1] + path = path.unsqueeze(1).transpose(2,3) * mask + return path + + +def clip_grad_value_(parameters, clip_value, norm_type=2): + if isinstance(parameters, torch.Tensor): + parameters = [parameters] + parameters = list(filter(lambda p: p.grad is not None, parameters)) + norm_type = float(norm_type) + if clip_value is not None: + clip_value = float(clip_value) + + total_norm = 0 + for p in parameters: + param_norm = p.grad.data.norm(norm_type) + total_norm += param_norm.item() ** norm_type + if clip_value is not None: + p.grad.data.clamp_(min=-clip_value, max=clip_value) + total_norm = total_norm ** (1. / norm_type) + return total_norm diff --git a/configs/chinese_base.json b/configs/chinese_base.json new file mode 100644 index 0000000..126d18b --- /dev/null +++ b/configs/chinese_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/juzi_train_filelist.txt.cleaned", + "validation_files":"filelists/juzi_val_filelist.txt.cleaned", + "text_cleaners":["chinese_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 8, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u5c0f\u8338", "\u5510\u4e50\u541f", "\u5c0f\u6bb7", "\u82b1\u73b2", "\u8bb8\u8001\u5e08", "\u90b1\u7433", "\u4e03\u4e00", "\u516b\u56db"], + "symbols": ["_", "\uff0c", "\u3002", "\uff01", "\uff1f", "\u2014", "\u2026", "\u3105", "\u3106", "\u3107", "\u3108", "\u3109", "\u310a", "\u310b", "\u310c", "\u310d", "\u310e", "\u310f", "\u3110", "\u3111", "\u3112", "\u3113", "\u3114", "\u3115", "\u3116", "\u3117", "\u3118", "\u3119", "\u311a", "\u311b", "\u311c", "\u311d", "\u311e", "\u311f", "\u3120", "\u3121", "\u3122", "\u3123", "\u3124", "\u3125", "\u3126", "\u3127", "\u3128", "\u3129", "\u02c9", "\u02ca", "\u02c7", "\u02cb", "\u02d9", " "] +} diff --git a/configs/cjke_base.json b/configs/cjke_base.json new file mode 100644 index 0000000..2011dab --- /dev/null +++ b/configs/cjke_base.json @@ -0,0 +1,54 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/cjke_train_filelist.txt.cleaned", + "validation_files":"filelists/cjke_val_filelist.txt.cleaned", + "text_cleaners":["cjke_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 2891, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "N", "Q", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "s", "t", "u", "v", "w", "x", "y", "z", "\u0251", "\u00e6", "\u0283", "\u0291", "\u00e7", "\u026f", "\u026a", "\u0254", "\u025b", "\u0279", "\u00f0", "\u0259", "\u026b", "\u0265", "\u0278", "\u028a", "\u027e", "\u0292", "\u03b8", "\u03b2", "\u014b", "\u0266", "\u207c", "\u02b0", "`", "^", "#", "*", "=", "\u02c8", "\u02cc", "\u2192", "\u2193", "\u2191", " "] +} diff --git a/configs/cjks_base.json b/configs/cjks_base.json new file mode 100644 index 0000000..9df183c --- /dev/null +++ b/configs/cjks_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/cjks_train_filelist.txt.cleaned", + "validation_files":"filelists/cjks_val_filelist.txt.cleaned", + "text_cleaners":["cjks_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 24, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7dbe\u5730\u5be7\u3005", "\u671d\u6b66\u82b3\u4e43", "\u5728\u539f\u4e03\u6d77", "\u30eb\u30a4\u30ba", "\u91d1\u8272\u306e\u95c7", "\u30e2\u30e2", "\u7d50\u57ce\u7f8e\u67d1", "\u5c0f\u8338", "\u5510\u4e50\u541f", "\u5c0f\u6bb7", "\u82b1\u73b2", "\u516b\u56db", "\uc218\uc544", "\ubbf8\ubbf8\ub974", "\uc544\ub9b0", "\uc720\ud654", "\uc5f0\ud654", "SA1", "SA2", "SA3", "SA4", "SA5", "SA6", ""], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "N", "Q", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "s", "t", "u", "v", "w", "x", "y", "z", "\u0283", "\u02a7", "\u02a5", "\u02a6", "\u026f", "\u0279", "\u0259", "\u0265", "\u00e7", "\u0278", "\u027e", "\u03b2", "\u014b", "\u0266", "\u02d0", "\u207c", "\u02b0", "`", "^", "#", "*", "=", "\u2192", "\u2193", "\u2191", " "] +} diff --git a/configs/finetune_speaker.json b/configs/finetune_speaker.json new file mode 100644 index 0000000..3faa2dd --- /dev/null +++ b/configs/finetune_speaker.json @@ -0,0 +1,54 @@ +{ + "train": { + "log_interval": 100, + "eval_interval": 200, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 16, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"../CH_JA_EN_mix_voice/rosalia/rosalia.txt.cleaned", + "validation_files":"../CH_JA_EN_mix_voice/rosalia/rosalia.txt.cleaned", + "text_cleaners":["cjke_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 1001, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "N", "Q", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "s", "t", "u", "v", "w", "x", "y", "z", "\u0251", "\u00e6", "\u0283", "\u0291", "\u00e7", "\u026f", "\u026a", "\u0254", "\u025b", "\u0279", "\u00f0", "\u0259", "\u026b", "\u0265", "\u0278", "\u028a", "\u027e", "\u0292", "\u03b8", "\u03b2", "\u014b", "\u0266", "\u207c", "\u02b0", "`", "^", "#", "*", "=", "\u02c8", "\u02cc", "\u2192", "\u2193", "\u2191", " "] +} \ No newline at end of file diff --git a/configs/japanese_base.json b/configs/japanese_base.json new file mode 100644 index 0000000..3d4b9e6 --- /dev/null +++ b/configs/japanese_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/train_filelist.txt.cleaned", + "validation_files":"filelists/val_filelist.txt.cleaned", + "text_cleaners":["japanese_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 7, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7dbe\u5730\u5be7\u3005", "\u56e0\u5e61\u3081\u3050\u308b", "\u671d\u6b66\u82b3\u4e43", "\u5e38\u9678\u8309\u5b50", "\u30e0\u30e9\u30b5\u30e1", "\u978d\u99ac\u5c0f\u6625", "\u5728\u539f\u4e03\u6d77"], + "symbols": ["_", ",", ".", "!", "?", "-", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u2193", "\u2191", " "] +} diff --git a/configs/japanese_base2.json b/configs/japanese_base2.json new file mode 100644 index 0000000..6803031 --- /dev/null +++ b/configs/japanese_base2.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/hamidashi_train_filelist.txt.cleaned", + "validation_files":"filelists/hamidashi_val_filelist.txt.cleaned", + "text_cleaners":["japanese_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 8, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u548c\u6cc9\u5983\u611b", "\u5e38\u76e4\u83ef\u4e43", "\u9326\u3042\u3059\u307f", "\u938c\u5009\u8a69\u685c", "\u7adc\u9591\u5929\u68a8", "\u548c\u6cc9\u91cc", "\u65b0\u5ddd\u5e83\u5922", "\u8056\u8389\u3005\u5b50"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u2193", "\u2191", " "] +} diff --git a/configs/japanese_ss_base2.json b/configs/japanese_ss_base2.json new file mode 100644 index 0000000..70ed318 --- /dev/null +++ b/configs/japanese_ss_base2.json @@ -0,0 +1,54 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 20000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/train_filelist.txt.cleaned", + "validation_files":"filelists/val_filelist.txt.cleaned", + "text_cleaners":["japanese_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 0, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false + }, + "speakers": ["\u30eb\u30a4\u30ba"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u2193", "\u2191", " "] +} diff --git a/configs/korean_base.json b/configs/korean_base.json new file mode 100644 index 0000000..cc088f6 --- /dev/null +++ b/configs/korean_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/fox_train_filelist.txt.cleaned", + "validation_files":"filelists/fox_val_filelist.txt.cleaned", + "text_cleaners":["korean_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 6, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\uc218\uc544", "\ubbf8\ubbf8\ub974", "\uc544\ub9b0", "\uc5f0\ud654", "\uc720\ud654", "\uc120\ubc30"], + "symbols": ["_", ",", ".", "!", "?", "\u2026", "~", "\u3131", "\u3134", "\u3137", "\u3139", "\u3141", "\u3142", "\u3145", "\u3147", "\u3148", "\u314a", "\u314b", "\u314c", "\u314d", "\u314e", "\u3132", "\u3138", "\u3143", "\u3146", "\u3149", "\u314f", "\u3153", "\u3157", "\u315c", "\u3161", "\u3163", "\u3150", "\u3154", " "] +} diff --git a/configs/sanskrit_base.json b/configs/sanskrit_base.json new file mode 100644 index 0000000..d83bda3 --- /dev/null +++ b/configs/sanskrit_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/sanskrit_train_filelist.txt.cleaned", + "validation_files":"filelists/sanskrit_val_filelist.txt.cleaned", + "text_cleaners":["sanskrit_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 27, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["Male 1", "Male 2", "Male 3", "Male 4 (Malayalam)", "Male 5", "Male 6", "Male 7", "Male 8 (Kannada)", "Female 1 (Tamil)", "Male 9 (Kannada)", "Female 2 (Marathi)", "Female 3 (Marathi)", "Female 4 (Marathi)", "Female 5 (Telugu)", "Female 6 (Telugu)", "Male 10 (Kannada)", "Male 11 (Kannada)", "Male 12", "Male 13", "Male 14", "Male 15", "Female 7", "Male 16 (Malayalam)", "Male 17 (Tamil)", "Male 18 (Hindi)", "Male 19 (Telugu)", "Male 20 (Hindi)"], + "symbols": ["_", "\u0964", "\u0901", "\u0902", "\u0903", "\u0905", "\u0906", "\u0907", "\u0908", "\u0909", "\u090a", "\u090b", "\u090f", "\u0910", "\u0913", "\u0914", "\u0915", "\u0916", "\u0917", "\u0918", "\u0919", "\u091a", "\u091b", "\u091c", "\u091d", "\u091e", "\u091f", "\u0920", "\u0921", "\u0922", "\u0923", "\u0924", "\u0925", "\u0926", "\u0927", "\u0928", "\u092a", "\u092b", "\u092c", "\u092d", "\u092e", "\u092f", "\u0930", "\u0932", "\u0933", "\u0935", "\u0936", "\u0937", "\u0938", "\u0939", "\u093d", "\u093e", "\u093f", "\u0940", "\u0941", "\u0942", "\u0943", "\u0944", "\u0947", "\u0948", "\u094b", "\u094c", "\u094d", "\u0960", "\u0962", " "] +} diff --git a/configs/saya.json b/configs/saya.json new file mode 100644 index 0000000..fc9db03 --- /dev/null +++ b/configs/saya.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 64, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/uma_genshin_genshinjp_bh3_train.txt.cleaned", + "validation_files":"filelists/uma_genshin_genshinjp_bh3_val.txt.cleaned", + "text_cleaners":["zh_ja_mixture_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 804, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7279\u522b\u5468", "\u65e0\u58f0\u94c3\u9e7f", "\u4e1c\u6d77\u5e1d\u7687\uff08\u5e1d\u5b9d\uff0c\u5e1d\u738b\uff09", "\u4e38\u5584\u65af\u57fa", "\u5bcc\u58eb\u5947\u8ff9", "\u5c0f\u6817\u5e3d", "\u9ec4\u91d1\u8239", "\u4f0f\u7279\u52a0", "\u5927\u548c\u8d64\u9aa5", "\u5927\u6811\u5feb\u8f66", "\u8349\u4e0a\u98de", "\u83f1\u4e9a\u9a6c\u900a", "\u76ee\u767d\u9ea6\u6606", "\u795e\u9e70", "\u597d\u6b4c\u5267", "\u6210\u7530\u767d\u4ec1", "\u9c81\u9053\u592b\u8c61\u5f81\uff08\u7687\u5e1d\uff09", "\u6c14\u69fd", "\u7231\u4e3d\u6570\u7801", "\u661f\u4e91\u5929\u7a7a", "\u7389\u85fb\u5341\u5b57", "\u7f8e\u5999\u59ff\u52bf", "\u7435\u7436\u6668\u5149", "\u6469\u8036\u91cd\u70ae", "\u66fc\u57ce\u8336\u5ea7", "\u7f8e\u6d66\u6ce2\u65c1", "\u76ee\u767d\u8d56\u6069", "\u83f1\u66d9", "\u96ea\u4e2d\u7f8e\u4eba", "\u7c73\u6d74", "\u827e\u5c3c\u65af\u98ce\u795e", "\u7231\u4e3d\u901f\u5b50\uff08\u7231\u4e3d\u5feb\u5b50\uff09", "\u7231\u6155\u7ec7\u59ec", "\u7a3b\u8377\u4e00", "\u80dc\u5229\u5956\u5238", "\u7a7a\u4e2d\u795e\u5bab", "\u8363\u8fdb\u95ea\u8000", "\u771f\u673a\u4f36", "\u5ddd\u4e0a\u516c\u4e3b", "\u9ec4\u91d1\u57ce\uff08\u9ec4\u91d1\u57ce\u5e02\uff09", "\u6a31\u82b1\u8fdb\u738b", "\u91c7\u73e0", "\u65b0\u5149\u98ce", "\u4e1c\u5546\u53d8\u9769", "\u8d85\u7ea7\u5c0f\u6d77\u6e7e", "\u9192\u76ee\u98de\u9e70\uff08\u5bc4\u5bc4\u5b50\uff09", "\u8352\u6f20\u82f1\u96c4", "\u4e1c\u701b\u4f50\u6566", "\u4e2d\u5c71\u5e86\u5178", "\u6210\u7530\u5927\u8fdb", "\u897f\u91ce\u82b1", "\u6625\u4e3d\uff08\u4e4c\u62c9\u62c9\uff09", "\u9752\u7af9\u56de\u5fc6", "\u5fae\u5149\u98de\u9a79", "\u7f8e\u4e3d\u5468\u65e5", "\u5f85\u517c\u798f\u6765", "mr cb\uff08cb\u5148\u751f\uff09", "\u540d\u5c06\u6012\u6d9b\uff08\u540d\u5c06\u6237\u4ec1\uff09", "\u76ee\u767d\u591a\u4f2f", "\u4f18\u79c0\u7d20\u8d28", "\u5e1d\u738b\u5149\u8f89", "\u5f85\u517c\u8bd7\u6b4c\u5267", "\u751f\u91ce\u72c4\u675c\u65af", "\u76ee\u767d\u5584\u4fe1", "\u5927\u62d3\u592a\u9633\u795e", "\u53cc\u6da1\u8f6e\uff08\u4e24\u7acb\u76f4\uff0c\u4e24\u55b7\u5c04\uff0c\u4e8c\u9505\u5934\uff0c\u9006\u55b7\u5c04\uff09", "\u91cc\u89c1\u5149\u94bb\uff08\u8428\u6258\u8bfa\u91d1\u521a\u77f3\uff09", "\u5317\u90e8\u7384\u9a79", "\u6a31\u82b1\u5343\u4ee3\u738b", "\u5929\u72fc\u661f\u8c61\u5f81", "\u76ee\u767d\u963f\u5c14\u4e39", "\u516b\u91cd\u65e0\u654c", "\u9e64\u4e38\u521a\u5fd7", "\u76ee\u767d\u5149\u660e", "\u6210\u7530\u62dc\u4ec1\uff08\u6210\u7530\u8def\uff09", "\u4e5f\u6587\u6444\u8f89", "\u5c0f\u6797\u5386\u5947", "\u5317\u6e2f\u706b\u5c71", "\u5947\u9510\u9a8f", "\u82e6\u6da9\u7cd6\u971c", "\u5c0f\u5c0f\u8695\u8327", "\u9a8f\u5ddd\u624b\u7eb2\uff08\u7eff\u5e3d\u6076\u9b54\uff09", "\u79cb\u5ddd\u5f25\u751f\uff08\u5c0f\u5c0f\u7406\u4e8b\u957f\uff09", "\u4e59\u540d\u53f2\u60a6\u5b50\uff08\u4e59\u540d\u8bb0\u8005\uff09", "\u6850\u751f\u9662\u8475", "\u5b89\u5fc3\u6cfd\u523a\u523a\u7f8e", "\u6a2b\u672c\u7406\u5b50", "\u795e\u91cc\u7eeb\u534e\uff08\u9f9f\u9f9f\uff09", "\u7434", "\u7a7a\uff08\u7a7a\u54e5\uff09", "\u4e3d\u838e", "\u8367\uff08\u8367\u59b9\uff09", "\u82ad\u82ad\u62c9", "\u51ef\u4e9a", "\u8fea\u5362\u514b", "\u96f7\u6cfd", "\u5b89\u67cf", "\u6e29\u8fea", "\u9999\u83f1", "\u5317\u6597", "\u884c\u79cb", "\u9b48", "\u51dd\u5149", "\u53ef\u8389", "\u949f\u79bb", "\u83f2\u8c22\u5c14\uff08\u7687\u5973\uff09", "\u73ed\u5c3c\u7279", "\u8fbe\u8fbe\u5229\u4e9a\uff08\u516c\u5b50\uff09", "\u8bfa\u827e\u5c14\uff08\u5973\u4ec6\uff09", "\u4e03\u4e03", "\u91cd\u4e91", "\u7518\u96e8\uff08\u6930\u7f8a\uff09", "\u963f\u8d1d\u591a", "\u8fea\u5965\u5a1c\uff08\u732b\u732b\uff09", "\u83ab\u5a1c", "\u523b\u6674", "\u7802\u7cd6", "\u8f9b\u7131", "\u7f57\u838e\u8389\u4e9a", "\u80e1\u6843", "\u67ab\u539f\u4e07\u53f6\uff08\u4e07\u53f6\uff09", "\u70df\u7eef", "\u5bb5\u5bab", "\u6258\u9a6c", "\u4f18\u83c8", "\u96f7\u7535\u5c06\u519b\uff08\u96f7\u795e\uff09", "\u65e9\u67da", "\u73ca\u745a\u5bab\u5fc3\u6d77\uff08\u5fc3\u6d77\uff0c\u6263\u6263\u7c73\uff09", "\u4e94\u90ce", "\u4e5d\u6761\u88df\u7f57", "\u8352\u6cf7\u4e00\u6597\uff08\u4e00\u6597\uff09", "\u57c3\u6d1b\u4f0a", "\u7533\u9e64", "\u516b\u91cd\u795e\u5b50\uff08\u795e\u5b50\uff09", "\u795e\u91cc\u7eeb\u4eba\uff08\u7eeb\u4eba\uff09", "\u591c\u5170", "\u4e45\u5c90\u5fcd", "\u9e7f\u91ce\u82d1\u5e73\u85cf", "\u63d0\u7eb3\u91cc", "\u67ef\u83b1", "\u591a\u8389", "\u4e91\u5807", "\u7eb3\u897f\u59b2\uff08\u8349\u795e\uff09", "\u6df1\u6e0a\u4f7f\u5f92", "\u59ae\u9732", "\u8d5b\u8bfa", "\u503a\u52a1\u5904\u7406\u4eba", "\u574e\u8482\u4e1d", "\u771f\u5f13\u5feb\u8f66", "\u79cb\u4eba", "\u671b\u65cf", "\u827e\u5c14\u83f2", "\u827e\u8389\u4e1d", "\u827e\u4f26", "\u963f\u6d1b\u74e6", "\u5929\u91ce", "\u5929\u76ee\u5341\u4e94", "\u611a\u4eba\u4f17-\u5b89\u5fb7\u70c8", "\u5b89\u987a", "\u5b89\u897f", "\u8475", "\u9752\u6728", "\u8352\u5ddd\u5e78\u6b21", "\u8352\u8c37", "\u6709\u6cfd", "\u6d45\u5ddd", "\u9ebb\u7f8e", "\u51dd\u5149\u52a9\u624b", "\u963f\u6258", "\u7afa\u5b50", "\u767e\u8bc6", "\u767e\u95fb", "\u767e\u6653", "\u767d\u672f", "\u8d1d\u96c5\u7279\u4e3d\u5947", "\u4e3d\u5854", "\u5931\u843d\u8ff7\u8fed", "\u7f2d\u4e71\u661f\u68d8", "\u4f0a\u7538", "\u4f0f\u7279\u52a0\u5973\u5b69", "\u72c2\u70ed\u84dd\u8c03", "\u8389\u8389\u5a05", "\u841d\u838e\u8389\u5a05", "\u516b\u91cd\u6a31", "\u516b\u91cd\u971e", "\u5361\u83b2", "\u7b2c\u516d\u591c\u60f3\u66f2", "\u5361\u841d\u5c14", "\u59ec\u5b50", "\u6781\u5730\u6218\u5203", "\u5e03\u6d1b\u59ae\u5a05", "\u6b21\u751f\u94f6\u7ffc", "\u7406\u4e4b\u5f8b\u8005%26\u5e0c\u513f", "\u7406\u4e4b\u5f8b\u8005", "\u8ff7\u57ce\u9a87\u5154", "\u5e0c\u513f", "\u9b47\u591c\u661f\u6e0a", "\u9ed1\u5e0c\u513f", "\u5e15\u6735\u83f2\u8389\u4e1d", "\u4e0d\u706d\u661f\u951a", "\u5929\u5143\u9a91\u82f1", "\u5e7d\u5170\u9edb\u5c14", "\u6d3e\u8499bh3", "\u7231\u9171", "\u7eef\u7389\u4e38", "\u5fb7\u4e3d\u838e", "\u6708\u4e0b\u521d\u62e5", "\u6714\u591c\u89c2\u661f", "\u66ae\u5149\u9a91\u58eb", "\u683c\u857e\u4fee", "\u7559\u4e91\u501f\u98ce\u771f\u541b", "\u6885\u6bd4\u4e4c\u65af", "\u4eff\u72b9\u5927", "\u514b\u83b1\u56e0", "\u5723\u5251\u5e7d\u5170\u9edb\u5c14", "\u5996\u7cbe\u7231\u8389", "\u7279\u65af\u62c9zero", "\u82cd\u7384", "\u82e5\u6c34", "\u897f\u7433", "\u6234\u56e0\u65af\u96f7\u5e03", "\u8d1d\u62c9", "\u8d64\u9e22", "\u9547\u9b42\u6b4c", "\u6e21\u9e26", "\u4eba\u4e4b\u5f8b\u8005", "\u7231\u8389\u5e0c\u96c5", "\u5929\u7a79\u6e38\u4fa0", "\u742a\u4e9a\u5a1c", "\u7a7a\u4e4b\u5f8b\u8005", "\u85aa\u708e\u4e4b\u5f8b\u8005", "\u4e91\u58a8\u4e39\u5fc3", "\u7b26\u534e", "\u8bc6\u4e4b\u5f8b\u8005", "\u7279\u74e6\u6797", "\u7ef4\u5c14\u8587", "\u82bd\u8863", "\u96f7\u4e4b\u5f8b\u8005", "\u65ad\u7f6a\u5f71\u821e", "\u963f\u6ce2\u5c3c\u4e9a", "\u698e\u672c", "\u5384\u5c3c\u65af\u7279", "\u6076\u9f99", "\u8303\u4e8c\u7237", "\u6cd5\u62c9", "\u611a\u4eba\u4f17\u58eb\u5175", "\u611a\u4eba\u4f17\u58eb\u5175a", "\u611a\u4eba\u4f17\u58eb\u5175b", "\u611a\u4eba\u4f17\u58eb\u5175c", "\u611a\u4eba\u4f17a", "\u611a\u4eba\u4f17b", "\u98de\u98de", "\u83f2\u5229\u514b\u65af", "\u5973\u6027\u8ddf\u968f\u8005", "\u9022\u5ca9", "\u6446\u6e21\u4eba", "\u72c2\u8e81\u7684\u7537\u4eba", "\u5965\u5179", "\u8299\u841d\u62c9", "\u8ddf\u968f\u8005", "\u871c\u6c41\u751f\u7269", "\u9ec4\u9ebb\u5b50", "\u6e0a\u4e0a", "\u85e4\u6728", "\u6df1\u89c1", "\u798f\u672c", "\u8299\u84c9", "\u53e4\u6cfd", "\u53e4\u7530", "\u53e4\u5c71", "\u53e4\u8c37\u6607", "\u5085\u4e09\u513f", "\u9ad8\u8001\u516d", "\u77ff\u5de5\u5192", "\u5143\u592a", "\u5fb7\u5b89\u516c", "\u8302\u624d\u516c", "\u6770\u62c9\u5fb7", "\u845b\u7f57\u4e3d", "\u91d1\u5ffd\u5f8b", "\u516c\u4fca", "\u9505\u5df4", "\u6b4c\u5fb7", "\u963f\u8c6a", "\u72d7\u4e09\u513f", "\u845b\u745e\u4e1d", "\u82e5\u5fc3", "\u963f\u5c71\u5a46", "\u602a\u9e1f", "\u5e7f\u7af9", "\u89c2\u6d77", "\u5173\u5b8f", "\u871c\u6c41\u536b\u5175", "\u5b88\u536b1", "\u50b2\u6162\u7684\u5b88\u536b", "\u5bb3\u6015\u7684\u5b88\u536b", "\u8d35\u5b89", "\u76d6\u4f0a", "\u963f\u521b", "\u54c8\u592b\u4e39", "\u65e5\u8bed\u963f\u8d1d\u591a\uff08\u91ce\u5c9b\u5065\u513f\uff09", "\u65e5\u8bed\u57c3\u6d1b\u4f0a\uff08\u9ad8\u57a3\u5f69\u9633\uff09", "\u65e5\u8bed\u5b89\u67cf\uff08\u77f3\u89c1\u821e\u83dc\u9999\uff09", "\u65e5\u8bed\u795e\u91cc\u7eeb\u534e\uff08\u65e9\u89c1\u6c99\u7ec7\uff09", "\u65e5\u8bed\u795e\u91cc\u7eeb\u4eba\uff08\u77f3\u7530\u5f70\uff09", "\u65e5\u8bed\u767d\u672f\uff08\u6e38\u4f50\u6d69\u4e8c\uff09", "\u65e5\u8bed\u82ad\u82ad\u62c9\uff08\u9b3c\u5934\u660e\u91cc\uff09", "\u65e5\u8bed\u5317\u6597\uff08\u5c0f\u6e05\u6c34\u4e9a\u7f8e\uff09", "\u65e5\u8bed\u73ed\u5c3c\u7279\uff08\u9022\u5742\u826f\u592a\uff09", "\u65e5\u8bed\u574e\u8482\u4e1d\uff08\u67da\u6728\u51c9\u9999\uff09", "\u65e5\u8bed\u91cd\u4e91\uff08\u9f50\u85e4\u58ee\u9a6c\uff09", "\u65e5\u8bed\u67ef\u83b1\uff08\u524d\u5ddd\u51c9\u5b50\uff09", "\u65e5\u8bed\u8d5b\u8bfa\uff08\u5165\u91ce\u81ea\u7531\uff09", "\u65e5\u8bed\u6234\u56e0\u65af\u96f7\u5e03\uff08\u6d25\u7530\u5065\u6b21\u90ce\uff09", "\u65e5\u8bed\u8fea\u5362\u514b\uff08\u5c0f\u91ce\u8d24\u7ae0\uff09", "\u65e5\u8bed\u8fea\u5965\u5a1c\uff08\u4e95\u6cfd\u8bd7\u7ec7\uff09", "\u65e5\u8bed\u591a\u8389\uff08\u91d1\u7530\u670b\u5b50\uff09", "\u65e5\u8bed\u4f18\u83c8\uff08\u4f50\u85e4\u5229\u5948\uff09", "\u65e5\u8bed\u83f2\u8c22\u5c14\uff08\u5185\u7530\u771f\u793c\uff09", "\u65e5\u8bed\u7518\u96e8\uff08\u4e0a\u7530\u4e3d\u5948\uff09", "\u65e5\u8bed\uff08\u7560\u4e2d\u7950\uff09", "\u65e5\u8bed\u9e7f\u91ce\u9662\u5e73\u85cf\uff08\u4e95\u53e3\u7950\u4e00\uff09", "\u65e5\u8bed\u7a7a\uff08\u5800\u6c5f\u77ac\uff09", "\u65e5\u8bed\u8367\uff08\u60a0\u6728\u78a7\uff09", "\u65e5\u8bed\u80e1\u6843\uff08\u9ad8\u6865\u674e\u4f9d\uff09", "\u65e5\u8bed\u4e00\u6597\uff08\u897f\u5ddd\u8d35\u6559\uff09", "\u65e5\u8bed\u51ef\u4e9a\uff08\u9e1f\u6d77\u6d69\u8f85\uff09", "\u65e5\u8bed\u4e07\u53f6\uff08\u5c9b\u5d0e\u4fe1\u957f\uff09", "\u65e5\u8bed\u523b\u6674\uff08\u559c\u591a\u6751\u82f1\u68a8\uff09", "\u65e5\u8bed\u53ef\u8389\uff08\u4e45\u91ce\u7f8e\u54b2\uff09", "\u65e5\u8bed\u5fc3\u6d77\uff08\u4e09\u68ee\u94c3\u5b50\uff09", "\u65e5\u8bed\u4e5d\u6761\u88df\u7f57\uff08\u6fd1\u6237\u9ebb\u6c99\u7f8e\uff09", "\u65e5\u8bed\u4e3d\u838e\uff08\u7530\u4e2d\u7406\u60e0\uff09", "\u65e5\u8bed\u83ab\u5a1c\uff08\u5c0f\u539f\u597d\u7f8e\uff09", "\u65e5\u8bed\u7eb3\u897f\u59b2\uff08\u7530\u6751\u7531\u52a0\u8389\uff09", "\u65e5\u8bed\u59ae\u9732\uff08\u91d1\u5143\u5bff\u5b50\uff09", "\u65e5\u8bed\u51dd\u5149\uff08\u5927\u539f\u6c99\u8036\u9999\uff09", "\u65e5\u8bed\u8bfa\u827e\u5c14\uff08\u9ad8\u5c3e\u594f\u97f3\uff09", "\u65e5\u8bed\u5965\u5179\uff08\u589e\u8c37\u5eb7\u7eaa\uff09", "\u65e5\u8bed\u6d3e\u8499\uff08\u53e4\u8d3a\u8475\uff09", "\u65e5\u8bed\u7434\uff08\u658b\u85e4\u5343\u548c\uff09", "\u65e5\u8bed\u4e03\u4e03\uff08\u7530\u6751\u7531\u52a0\u8389\uff09", "\u65e5\u8bed\u96f7\u7535\u5c06\u519b\uff08\u6cfd\u57ce\u7f8e\u96ea\uff09", "\u65e5\u8bed\u96f7\u6cfd\uff08\u5185\u5c71\u6602\u8f89\uff09", "\u65e5\u8bed\u7f57\u838e\u8389\u4e9a\uff08\u52a0\u9688\u4e9a\u8863\uff09", "\u65e5\u8bed\u65e9\u67da\uff08\u6d32\u5d0e\u7eeb\uff09", "\u65e5\u8bed\u6563\u5175\uff08\u67ff\u539f\u5f7b\u4e5f\uff09", "\u65e5\u8bed\u7533\u9e64\uff08\u5ddd\u6f84\u7eeb\u5b50\uff09", "\u65e5\u8bed\u4e45\u5c90\u5fcd\uff08\u6c34\u6865\u9999\u7ec7\uff09", "\u65e5\u8bed\u5973\u58eb\uff08\u5e84\u5b50\u88d5\u8863\uff09", "\u65e5\u8bed\u7802\u7cd6\uff08\u85e4\u7530\u831c\uff09", "\u65e5\u8bed\u8fbe\u8fbe\u5229\u4e9a\uff08\u6728\u6751\u826f\u5e73\uff09", "\u65e5\u8bed\u6258\u9a6c\uff08\u68ee\u7530\u6210\u4e00\uff09", "\u65e5\u8bed\u63d0\u7eb3\u91cc\uff08\u5c0f\u6797\u6c99\u82d7\uff09", "\u65e5\u8bed\u6e29\u8fea\uff08\u6751\u6fd1\u6b65\uff09", "\u65e5\u8bed\u9999\u83f1\uff08\u5c0f\u6cfd\u4e9a\u674e\uff09", "\u65e5\u8bed\u9b48\uff08\u677e\u5188\u796f\u4e1e\uff09", "\u65e5\u8bed\u884c\u79cb\uff08\u7686\u5ddd\u7eaf\u5b50\uff09", "\u65e5\u8bed\u8f9b\u7131\uff08\u9ad8\u6865\u667a\u79cb\uff09", "\u65e5\u8bed\u516b\u91cd\u795e\u5b50\uff08\u4f50\u4ed3\u7eeb\u97f3\uff09", "\u65e5\u8bed\u70df\u7eef\uff08\u82b1\u5b88\u7531\u7f8e\u91cc\uff09", "\u65e5\u8bed\u591c\u5170\uff08\u8fdc\u85e4\u7eeb\uff09", "\u65e5\u8bed\u5bb5\u5bab\uff08\u690d\u7530\u4f73\u5948\uff09", "\u65e5\u8bed\u4e91\u5807\uff08\u5c0f\u5ca9\u4e95\u5c0f\u9e1f\uff09", "\u65e5\u8bed\u949f\u79bb\uff08\u524d\u91ce\u667a\u662d\uff09", "\u6770\u514b", "\u963f\u5409", "\u6c5f\u821f", "\u9274\u79cb", "\u5609\u4e49", "\u7eaa\u82b3", "\u666f\u6f84", "\u7ecf\u7eb6", "\u666f\u660e", "\u664b\u4f18", "\u963f\u9e20", "\u9152\u5ba2", "\u4e54\u5c14", "\u4e54\u745f\u592b", "\u7ea6\u987f", "\u4e54\u4f0a\u65af", "\u5c45\u5b89", "\u541b\u541b", "\u987a\u5409", "\u7eaf\u4e5f", "\u91cd\u4f50", "\u5927\u5c9b\u7eaf\u5e73", "\u84b2\u6cfd", "\u52d8\u89e3\u7531\u5c0f\u8def\u5065\u4e09\u90ce", "\u67ab", "\u67ab\u539f\u4e49\u5e86", "\u836b\u5c71", "\u7532\u6590\u7530\u9f8d\u99ac", "\u6d77\u6597", "\u60df\u795e\u6674\u4e4b\u4ecb", "\u9e7f\u91ce\u5948\u5948", "\u5361\u7435\u8389\u4e9a", "\u51ef\u745f\u7433", "\u52a0\u85e4\u4fe1\u609f", "\u52a0\u85e4\u6d0b\u5e73", "\u80dc\u5bb6", "\u8305\u847a\u4e00\u5e86", "\u548c\u662d", "\u4e00\u6b63", "\u4e00\u9053", "\u6842\u4e00", "\u5e86\u6b21\u90ce", "\u963f\u8d24", "\u5065\u53f8", "\u5065\u6b21\u90ce", "\u5065\u4e09\u90ce", "\u5929\u7406", "\u6740\u624ba", "\u6740\u624bb", "\u6728\u5357\u674f\u5948", "\u6728\u6751", "\u56fd\u738b", "\u6728\u4e0b", "\u5317\u6751", "\u6e05\u60e0", "\u6e05\u4eba", "\u514b\u5217\u95e8\u7279", "\u9a91\u58eb", "\u5c0f\u6797", "\u5c0f\u6625", "\u5eb7\u62c9\u5fb7", "\u5927\u8089\u4e38", "\u7434\u7f8e", "\u5b8f\u4e00", "\u5eb7\u4ecb", "\u5e78\u5fb7", "\u9ad8\u5584", "\u68a2", "\u514b\u7f57\u7d22", "\u4e45\u4fdd", "\u4e5d\u6761\u9570\u6cbb", "\u4e45\u6728\u7530", "\u6606\u94a7", "\u83ca\u5730\u541b", "\u4e45\u5229\u987b", "\u9ed1\u7530", "\u9ed1\u6cfd\u4eac\u4e4b\u4ecb", "\u54cd\u592a", "\u5c9a\u59d0", "\u5170\u6eaa", "\u6f9c\u9633", "\u52b3\u4f26\u65af", "\u4e50\u660e", "\u83b1\u8bfa", "\u83b2", "\u826f\u5b50", "\u674e\u5f53", "\u674e\u4e01", "\u5c0f\u4e50", "\u7075", "\u5c0f\u73b2", "\u7433\u7405a", "\u7433\u7405b", "\u5c0f\u5f6c", "\u5c0f\u5fb7", "\u5c0f\u697d", "\u5c0f\u9f99", "\u5c0f\u5434", "\u5c0f\u5434\u7684\u8bb0\u5fc6", "\u7406\u6b63", "\u963f\u9f99", "\u5362\u5361", "\u6d1b\u6210", "\u7f57\u5de7", "\u5317\u98ce\u72fc", "\u5362\u6b63", "\u840d\u59e5\u59e5", "\u524d\u7530", "\u771f\u663c", "\u9ebb\u7eaa", "\u771f", "\u611a\u4eba\u4f17-\u9a6c\u514b\u897f\u59c6", "\u5973\u6027a", "\u5973\u6027b", "\u5973\u6027a\u7684\u8ddf\u968f\u8005", "\u963f\u5b88", "\u739b\u683c\u4e3d\u7279", "\u771f\u7406", "\u739b\u4e54\u4e3d", "\u739b\u6587", "\u6b63\u80dc", "\u660c\u4fe1", "\u5c06\u53f8", "\u6b63\u4eba", "\u8def\u7237", "\u8001\u7ae0", "\u677e\u7530", "\u677e\u672c", "\u677e\u6d66", "\u677e\u5742", "\u8001\u5b5f", "\u5b5f\u4e39", "\u5546\u4eba\u968f\u4ece", "\u4f20\u4ee4\u5175", "\u7c73\u6b47\u5c14", "\u5fa1\u8206\u6e90\u4e00\u90ce", "\u5fa1\u8206\u6e90\u6b21\u90ce", "\u5343\u5ca9\u519b\u6559\u5934", "\u5343\u5ca9\u519b\u58eb\u5175", "\u660e\u535a", "\u660e\u4fca", "\u7f8e\u94c3", "\u7f8e\u548c", "\u963f\u5e78", "\u524a\u6708\u7b51\u9633\u771f\u541b", "\u94b1\u773c\u513f", "\u68ee\u5f66", "\u5143\u52a9", "\u7406\u6c34\u53e0\u5c71\u771f\u541b", "\u7406\u6c34\u758a\u5c71\u771f\u541b", "\u6731\u8001\u677f", "\u6728\u6728", "\u6751\u4e0a", "\u6751\u7530", "\u6c38\u91ce", "\u957f\u91ce\u539f\u9f99\u4e4b\u4ecb", "\u957f\u6fd1", "\u4e2d\u91ce\u5fd7\u4e43", "\u83dc\u83dc\u5b50", "\u6960\u6960", "\u6210\u6fd1", "\u963f\u5185", "\u5b81\u7984", "\u725b\u5fd7", "\u4fe1\u535a", "\u4f38\u592b", "\u91ce\u65b9", "\u8bfa\u62c9", "\u7eaa\u9999", "\u8bfa\u66fc", "\u4fee\u5973", "\u7eaf\u6c34\u7cbe\u7075", "\u5c0f\u5ddd", "\u5c0f\u4ed3\u6faa", "\u5188\u6797", "\u5188\u5d0e\u7ed8\u91cc\u9999", "\u5188\u5d0e\u9646\u6597", "\u5965\u62c9\u592b", "\u8001\u79d1", "\u9b3c\u5a46\u5a46", "\u5c0f\u91ce\u5bfa", "\u5927\u6cb3\u539f\u4e94\u53f3\u536b\u95e8", "\u5927\u4e45\u4fdd\u5927\u4ecb", "\u5927\u68ee", "\u5927\u52a9", "\u5965\u7279", "\u6d3e\u8499", "\u6d3e\u84992", "\u75c5\u4ebaa", "\u75c5\u4ebab", "\u5df4\u987f", "\u6d3e\u6069", "\u670b\u4e49", "\u56f4\u89c2\u7fa4\u4f17", "\u56f4\u89c2\u7fa4\u4f17a", "\u56f4\u89c2\u7fa4\u4f17b", "\u56f4\u89c2\u7fa4\u4f17c", "\u56f4\u89c2\u7fa4\u4f17d", "\u56f4\u89c2\u7fa4\u4f17e", "\u94dc\u96c0", "\u963f\u80a5", "\u5174\u53d4", "\u8001\u5468\u53d4", "\u516c\u4e3b", "\u5f7c\u5f97", "\u4e7e\u5b50", "\u828a\u828a", "\u4e7e\u73ae", "\u7eee\u547d", "\u675e\u5e73", "\u79cb\u6708", "\u6606\u6069", "\u96f7\u7535\u5f71", "\u5170\u9053\u5c14", "\u96f7\u8499\u5fb7", "\u5192\u5931\u7684\u5e15\u62c9\u5fb7", "\u4f36\u4e00", "\u73b2\u82b1", "\u963f\u4ec1", "\u5bb6\u81e3\u4eec", "\u68a8\u7ed8", "\u8363\u6c5f", "\u620e\u4e16", "\u6d6a\u4eba", "\u7f57\u4f0a\u65af", "\u5982\u610f", "\u51c9\u5b50", "\u5f69\u9999", "\u9152\u4e95", "\u5742\u672c", "\u6714\u6b21\u90ce", "\u6b66\u58eba", "\u6b66\u58ebb", "\u6b66\u58ebc", "\u6b66\u58ebd", "\u73ca\u745a", "\u4e09\u7530", "\u838e\u62c9", "\u7b39\u91ce", "\u806a\u7f8e", "\u806a", "\u5c0f\u767e\u5408", "\u6563\u5175", "\u5bb3\u6015\u7684\u5c0f\u5218", "\u8212\u4f2f\u7279", "\u8212\u8328", "\u6d77\u9f99", "\u4e16\u5b50", "\u8c22\u5c14\u76d6", "\u5bb6\u4e01", "\u5546\u534e", "\u6c99\u5bc5", "\u963f\u5347", "\u67f4\u7530", "\u963f\u8302", "\u5f0f\u5927\u5c06", "\u6e05\u6c34", "\u5fd7\u6751\u52d8\u5175\u536b", "\u65b0\u4e4b\u4e1e", "\u5fd7\u7ec7", "\u77f3\u5934", "\u8bd7\u7fbd", "\u8bd7\u7b60", "\u77f3\u58ee", "\u7fd4\u592a", "\u6b63\u4e8c", "\u5468\u5e73", "\u8212\u6768", "\u9f50\u683c\u8299\u4e3d\u96c5", "\u5973\u58eb", "\u601d\u52e4", "\u516d\u6307\u4e54\u745f", "\u611a\u4eba\u4f17\u5c0f\u5175d", "\u611a\u4eba\u4f17\u5c0f\u5175a", "\u611a\u4eba\u4f17\u5c0f\u5175b", "\u611a\u4eba\u4f17\u5c0f\u5175c", "\u5434\u8001\u4e94", "\u5434\u8001\u4e8c", "\u6ed1\u5934\u9b3c", "\u8a00\u7b11", "\u5434\u8001\u4e03", "\u58eb\u5175h", "\u58eb\u5175i", "\u58eb\u5175a", "\u58eb\u5175b", "\u58eb\u5175c", "\u58eb\u5175d", "\u58eb\u5175e", "\u58eb\u5175f", "\u58eb\u5175g", "\u594f\u592a", "\u65af\u5766\u5229", "\u6387\u661f\u652b\u8fb0\u5929\u541b", "\u5c0f\u5934", "\u5927\u6b66", "\u9676\u4e49\u9686", "\u6749\u672c", "\u82cf\u897f", "\u5acc\u7591\u4ebaa", "\u5acc\u7591\u4ebab", "\u5acc\u7591\u4ebac", "\u5acc\u7591\u4ebad", "\u65af\u4e07", "\u5251\u5ba2a", "\u5251\u5ba2b", "\u963f\u4e8c", "\u5fe0\u80dc", "\u5fe0\u592b", "\u963f\u656c", "\u5b5d\u5229", "\u9e70\u53f8\u8fdb", "\u9ad8\u5c71", "\u4e5d\u6761\u5b5d\u884c", "\u6bc5", "\u7af9\u5185", "\u62d3\u771f", "\u5353\u4e5f", "\u592a\u90ce\u4e38", "\u6cf0\u52d2", "\u624b\u5c9b", "\u54f2\u5e73", "\u54f2\u592b", "\u6258\u514b", "\u5927boss", "\u963f\u5f3a", "\u6258\u5c14\u5fb7\u62c9", "\u65c1\u89c2\u8005", "\u5929\u6210", "\u963f\u5927", "\u8482\u739b\u4e4c\u65af", "\u63d0\u7c73", "\u6237\u7530", "\u963f\u4e09", "\u4e00\u8d77\u7684\u4eba", "\u5fb7\u7530", "\u5fb7\u957f", "\u667a\u6811", "\u5229\u5f66", "\u80d6\u4e4e\u4e4e\u7684\u65c5\u884c\u8005", "\u85cf\u5b9d\u4ebaa", "\u85cf\u5b9d\u4ebab", "\u85cf\u5b9d\u4ebac", "\u85cf\u5b9d\u4ebad", "\u963f\u7947", "\u6052\u96c4", "\u9732\u5b50", "\u8bdd\u5267\u56e2\u56e2\u957f", "\u5185\u6751", "\u4e0a\u91ce", "\u4e0a\u6749", "\u8001\u6234", "\u8001\u9ad8", "\u8001\u8d3e", "\u8001\u58a8", "\u8001\u5b59", "\u5929\u67a2\u661f", "\u8001\u4e91", "\u6709\u4e50\u658b", "\u4e11\u96c4", "\u4e4c\u7ef4", "\u74e6\u4eac", "\u83f2\u5c14\u6208\u9edb\u7279", "\u7ef4\u591a\u5229\u4e9a", "\u8587\u5c14", "\u74e6\u683c\u7eb3", "\u963f\u5916", "\u4f8d\u5973", "\u74e6\u62c9", "\u671b\u96c5", "\u5b9b\u70df", "\u742c\u7389", "\u6218\u58eba", "\u6218\u58ebb", "\u6e21\u8fba", "\u6e21\u90e8", "\u963f\u4f1f", "\u6587\u749f", "\u6587\u6e0a", "\u97e6\u5c14\u7eb3", "\u738b\u6273\u624b", "\u6b66\u6c9b", "\u6653\u98de", "\u8f9b\u7a0b", "\u661f\u706b", "\u661f\u7a00", "\u8f9b\u79c0", "\u79c0\u534e", "\u963f\u65ed", "\u5f90\u5218\u5e08", "\u77e2\u90e8", "\u516b\u6728", "\u5c71\u4e0a", "\u963f\u9633", "\u989c\u7b11", "\u5eb7\u660e", "\u6cf0\u4e45", "\u5b89\u6b66", "\u77e2\u7530\u5e78\u559c", "\u77e2\u7530\u8f9b\u559c", "\u4e49\u575a", "\u83ba\u513f", "\u76c8\u4e30", "\u5b9c\u5e74", "\u94f6\u674f", "\u9038\u8f69", "\u6a2a\u5c71", "\u6c38\u8d35", "\u6c38\u4e1a", "\u5609\u4e45", "\u5409\u5ddd", "\u4e49\u9ad8", "\u7528\u9ad8", "\u9633\u592a", "\u5143\u84c9", "\u73a5\u8f89", "\u6bd3\u534e", "\u6709\u9999", "\u5e78\u4e5f", "\u7531\u771f", "\u7ed3\u83dc", "\u97f5\u5b81", "\u767e\u5408", "\u767e\u5408\u534e", "\u5c24\u82cf\u6ce2\u592b", "\u88d5\u5b50", "\u60a0\u7b56", "\u60a0\u4e5f", "\u4e8e\u5ae3", "\u67da\u5b50", "\u8001\u90d1", "\u6b63\u8302", "\u5fd7\u6210", "\u82b7\u5de7", "\u77e5\u6613", "\u652f\u652f", "\u5468\u826f", "\u73e0\u51fd", "\u795d\u660e", "\u795d\u6d9b"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u026f", "\u0279", "\u0259", "\u0265", "\u207c", "\u02b0", "`", "\u2192", "\u2193", "\u2191", " "] +} \ No newline at end of file diff --git a/configs/saya_finetune_speaker.json b/configs/saya_finetune_speaker.json new file mode 100644 index 0000000..ec448a3 --- /dev/null +++ b/configs/saya_finetune_speaker.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 100, + "eval_interval": 200, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 16, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"./user_voice/user_voice.txt.cleaned", + "validation_files":"./user_voice/user_voice.txt.cleaned", + "text_cleaners":["zh_ja_mixture_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 1000, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7279\u522b\u5468", "\u65e0\u58f0\u94c3\u9e7f", "\u4e1c\u6d77\u5e1d\u7687\uff08\u5e1d\u5b9d\uff0c\u5e1d\u738b\uff09", "\u4e38\u5584\u65af\u57fa", "\u5bcc\u58eb\u5947\u8ff9", "\u5c0f\u6817\u5e3d", "\u9ec4\u91d1\u8239", "\u4f0f\u7279\u52a0", "\u5927\u548c\u8d64\u9aa5", "\u5927\u6811\u5feb\u8f66", "\u8349\u4e0a\u98de", "\u83f1\u4e9a\u9a6c\u900a", "\u76ee\u767d\u9ea6\u6606", "\u795e\u9e70", "\u597d\u6b4c\u5267", "\u6210\u7530\u767d\u4ec1", "\u9c81\u9053\u592b\u8c61\u5f81\uff08\u7687\u5e1d\uff09", "\u6c14\u69fd", "\u7231\u4e3d\u6570\u7801", "\u661f\u4e91\u5929\u7a7a", "\u7389\u85fb\u5341\u5b57", "\u7f8e\u5999\u59ff\u52bf", "\u7435\u7436\u6668\u5149", "\u6469\u8036\u91cd\u70ae", "\u66fc\u57ce\u8336\u5ea7", "\u7f8e\u6d66\u6ce2\u65c1", "\u76ee\u767d\u8d56\u6069", "\u83f1\u66d9", "\u96ea\u4e2d\u7f8e\u4eba", "\u7c73\u6d74", "\u827e\u5c3c\u65af\u98ce\u795e", "\u7231\u4e3d\u901f\u5b50\uff08\u7231\u4e3d\u5feb\u5b50\uff09", "\u7231\u6155\u7ec7\u59ec", "\u7a3b\u8377\u4e00", "\u80dc\u5229\u5956\u5238", "\u7a7a\u4e2d\u795e\u5bab", "\u8363\u8fdb\u95ea\u8000", "\u771f\u673a\u4f36", "\u5ddd\u4e0a\u516c\u4e3b", "\u9ec4\u91d1\u57ce\uff08\u9ec4\u91d1\u57ce\u5e02\uff09", "\u6a31\u82b1\u8fdb\u738b", "\u91c7\u73e0", "\u65b0\u5149\u98ce", "\u4e1c\u5546\u53d8\u9769", "\u8d85\u7ea7\u5c0f\u6d77\u6e7e", "\u9192\u76ee\u98de\u9e70\uff08\u5bc4\u5bc4\u5b50\uff09", "\u8352\u6f20\u82f1\u96c4", "\u4e1c\u701b\u4f50\u6566", "\u4e2d\u5c71\u5e86\u5178", "\u6210\u7530\u5927\u8fdb", "\u897f\u91ce\u82b1", "\u6625\u4e3d\uff08\u4e4c\u62c9\u62c9\uff09", "\u9752\u7af9\u56de\u5fc6", "\u5fae\u5149\u98de\u9a79", "\u7f8e\u4e3d\u5468\u65e5", "\u5f85\u517c\u798f\u6765", "mr cb\uff08cb\u5148\u751f\uff09", "\u540d\u5c06\u6012\u6d9b\uff08\u540d\u5c06\u6237\u4ec1\uff09", "\u76ee\u767d\u591a\u4f2f", "\u4f18\u79c0\u7d20\u8d28", "\u5e1d\u738b\u5149\u8f89", "\u5f85\u517c\u8bd7\u6b4c\u5267", "\u751f\u91ce\u72c4\u675c\u65af", "\u76ee\u767d\u5584\u4fe1", "\u5927\u62d3\u592a\u9633\u795e", "\u53cc\u6da1\u8f6e\uff08\u4e24\u7acb\u76f4\uff0c\u4e24\u55b7\u5c04\uff0c\u4e8c\u9505\u5934\uff0c\u9006\u55b7\u5c04\uff09", "\u91cc\u89c1\u5149\u94bb\uff08\u8428\u6258\u8bfa\u91d1\u521a\u77f3\uff09", "\u5317\u90e8\u7384\u9a79", "\u6a31\u82b1\u5343\u4ee3\u738b", "\u5929\u72fc\u661f\u8c61\u5f81", "\u76ee\u767d\u963f\u5c14\u4e39", "\u516b\u91cd\u65e0\u654c", "\u9e64\u4e38\u521a\u5fd7", "\u76ee\u767d\u5149\u660e", "\u6210\u7530\u62dc\u4ec1\uff08\u6210\u7530\u8def\uff09", "\u4e5f\u6587\u6444\u8f89", "\u5c0f\u6797\u5386\u5947", "\u5317\u6e2f\u706b\u5c71", "\u5947\u9510\u9a8f", "\u82e6\u6da9\u7cd6\u971c", "\u5c0f\u5c0f\u8695\u8327", "\u9a8f\u5ddd\u624b\u7eb2\uff08\u7eff\u5e3d\u6076\u9b54\uff09", "\u79cb\u5ddd\u5f25\u751f\uff08\u5c0f\u5c0f\u7406\u4e8b\u957f\uff09", "\u4e59\u540d\u53f2\u60a6\u5b50\uff08\u4e59\u540d\u8bb0\u8005\uff09", "\u6850\u751f\u9662\u8475", "\u5b89\u5fc3\u6cfd\u523a\u523a\u7f8e", "\u6a2b\u672c\u7406\u5b50", "\u795e\u91cc\u7eeb\u534e\uff08\u9f9f\u9f9f\uff09", "\u7434", "\u7a7a\uff08\u7a7a\u54e5\uff09", "\u4e3d\u838e", "\u8367\uff08\u8367\u59b9\uff09", "\u82ad\u82ad\u62c9", "\u51ef\u4e9a", "\u8fea\u5362\u514b", "\u96f7\u6cfd", "\u5b89\u67cf", "\u6e29\u8fea", "\u9999\u83f1", "\u5317\u6597", "\u884c\u79cb", "\u9b48", "\u51dd\u5149", "\u53ef\u8389", "\u949f\u79bb", "\u83f2\u8c22\u5c14\uff08\u7687\u5973\uff09", "\u73ed\u5c3c\u7279", "\u8fbe\u8fbe\u5229\u4e9a\uff08\u516c\u5b50\uff09", "\u8bfa\u827e\u5c14\uff08\u5973\u4ec6\uff09", "\u4e03\u4e03", "\u91cd\u4e91", "\u7518\u96e8\uff08\u6930\u7f8a\uff09", "\u963f\u8d1d\u591a", "\u8fea\u5965\u5a1c\uff08\u732b\u732b\uff09", "\u83ab\u5a1c", "\u523b\u6674", "\u7802\u7cd6", "\u8f9b\u7131", "\u7f57\u838e\u8389\u4e9a", "\u80e1\u6843", "\u67ab\u539f\u4e07\u53f6\uff08\u4e07\u53f6\uff09", "\u70df\u7eef", "\u5bb5\u5bab", "\u6258\u9a6c", "\u4f18\u83c8", "\u96f7\u7535\u5c06\u519b\uff08\u96f7\u795e\uff09", "\u65e9\u67da", "\u73ca\u745a\u5bab\u5fc3\u6d77\uff08\u5fc3\u6d77\uff0c\u6263\u6263\u7c73\uff09", "\u4e94\u90ce", "\u4e5d\u6761\u88df\u7f57", "\u8352\u6cf7\u4e00\u6597\uff08\u4e00\u6597\uff09", "\u57c3\u6d1b\u4f0a", "\u7533\u9e64", "\u516b\u91cd\u795e\u5b50\uff08\u795e\u5b50\uff09", "\u795e\u91cc\u7eeb\u4eba\uff08\u7eeb\u4eba\uff09", "\u591c\u5170", "\u4e45\u5c90\u5fcd", "\u9e7f\u91ce\u82d1\u5e73\u85cf", "\u63d0\u7eb3\u91cc", "\u67ef\u83b1", "\u591a\u8389", "\u4e91\u5807", "\u7eb3\u897f\u59b2\uff08\u8349\u795e\uff09", "\u6df1\u6e0a\u4f7f\u5f92", "\u59ae\u9732", "\u8d5b\u8bfa", "\u503a\u52a1\u5904\u7406\u4eba", "\u574e\u8482\u4e1d", "\u771f\u5f13\u5feb\u8f66", "\u79cb\u4eba", "\u671b\u65cf", "\u827e\u5c14\u83f2", "\u827e\u8389\u4e1d", "\u827e\u4f26", "\u963f\u6d1b\u74e6", "\u5929\u91ce", "\u5929\u76ee\u5341\u4e94", "\u611a\u4eba\u4f17-\u5b89\u5fb7\u70c8", "\u5b89\u987a", "\u5b89\u897f", "\u8475", "\u9752\u6728", "\u8352\u5ddd\u5e78\u6b21", "\u8352\u8c37", "\u6709\u6cfd", "\u6d45\u5ddd", "\u9ebb\u7f8e", "\u51dd\u5149\u52a9\u624b", "\u963f\u6258", "\u7afa\u5b50", "\u767e\u8bc6", "\u767e\u95fb", "\u767e\u6653", "\u767d\u672f", "\u8d1d\u96c5\u7279\u4e3d\u5947", "\u4e3d\u5854", "\u5931\u843d\u8ff7\u8fed", "\u7f2d\u4e71\u661f\u68d8", "\u4f0a\u7538", "\u4f0f\u7279\u52a0\u5973\u5b69", "\u72c2\u70ed\u84dd\u8c03", "\u8389\u8389\u5a05", "\u841d\u838e\u8389\u5a05", "\u516b\u91cd\u6a31", "\u516b\u91cd\u971e", "\u5361\u83b2", "\u7b2c\u516d\u591c\u60f3\u66f2", "\u5361\u841d\u5c14", "\u59ec\u5b50", "\u6781\u5730\u6218\u5203", "\u5e03\u6d1b\u59ae\u5a05", "\u6b21\u751f\u94f6\u7ffc", "\u7406\u4e4b\u5f8b\u8005%26\u5e0c\u513f", "\u7406\u4e4b\u5f8b\u8005", "\u8ff7\u57ce\u9a87\u5154", "\u5e0c\u513f", "\u9b47\u591c\u661f\u6e0a", "\u9ed1\u5e0c\u513f", "\u5e15\u6735\u83f2\u8389\u4e1d", "\u4e0d\u706d\u661f\u951a", "\u5929\u5143\u9a91\u82f1", "\u5e7d\u5170\u9edb\u5c14", "\u6d3e\u8499bh3", "\u7231\u9171", "\u7eef\u7389\u4e38", "\u5fb7\u4e3d\u838e", "\u6708\u4e0b\u521d\u62e5", "\u6714\u591c\u89c2\u661f", "\u66ae\u5149\u9a91\u58eb", "\u683c\u857e\u4fee", "\u7559\u4e91\u501f\u98ce\u771f\u541b", "\u6885\u6bd4\u4e4c\u65af", "\u4eff\u72b9\u5927", "\u514b\u83b1\u56e0", "\u5723\u5251\u5e7d\u5170\u9edb\u5c14", "\u5996\u7cbe\u7231\u8389", "\u7279\u65af\u62c9zero", "\u82cd\u7384", "\u82e5\u6c34", "\u897f\u7433", "\u6234\u56e0\u65af\u96f7\u5e03", "\u8d1d\u62c9", "\u8d64\u9e22", "\u9547\u9b42\u6b4c", "\u6e21\u9e26", "\u4eba\u4e4b\u5f8b\u8005", "\u7231\u8389\u5e0c\u96c5", "\u5929\u7a79\u6e38\u4fa0", "\u742a\u4e9a\u5a1c", "\u7a7a\u4e4b\u5f8b\u8005", "\u85aa\u708e\u4e4b\u5f8b\u8005", "\u4e91\u58a8\u4e39\u5fc3", "\u7b26\u534e", "\u8bc6\u4e4b\u5f8b\u8005", "\u7279\u74e6\u6797", "\u7ef4\u5c14\u8587", "\u82bd\u8863", "\u96f7\u4e4b\u5f8b\u8005", "\u65ad\u7f6a\u5f71\u821e", "\u963f\u6ce2\u5c3c\u4e9a", "\u698e\u672c", "\u5384\u5c3c\u65af\u7279", "\u6076\u9f99", "\u8303\u4e8c\u7237", "\u6cd5\u62c9", "\u611a\u4eba\u4f17\u58eb\u5175", "\u611a\u4eba\u4f17\u58eb\u5175a", "\u611a\u4eba\u4f17\u58eb\u5175b", "\u611a\u4eba\u4f17\u58eb\u5175c", "\u611a\u4eba\u4f17a", "\u611a\u4eba\u4f17b", "\u98de\u98de", "\u83f2\u5229\u514b\u65af", "\u5973\u6027\u8ddf\u968f\u8005", "\u9022\u5ca9", "\u6446\u6e21\u4eba", "\u72c2\u8e81\u7684\u7537\u4eba", "\u5965\u5179", "\u8299\u841d\u62c9", "\u8ddf\u968f\u8005", "\u871c\u6c41\u751f\u7269", "\u9ec4\u9ebb\u5b50", "\u6e0a\u4e0a", "\u85e4\u6728", "\u6df1\u89c1", "\u798f\u672c", "\u8299\u84c9", "\u53e4\u6cfd", "\u53e4\u7530", "\u53e4\u5c71", "\u53e4\u8c37\u6607", "\u5085\u4e09\u513f", "\u9ad8\u8001\u516d", "\u77ff\u5de5\u5192", "\u5143\u592a", "\u5fb7\u5b89\u516c", "\u8302\u624d\u516c", "\u6770\u62c9\u5fb7", "\u845b\u7f57\u4e3d", "\u91d1\u5ffd\u5f8b", "\u516c\u4fca", "\u9505\u5df4", "\u6b4c\u5fb7", "\u963f\u8c6a", "\u72d7\u4e09\u513f", "\u845b\u745e\u4e1d", "\u82e5\u5fc3", "\u963f\u5c71\u5a46", "\u602a\u9e1f", "\u5e7f\u7af9", "\u89c2\u6d77", "\u5173\u5b8f", "\u871c\u6c41\u536b\u5175", "\u5b88\u536b1", "\u50b2\u6162\u7684\u5b88\u536b", "\u5bb3\u6015\u7684\u5b88\u536b", "\u8d35\u5b89", "\u76d6\u4f0a", "\u963f\u521b", "\u54c8\u592b\u4e39", "\u65e5\u8bed\u963f\u8d1d\u591a\uff08\u91ce\u5c9b\u5065\u513f\uff09", "\u65e5\u8bed\u57c3\u6d1b\u4f0a\uff08\u9ad8\u57a3\u5f69\u9633\uff09", "\u65e5\u8bed\u5b89\u67cf\uff08\u77f3\u89c1\u821e\u83dc\u9999\uff09", "\u65e5\u8bed\u795e\u91cc\u7eeb\u534e\uff08\u65e9\u89c1\u6c99\u7ec7\uff09", "\u65e5\u8bed\u795e\u91cc\u7eeb\u4eba\uff08\u77f3\u7530\u5f70\uff09", "\u65e5\u8bed\u767d\u672f\uff08\u6e38\u4f50\u6d69\u4e8c\uff09", "\u65e5\u8bed\u82ad\u82ad\u62c9\uff08\u9b3c\u5934\u660e\u91cc\uff09", "\u65e5\u8bed\u5317\u6597\uff08\u5c0f\u6e05\u6c34\u4e9a\u7f8e\uff09", "\u65e5\u8bed\u73ed\u5c3c\u7279\uff08\u9022\u5742\u826f\u592a\uff09", "\u65e5\u8bed\u574e\u8482\u4e1d\uff08\u67da\u6728\u51c9\u9999\uff09", "\u65e5\u8bed\u91cd\u4e91\uff08\u9f50\u85e4\u58ee\u9a6c\uff09", "\u65e5\u8bed\u67ef\u83b1\uff08\u524d\u5ddd\u51c9\u5b50\uff09", "\u65e5\u8bed\u8d5b\u8bfa\uff08\u5165\u91ce\u81ea\u7531\uff09", "\u65e5\u8bed\u6234\u56e0\u65af\u96f7\u5e03\uff08\u6d25\u7530\u5065\u6b21\u90ce\uff09", "\u65e5\u8bed\u8fea\u5362\u514b\uff08\u5c0f\u91ce\u8d24\u7ae0\uff09", "\u65e5\u8bed\u8fea\u5965\u5a1c\uff08\u4e95\u6cfd\u8bd7\u7ec7\uff09", "\u65e5\u8bed\u591a\u8389\uff08\u91d1\u7530\u670b\u5b50\uff09", "\u65e5\u8bed\u4f18\u83c8\uff08\u4f50\u85e4\u5229\u5948\uff09", "\u65e5\u8bed\u83f2\u8c22\u5c14\uff08\u5185\u7530\u771f\u793c\uff09", "\u65e5\u8bed\u7518\u96e8\uff08\u4e0a\u7530\u4e3d\u5948\uff09", "\u65e5\u8bed\uff08\u7560\u4e2d\u7950\uff09", "\u65e5\u8bed\u9e7f\u91ce\u9662\u5e73\u85cf\uff08\u4e95\u53e3\u7950\u4e00\uff09", "\u65e5\u8bed\u7a7a\uff08\u5800\u6c5f\u77ac\uff09", "\u65e5\u8bed\u8367\uff08\u60a0\u6728\u78a7\uff09", "\u65e5\u8bed\u80e1\u6843\uff08\u9ad8\u6865\u674e\u4f9d\uff09", "\u65e5\u8bed\u4e00\u6597\uff08\u897f\u5ddd\u8d35\u6559\uff09", "\u65e5\u8bed\u51ef\u4e9a\uff08\u9e1f\u6d77\u6d69\u8f85\uff09", "\u65e5\u8bed\u4e07\u53f6\uff08\u5c9b\u5d0e\u4fe1\u957f\uff09", "\u65e5\u8bed\u523b\u6674\uff08\u559c\u591a\u6751\u82f1\u68a8\uff09", "\u65e5\u8bed\u53ef\u8389\uff08\u4e45\u91ce\u7f8e\u54b2\uff09", "\u65e5\u8bed\u5fc3\u6d77\uff08\u4e09\u68ee\u94c3\u5b50\uff09", "\u65e5\u8bed\u4e5d\u6761\u88df\u7f57\uff08\u6fd1\u6237\u9ebb\u6c99\u7f8e\uff09", "\u65e5\u8bed\u4e3d\u838e\uff08\u7530\u4e2d\u7406\u60e0\uff09", "\u65e5\u8bed\u83ab\u5a1c\uff08\u5c0f\u539f\u597d\u7f8e\uff09", "\u65e5\u8bed\u7eb3\u897f\u59b2\uff08\u7530\u6751\u7531\u52a0\u8389\uff09", "\u65e5\u8bed\u59ae\u9732\uff08\u91d1\u5143\u5bff\u5b50\uff09", "\u65e5\u8bed\u51dd\u5149\uff08\u5927\u539f\u6c99\u8036\u9999\uff09", "\u65e5\u8bed\u8bfa\u827e\u5c14\uff08\u9ad8\u5c3e\u594f\u97f3\uff09", "\u65e5\u8bed\u5965\u5179\uff08\u589e\u8c37\u5eb7\u7eaa\uff09", "\u65e5\u8bed\u6d3e\u8499\uff08\u53e4\u8d3a\u8475\uff09", "\u65e5\u8bed\u7434\uff08\u658b\u85e4\u5343\u548c\uff09", "\u65e5\u8bed\u4e03\u4e03\uff08\u7530\u6751\u7531\u52a0\u8389\uff09", "\u65e5\u8bed\u96f7\u7535\u5c06\u519b\uff08\u6cfd\u57ce\u7f8e\u96ea\uff09", "\u65e5\u8bed\u96f7\u6cfd\uff08\u5185\u5c71\u6602\u8f89\uff09", "\u65e5\u8bed\u7f57\u838e\u8389\u4e9a\uff08\u52a0\u9688\u4e9a\u8863\uff09", "\u65e5\u8bed\u65e9\u67da\uff08\u6d32\u5d0e\u7eeb\uff09", "\u65e5\u8bed\u6563\u5175\uff08\u67ff\u539f\u5f7b\u4e5f\uff09", "\u65e5\u8bed\u7533\u9e64\uff08\u5ddd\u6f84\u7eeb\u5b50\uff09", "\u65e5\u8bed\u4e45\u5c90\u5fcd\uff08\u6c34\u6865\u9999\u7ec7\uff09", "\u65e5\u8bed\u5973\u58eb\uff08\u5e84\u5b50\u88d5\u8863\uff09", "\u65e5\u8bed\u7802\u7cd6\uff08\u85e4\u7530\u831c\uff09", "\u65e5\u8bed\u8fbe\u8fbe\u5229\u4e9a\uff08\u6728\u6751\u826f\u5e73\uff09", "\u65e5\u8bed\u6258\u9a6c\uff08\u68ee\u7530\u6210\u4e00\uff09", "\u65e5\u8bed\u63d0\u7eb3\u91cc\uff08\u5c0f\u6797\u6c99\u82d7\uff09", "\u65e5\u8bed\u6e29\u8fea\uff08\u6751\u6fd1\u6b65\uff09", "\u65e5\u8bed\u9999\u83f1\uff08\u5c0f\u6cfd\u4e9a\u674e\uff09", "\u65e5\u8bed\u9b48\uff08\u677e\u5188\u796f\u4e1e\uff09", "\u65e5\u8bed\u884c\u79cb\uff08\u7686\u5ddd\u7eaf\u5b50\uff09", "\u65e5\u8bed\u8f9b\u7131\uff08\u9ad8\u6865\u667a\u79cb\uff09", "\u65e5\u8bed\u516b\u91cd\u795e\u5b50\uff08\u4f50\u4ed3\u7eeb\u97f3\uff09", "\u65e5\u8bed\u70df\u7eef\uff08\u82b1\u5b88\u7531\u7f8e\u91cc\uff09", "\u65e5\u8bed\u591c\u5170\uff08\u8fdc\u85e4\u7eeb\uff09", "\u65e5\u8bed\u5bb5\u5bab\uff08\u690d\u7530\u4f73\u5948\uff09", "\u65e5\u8bed\u4e91\u5807\uff08\u5c0f\u5ca9\u4e95\u5c0f\u9e1f\uff09", "\u65e5\u8bed\u949f\u79bb\uff08\u524d\u91ce\u667a\u662d\uff09", "\u6770\u514b", "\u963f\u5409", "\u6c5f\u821f", "\u9274\u79cb", "\u5609\u4e49", "\u7eaa\u82b3", "\u666f\u6f84", "\u7ecf\u7eb6", "\u666f\u660e", "\u664b\u4f18", "\u963f\u9e20", "\u9152\u5ba2", "\u4e54\u5c14", "\u4e54\u745f\u592b", "\u7ea6\u987f", "\u4e54\u4f0a\u65af", "\u5c45\u5b89", "\u541b\u541b", "\u987a\u5409", "\u7eaf\u4e5f", "\u91cd\u4f50", "\u5927\u5c9b\u7eaf\u5e73", "\u84b2\u6cfd", "\u52d8\u89e3\u7531\u5c0f\u8def\u5065\u4e09\u90ce", "\u67ab", "\u67ab\u539f\u4e49\u5e86", "\u836b\u5c71", "\u7532\u6590\u7530\u9f8d\u99ac", "\u6d77\u6597", "\u60df\u795e\u6674\u4e4b\u4ecb", "\u9e7f\u91ce\u5948\u5948", "\u5361\u7435\u8389\u4e9a", "\u51ef\u745f\u7433", "\u52a0\u85e4\u4fe1\u609f", "\u52a0\u85e4\u6d0b\u5e73", "\u80dc\u5bb6", "\u8305\u847a\u4e00\u5e86", "\u548c\u662d", "\u4e00\u6b63", "\u4e00\u9053", "\u6842\u4e00", "\u5e86\u6b21\u90ce", "\u963f\u8d24", "\u5065\u53f8", "\u5065\u6b21\u90ce", "\u5065\u4e09\u90ce", "\u5929\u7406", "\u6740\u624ba", "\u6740\u624bb", "\u6728\u5357\u674f\u5948", "\u6728\u6751", "\u56fd\u738b", "\u6728\u4e0b", "\u5317\u6751", "\u6e05\u60e0", "\u6e05\u4eba", "\u514b\u5217\u95e8\u7279", "\u9a91\u58eb", "\u5c0f\u6797", "\u5c0f\u6625", "\u5eb7\u62c9\u5fb7", "\u5927\u8089\u4e38", "\u7434\u7f8e", "\u5b8f\u4e00", "\u5eb7\u4ecb", "\u5e78\u5fb7", "\u9ad8\u5584", "\u68a2", "\u514b\u7f57\u7d22", "\u4e45\u4fdd", "\u4e5d\u6761\u9570\u6cbb", "\u4e45\u6728\u7530", "\u6606\u94a7", "\u83ca\u5730\u541b", "\u4e45\u5229\u987b", "\u9ed1\u7530", "\u9ed1\u6cfd\u4eac\u4e4b\u4ecb", "\u54cd\u592a", "\u5c9a\u59d0", "\u5170\u6eaa", "\u6f9c\u9633", "\u52b3\u4f26\u65af", "\u4e50\u660e", "\u83b1\u8bfa", "\u83b2", "\u826f\u5b50", "\u674e\u5f53", "\u674e\u4e01", "\u5c0f\u4e50", "\u7075", "\u5c0f\u73b2", "\u7433\u7405a", "\u7433\u7405b", "\u5c0f\u5f6c", "\u5c0f\u5fb7", "\u5c0f\u697d", "\u5c0f\u9f99", "\u5c0f\u5434", "\u5c0f\u5434\u7684\u8bb0\u5fc6", "\u7406\u6b63", "\u963f\u9f99", "\u5362\u5361", "\u6d1b\u6210", "\u7f57\u5de7", "\u5317\u98ce\u72fc", "\u5362\u6b63", "\u840d\u59e5\u59e5", "\u524d\u7530", "\u771f\u663c", "\u9ebb\u7eaa", "\u771f", "\u611a\u4eba\u4f17-\u9a6c\u514b\u897f\u59c6", "\u5973\u6027a", "\u5973\u6027b", "\u5973\u6027a\u7684\u8ddf\u968f\u8005", "\u963f\u5b88", "\u739b\u683c\u4e3d\u7279", "\u771f\u7406", "\u739b\u4e54\u4e3d", "\u739b\u6587", "\u6b63\u80dc", "\u660c\u4fe1", "\u5c06\u53f8", "\u6b63\u4eba", "\u8def\u7237", "\u8001\u7ae0", "\u677e\u7530", "\u677e\u672c", "\u677e\u6d66", "\u677e\u5742", "\u8001\u5b5f", "\u5b5f\u4e39", "\u5546\u4eba\u968f\u4ece", "\u4f20\u4ee4\u5175", "\u7c73\u6b47\u5c14", "\u5fa1\u8206\u6e90\u4e00\u90ce", "\u5fa1\u8206\u6e90\u6b21\u90ce", "\u5343\u5ca9\u519b\u6559\u5934", "\u5343\u5ca9\u519b\u58eb\u5175", "\u660e\u535a", "\u660e\u4fca", "\u7f8e\u94c3", "\u7f8e\u548c", "\u963f\u5e78", "\u524a\u6708\u7b51\u9633\u771f\u541b", "\u94b1\u773c\u513f", "\u68ee\u5f66", "\u5143\u52a9", "\u7406\u6c34\u53e0\u5c71\u771f\u541b", "\u7406\u6c34\u758a\u5c71\u771f\u541b", "\u6731\u8001\u677f", "\u6728\u6728", "\u6751\u4e0a", "\u6751\u7530", "\u6c38\u91ce", "\u957f\u91ce\u539f\u9f99\u4e4b\u4ecb", "\u957f\u6fd1", "\u4e2d\u91ce\u5fd7\u4e43", "\u83dc\u83dc\u5b50", "\u6960\u6960", "\u6210\u6fd1", "\u963f\u5185", "\u5b81\u7984", "\u725b\u5fd7", "\u4fe1\u535a", "\u4f38\u592b", "\u91ce\u65b9", "\u8bfa\u62c9", "\u7eaa\u9999", "\u8bfa\u66fc", "\u4fee\u5973", "\u7eaf\u6c34\u7cbe\u7075", "\u5c0f\u5ddd", "\u5c0f\u4ed3\u6faa", "\u5188\u6797", "\u5188\u5d0e\u7ed8\u91cc\u9999", "\u5188\u5d0e\u9646\u6597", "\u5965\u62c9\u592b", "\u8001\u79d1", "\u9b3c\u5a46\u5a46", "\u5c0f\u91ce\u5bfa", "\u5927\u6cb3\u539f\u4e94\u53f3\u536b\u95e8", "\u5927\u4e45\u4fdd\u5927\u4ecb", "\u5927\u68ee", "\u5927\u52a9", "\u5965\u7279", "\u6d3e\u8499", "\u6d3e\u84992", "\u75c5\u4ebaa", "\u75c5\u4ebab", "\u5df4\u987f", "\u6d3e\u6069", "\u670b\u4e49", "\u56f4\u89c2\u7fa4\u4f17", "\u56f4\u89c2\u7fa4\u4f17a", "\u56f4\u89c2\u7fa4\u4f17b", "\u56f4\u89c2\u7fa4\u4f17c", "\u56f4\u89c2\u7fa4\u4f17d", "\u56f4\u89c2\u7fa4\u4f17e", "\u94dc\u96c0", "\u963f\u80a5", "\u5174\u53d4", "\u8001\u5468\u53d4", "\u516c\u4e3b", "\u5f7c\u5f97", "\u4e7e\u5b50", "\u828a\u828a", "\u4e7e\u73ae", "\u7eee\u547d", "\u675e\u5e73", "\u79cb\u6708", "\u6606\u6069", "\u96f7\u7535\u5f71", "\u5170\u9053\u5c14", "\u96f7\u8499\u5fb7", "\u5192\u5931\u7684\u5e15\u62c9\u5fb7", "\u4f36\u4e00", "\u73b2\u82b1", "\u963f\u4ec1", "\u5bb6\u81e3\u4eec", "\u68a8\u7ed8", "\u8363\u6c5f", "\u620e\u4e16", "\u6d6a\u4eba", "\u7f57\u4f0a\u65af", "\u5982\u610f", "\u51c9\u5b50", "\u5f69\u9999", "\u9152\u4e95", "\u5742\u672c", "\u6714\u6b21\u90ce", "\u6b66\u58eba", "\u6b66\u58ebb", "\u6b66\u58ebc", "\u6b66\u58ebd", "\u73ca\u745a", "\u4e09\u7530", "\u838e\u62c9", "\u7b39\u91ce", "\u806a\u7f8e", "\u806a", "\u5c0f\u767e\u5408", "\u6563\u5175", "\u5bb3\u6015\u7684\u5c0f\u5218", "\u8212\u4f2f\u7279", "\u8212\u8328", "\u6d77\u9f99", "\u4e16\u5b50", "\u8c22\u5c14\u76d6", "\u5bb6\u4e01", "\u5546\u534e", "\u6c99\u5bc5", "\u963f\u5347", "\u67f4\u7530", "\u963f\u8302", "\u5f0f\u5927\u5c06", "\u6e05\u6c34", "\u5fd7\u6751\u52d8\u5175\u536b", "\u65b0\u4e4b\u4e1e", "\u5fd7\u7ec7", "\u77f3\u5934", "\u8bd7\u7fbd", "\u8bd7\u7b60", "\u77f3\u58ee", "\u7fd4\u592a", "\u6b63\u4e8c", "\u5468\u5e73", "\u8212\u6768", "\u9f50\u683c\u8299\u4e3d\u96c5", "\u5973\u58eb", "\u601d\u52e4", "\u516d\u6307\u4e54\u745f", "\u611a\u4eba\u4f17\u5c0f\u5175d", "\u611a\u4eba\u4f17\u5c0f\u5175a", "\u611a\u4eba\u4f17\u5c0f\u5175b", "\u611a\u4eba\u4f17\u5c0f\u5175c", "\u5434\u8001\u4e94", "\u5434\u8001\u4e8c", "\u6ed1\u5934\u9b3c", "\u8a00\u7b11", "\u5434\u8001\u4e03", "\u58eb\u5175h", "\u58eb\u5175i", "\u58eb\u5175a", "\u58eb\u5175b", "\u58eb\u5175c", "\u58eb\u5175d", "\u58eb\u5175e", "\u58eb\u5175f", "\u58eb\u5175g", "\u594f\u592a", "\u65af\u5766\u5229", "\u6387\u661f\u652b\u8fb0\u5929\u541b", "\u5c0f\u5934", "\u5927\u6b66", "\u9676\u4e49\u9686", "\u6749\u672c", "\u82cf\u897f", "\u5acc\u7591\u4ebaa", "\u5acc\u7591\u4ebab", "\u5acc\u7591\u4ebac", "\u5acc\u7591\u4ebad", "\u65af\u4e07", "\u5251\u5ba2a", "\u5251\u5ba2b", "\u963f\u4e8c", "\u5fe0\u80dc", "\u5fe0\u592b", "\u963f\u656c", "\u5b5d\u5229", "\u9e70\u53f8\u8fdb", "\u9ad8\u5c71", "\u4e5d\u6761\u5b5d\u884c", "\u6bc5", "\u7af9\u5185", "\u62d3\u771f", "\u5353\u4e5f", "\u592a\u90ce\u4e38", "\u6cf0\u52d2", "\u624b\u5c9b", "\u54f2\u5e73", "\u54f2\u592b", "\u6258\u514b", "\u5927boss", "\u963f\u5f3a", "\u6258\u5c14\u5fb7\u62c9", "\u65c1\u89c2\u8005", "\u5929\u6210", "\u963f\u5927", "\u8482\u739b\u4e4c\u65af", "\u63d0\u7c73", "\u6237\u7530", "\u963f\u4e09", "\u4e00\u8d77\u7684\u4eba", "\u5fb7\u7530", "\u5fb7\u957f", "\u667a\u6811", "\u5229\u5f66", "\u80d6\u4e4e\u4e4e\u7684\u65c5\u884c\u8005", "\u85cf\u5b9d\u4ebaa", "\u85cf\u5b9d\u4ebab", "\u85cf\u5b9d\u4ebac", "\u85cf\u5b9d\u4ebad", "\u963f\u7947", "\u6052\u96c4", "\u9732\u5b50", "\u8bdd\u5267\u56e2\u56e2\u957f", "\u5185\u6751", "\u4e0a\u91ce", "\u4e0a\u6749", "\u8001\u6234", "\u8001\u9ad8", "\u8001\u8d3e", "\u8001\u58a8", "\u8001\u5b59", "\u5929\u67a2\u661f", "\u8001\u4e91", "\u6709\u4e50\u658b", "\u4e11\u96c4", "\u4e4c\u7ef4", "\u74e6\u4eac", "\u83f2\u5c14\u6208\u9edb\u7279", "\u7ef4\u591a\u5229\u4e9a", "\u8587\u5c14", "\u74e6\u683c\u7eb3", "\u963f\u5916", "\u4f8d\u5973", "\u74e6\u62c9", "\u671b\u96c5", "\u5b9b\u70df", "\u742c\u7389", "\u6218\u58eba", "\u6218\u58ebb", "\u6e21\u8fba", "\u6e21\u90e8", "\u963f\u4f1f", "\u6587\u749f", "\u6587\u6e0a", "\u97e6\u5c14\u7eb3", "\u738b\u6273\u624b", "\u6b66\u6c9b", "\u6653\u98de", "\u8f9b\u7a0b", "\u661f\u706b", "\u661f\u7a00", "\u8f9b\u79c0", "\u79c0\u534e", "\u963f\u65ed", "\u5f90\u5218\u5e08", "\u77e2\u90e8", "\u516b\u6728", "\u5c71\u4e0a", "\u963f\u9633", "\u989c\u7b11", "\u5eb7\u660e", "\u6cf0\u4e45", "\u5b89\u6b66", "\u77e2\u7530\u5e78\u559c", "\u77e2\u7530\u8f9b\u559c", "\u4e49\u575a", "\u83ba\u513f", "\u76c8\u4e30", "\u5b9c\u5e74", "\u94f6\u674f", "\u9038\u8f69", "\u6a2a\u5c71", "\u6c38\u8d35", "\u6c38\u4e1a", "\u5609\u4e45", "\u5409\u5ddd", "\u4e49\u9ad8", "\u7528\u9ad8", "\u9633\u592a", "\u5143\u84c9", "\u73a5\u8f89", "\u6bd3\u534e", "\u6709\u9999", "\u5e78\u4e5f", "\u7531\u771f", "\u7ed3\u83dc", "\u97f5\u5b81", "\u767e\u5408", "\u767e\u5408\u534e", "\u5c24\u82cf\u6ce2\u592b", "\u88d5\u5b50", "\u60a0\u7b56", "\u60a0\u4e5f", "\u4e8e\u5ae3", "\u67da\u5b50", "\u8001\u90d1", "\u6b63\u8302", "\u5fd7\u6210", "\u82b7\u5de7", "\u77e5\u6613", "\u652f\u652f", "\u5468\u826f", "\u73e0\u51fd", "\u795d\u660e", "\u795d\u6d9b"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u026f", "\u0279", "\u0259", "\u0265", "\u207c", "\u02b0", "`", "\u2192", "\u2193", "\u2191", " "] +} \ No newline at end of file diff --git a/configs/shanghainese_base.json b/configs/shanghainese_base.json new file mode 100644 index 0000000..1b94ce4 --- /dev/null +++ b/configs/shanghainese_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/zaonhe_train_filelist.txt.cleaned", + "validation_files":"filelists/zaonhe_val_filelist.txt.cleaned", + "text_cleaners":["shanghainese_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 2, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["1", "2"], + "symbols": ["_", ",", ".", "!", "?", "\u2026", "a", "b", "d", "f", "g", "h", "i", "k", "l", "m", "n", "o", "p", "s", "t", "u", "v", "y", "z", "\u00f8", "\u014b", "\u0235", "\u0251", "\u0254", "\u0255", "\u0259", "\u0264", "\u0266", "\u026a", "\u027f", "\u0291", "\u0294", "\u02b0", "\u0303", "\u0329", "\u1d00", "\u1d07", "1", "5", "6", "7", "8", " "] +} diff --git a/configs/uma87.json b/configs/uma87.json new file mode 100644 index 0000000..ccfcbef --- /dev/null +++ b/configs/uma87.json @@ -0,0 +1,142 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 1, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"E:/uma_voice/output_train.txt.cleaned", + "validation_files":"E:/uma_voice/output_val.txt.cleaned", + "text_cleaners":["japanese_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 87, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["Special Week", + "Silence Suzuka", + "Tokai Teio", + "Maruzensky", + "Fuji Kiseki", + "Oguri Cap", + "Gold Ship", + "Vodka", + "Daiwa Scarlet", + "Taiki Shuttle", + "Grass Wonder", + "Hishi Amazon", + "Mejiro Mcqueen", + "El Condor Pasa", + "T.M. Opera O", + "Narita Brian", + "Symboli Rudolf", + "Air Groove", + "Agnes Digital", + "Seiun Sky", + "Tamamo Cross", + "Fine Motion", + "Biwa Hayahide", + "Mayano Topgun", + "Manhattan Cafe", + "Mihono Bourbon", + "Mejiro Ryan", + "Hishi Akebono", + "Yukino Bijin", + "Rice Shower", + "Ines Fujin", + "Agnes Tachyon", + "Admire Vega", + "Inari One", + "Winning Ticket", + "Air Shakur", + "Eishin Flash", + "Curren Chan", + "Kawakami Princess", + "Gold City", + "Sakura Bakushin O", + "Seeking the Pearl", + "Shinko Windy", + "Sweep Tosho", + "Super Creek", + "Smart Falcon", + "Zenno Rob Roy", + "Tosen Jordan", + "Nakayama Festa", + "Narita Taishin", + "Nishino Flower", + "Haru Urara", + "Bamboo Memory", + "Biko Pegasus", + "Marvelous Sunday", + "Matikane Fukukitaru", + "Mr. C.B.", + "Meisho Doto", + "Mejiro Dober", + "Nice Nature", + "King Halo", + "Matikane Tannhauser", + "Ikuno Dictus", + "Mejiro Palmer", + "Daitaku Helios", + "Twin Turbo", + "Satono Diamond", + "Kitasan Black", + "Sakura Chiyono O", + "Sirius Symboli", + "Mejiro Ardan", + "Yaeno Muteki", + "Tsurumaru Tsuyoshi", + "Mejiro Bright", + "Sakura Laurel", + "Narita Top Road", + "Yamanin Zephyr", + "Symboli Kris S", + "Tanino Gimlet", + "Daiichi Ruby", + "Aston Machan", + "Hayakawa Tazuna", + "KS Miracle", + "Kopano Rickey", + "Hoko Tarumae", + "Wonder Acute", + "President Akikawa" +], + "symbols": ["_", ",", ".", "!", "?", "-", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u2193", "\u2191", " "] +} diff --git a/configs/uma_hubert.json b/configs/uma_hubert.json new file mode 100644 index 0000000..186788c --- /dev/null +++ b/configs/uma_hubert.json @@ -0,0 +1,142 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 16, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"../uma_voice/output_train.txt.cleaned", + "validation_files":"../uma_voice/output_val.txt.cleaned", + "text_cleaners":[], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 87 + }, + "model": { + "inter_channels": 192, + "hidden_channels": 256, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256, + "cleaned_text": true + }, + "speakers": ["Special Week", + "Silence Suzuka", + "Tokai Teio", + "Maruzensky", + "Fuji Kiseki", + "Oguri Cap", + "Gold Ship", + "Vodka", + "Daiwa Scarlet", + "Taiki Shuttle", + "Grass Wonder", + "Hishi Amazon", + "Mejiro Mcqueen", + "El Condor Pasa", + "T.M. Opera O", + "Narita Brian", + "Symboli Rudolf", + "Air Groove", + "Agnes Digital", + "Seiun Sky", + "Tamamo Cross", + "Fine Motion", + "Biwa Hayahide", + "Mayano Topgun", + "Manhattan Cafe", + "Mihono Bourbon", + "Mejiro Ryan", + "Hishi Akebono", + "Yukino Bijin", + "Rice Shower", + "Ines Fujin", + "Agnes Tachyon", + "Admire Vega", + "Inari One", + "Winning Ticket", + "Air Shakur", + "Eishin Flash", + "Curren Chan", + "Kawakami Princess", + "Gold City", + "Sakura Bakushin O", + "Seeking the Pearl", + "Shinko Windy", + "Sweep Tosho", + "Super Creek", + "Smart Falcon", + "Zenno Rob Roy", + "Tosen Jordan", + "Nakayama Festa", + "Narita Taishin", + "Nishino Flower", + "Haru Urara", + "Bamboo Memory", + "Biko Pegasus", + "Marvelous Sunday", + "Matikane Fukukitaru", + "Mr. C.B.", + "Meisho Doto", + "Mejiro Dober", + "Nice Nature", + "King Halo", + "Matikane Tannhauser", + "Ikuno Dictus", + "Mejiro Palmer", + "Daitaku Helios", + "Twin Turbo", + "Satono Diamond", + "Kitasan Black", + "Sakura Chiyono O", + "Sirius Symboli", + "Mejiro Ardan", + "Yaeno Muteki", + "Tsurumaru Tsuyoshi", + "Mejiro Bright", + "Sakura Laurel", + "Narita Top Road", + "Yamanin Zephyr", + "Symboli Kris S", + "Tanino Gimlet", + "Daiichi Ruby", + "Aston Machan", + "Hayakawa Tazuna", + "KS Miracle", + "Kopano Rickey", + "Hoko Tarumae", + "Wonder Acute", + "President Akikawa" +], + "symbols": [] +} diff --git a/configs/uma_trilingual.json b/configs/uma_trilingual.json new file mode 100644 index 0000000..7a32246 --- /dev/null +++ b/configs/uma_trilingual.json @@ -0,0 +1,54 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 16, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"../CH_JA_EN_mix_voice/clipped_3_vits_trilingual_annotations.train.txt.cleaned", + "validation_files":"../CH_JA_EN_mix_voice/clipped_3_vits_trilingual_annotations.val.txt.cleaned", + "text_cleaners":["cjke_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 999, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "N", "Q", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "s", "t", "u", "v", "w", "x", "y", "z", "\u0251", "\u00e6", "\u0283", "\u0291", "\u00e7", "\u026f", "\u026a", "\u0254", "\u025b", "\u0279", "\u00f0", "\u0259", "\u026b", "\u0265", "\u0278", "\u028a", "\u027e", "\u0292", "\u03b8", "\u03b2", "\u014b", "\u0266", "\u207c", "\u02b0", "`", "^", "#", "*", "=", "\u02c8", "\u02cc", "\u2192", "\u2193", "\u2191", " "] +} \ No newline at end of file diff --git a/configs/yuzu.json b/configs/yuzu.json new file mode 100644 index 0000000..59adf8a --- /dev/null +++ b/configs/yuzu.json @@ -0,0 +1,35 @@ +{ + "train": { + "segment_size": 8192 + }, + "data": { + "text_cleaners":["japanese_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "add_blank": true, + "n_speakers": 7 + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7dbe\u5730\u5be7\u3005", "\u56e0\u5e61\u3081\u3050\u308b", "\u671d\u6b66\u82b3\u4e43", "\u5e38\u9678\u8309\u5b50", "\u30e0\u30e9\u30b5\u30e1", "\u978d\u99ac\u5c0f\u6625", "\u5728\u539f\u4e03\u6d77"], + "symbols": ["_", ",", ".", "!", "?", "-", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u2193", "\u2191", " "] +} diff --git a/configs/zero_japanese_base2.json b/configs/zero_japanese_base2.json new file mode 100644 index 0000000..255cb0c --- /dev/null +++ b/configs/zero_japanese_base2.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/zero_train_filelist.txt.cleaned", + "validation_files":"filelists/zero_val_filelist.txt.cleaned", + "text_cleaners":["japanese_cleaners2"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 26, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u30eb\u30a4\u30ba", "\u30c6\u30a3\u30d5\u30a1\u30cb\u30a2", "\u30a4\u30eb\u30af\u30af\u30a5", "\u30a2\u30f3\u30ea\u30a8\u30c3\u30bf", "\u30bf\u30d0\u30b5", "\u30b7\u30a8\u30b9\u30bf", "\u30cf\u30eb\u30ca", "\u5c11\u5973\u30ea\u30b7\u30e5", "\u30ea\u30b7\u30e5", "\u30a2\u30ad\u30ca", "\u30af\u30ea\u30b9", "\u30ab\u30c8\u30ec\u30a2", "\u30a8\u30ec\u30aa\u30ce\u30fc\u30eb", "\u30e2\u30f3\u30e2\u30e9\u30f3\u30b7\u30fc", "\u30ea\u30fc\u30f4\u30eb", "\u30ad\u30e5\u30eb\u30b1", "\u30a6\u30a7\u30b6\u30ea\u30fc", "\u30b5\u30a4\u30c8", "\u30ae\u30fc\u30b7\u30e5", "\u30b3\u30eb\u30d9\u30fc\u30eb", "\u30aa\u30b9\u30de\u30f3", "\u30c7\u30eb\u30d5\u30ea\u30f3\u30ac\u30fc", "\u30c6\u30af\u30b9\u30c8", "\u30c0\u30f3\u30d7\u30ea\u30e1", "\u30ac\u30ec\u30c3\u30c8", "\u30b9\u30ab\u30ed\u30f3"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u2193", "\u2191", " "] +} diff --git a/configs/zh_ja_mixture_base.json b/configs/zh_ja_mixture_base.json new file mode 100644 index 0000000..94e15fd --- /dev/null +++ b/configs/zh_ja_mixture_base.json @@ -0,0 +1,55 @@ +{ + "train": { + "log_interval": 200, + "eval_interval": 1000, + "seed": 1234, + "epochs": 10000, + "learning_rate": 2e-4, + "betas": [0.8, 0.99], + "eps": 1e-9, + "batch_size": 32, + "fp16_run": true, + "lr_decay": 0.999875, + "segment_size": 8192, + "init_lr_ratio": 1, + "warmup_epochs": 0, + "c_mel": 45, + "c_kl": 1.0 + }, + "data": { + "training_files":"filelists/mix_train_filelist.txt.cleaned", + "validation_files":"filelists/mix_val_filelist.txt.cleaned", + "text_cleaners":["zh_ja_mixture_cleaners"], + "max_wav_value": 32768.0, + "sampling_rate": 22050, + "filter_length": 1024, + "hop_length": 256, + "win_length": 1024, + "n_mel_channels": 80, + "mel_fmin": 0.0, + "mel_fmax": null, + "add_blank": true, + "n_speakers": 5, + "cleaned_text": true + }, + "model": { + "inter_channels": 192, + "hidden_channels": 192, + "filter_channels": 768, + "n_heads": 2, + "n_layers": 6, + "kernel_size": 3, + "p_dropout": 0.1, + "resblock": "1", + "resblock_kernel_sizes": [3,7,11], + "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], + "upsample_rates": [8,8,2,2], + "upsample_initial_channel": 512, + "upsample_kernel_sizes": [16,16,4,4], + "n_layers_q": 3, + "use_spectral_norm": false, + "gin_channels": 256 + }, + "speakers": ["\u7dbe\u5730\u5be7\u3005", "\u5728\u539f\u4e03\u6d77", "\u5c0f\u8338", "\u5510\u4e50\u541f"], + "symbols": ["_", ",", ".", "!", "?", "-", "~", "\u2026", "A", "E", "I", "N", "O", "Q", "U", "a", "b", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "v", "w", "y", "z", "\u0283", "\u02a7", "\u02a6", "\u026f", "\u0279", "\u0259", "\u0265", "\u207c", "\u02b0", "`", "\u2192", "\u2193", "\u2191", " "] +} diff --git a/data_utils.py b/data_utils.py new file mode 100644 index 0000000..79db118 --- /dev/null +++ b/data_utils.py @@ -0,0 +1,399 @@ +import time +import os +import random +import numpy as np +import torch +import torch.utils.data + +import commons +from mel_processing import spectrogram_torch +from utils import load_wav_to_torch, load_filepaths_and_text +from text import text_to_sequence, cleaned_text_to_sequence + + +class TextAudioLoader(torch.utils.data.Dataset): + """ + 1) loads audio, text pairs + 2) normalizes text and converts them to sequences of integers + 3) computes spectrograms from audio files. + """ + + def __init__(self, audiopaths_and_text, hparams): + self.audiopaths_and_text = load_filepaths_and_text(audiopaths_and_text) + self.text_cleaners = hparams.text_cleaners + self.max_wav_value = hparams.max_wav_value + self.sampling_rate = hparams.sampling_rate + self.filter_length = hparams.filter_length + self.hop_length = hparams.hop_length + self.win_length = hparams.win_length + self.sampling_rate = hparams.sampling_rate + + self.cleaned_text = getattr(hparams, "cleaned_text", False) + + self.add_blank = hparams.add_blank + self.min_text_len = getattr(hparams, "min_text_len", 1) + self.max_text_len = getattr(hparams, "max_text_len", 190) + + random.seed(1234) + random.shuffle(self.audiopaths_and_text) + self._filter() + + def _filter(self): + """ + Filter text & store spec lengths + """ + # Store spectrogram lengths for Bucketing + # wav_length ~= file_size / (wav_channels * Bytes per dim) = file_size / (1 * 2) + # spec_length = wav_length // hop_length + + audiopaths_and_text_new = [] + lengths = [] + for audiopath, text in self.audiopaths_and_text: + if self.min_text_len <= len(text) and len(text) <= self.max_text_len: + audiopaths_and_text_new.append([audiopath, text]) + lengths.append(os.path.getsize(audiopath) // (2 * self.hop_length)) + self.audiopaths_and_text = audiopaths_and_text_new + self.lengths = lengths + + def get_audio_text_pair(self, audiopath_and_text): + # separate filename and text + audiopath, text = audiopath_and_text[0], audiopath_and_text[1] + text = self.get_text(text) + spec, wav = self.get_audio(audiopath) + return (text, spec, wav) + + def get_audio(self, filename): + audio, sampling_rate = load_wav_to_torch(filename) + if sampling_rate != self.sampling_rate: + raise ValueError("{} {} SR doesn't match target {} SR".format( + sampling_rate, self.sampling_rate)) + audio_norm = audio / self.max_wav_value + audio_norm = audio_norm.unsqueeze(0) + spec_filename = filename.replace(".wav", ".spec.pt") + if os.path.exists(spec_filename): + spec = torch.load(spec_filename) + else: + spec = spectrogram_torch(audio_norm, self.filter_length, + self.sampling_rate, self.hop_length, self.win_length, + center=False) + spec = torch.squeeze(spec, 0) + torch.save(spec, spec_filename) + return spec, audio_norm + + def get_text(self, text): + if self.cleaned_text: + text_norm = cleaned_text_to_sequence(text) + else: + text_norm = text_to_sequence(text, self.text_cleaners) + if self.add_blank: + text_norm = commons.intersperse(text_norm, 0) + text_norm = torch.LongTensor(text_norm) + return text_norm + + def __getitem__(self, index): + return self.get_audio_text_pair(self.audiopaths_and_text[index]) + + def __len__(self): + return len(self.audiopaths_and_text) + + +class TextAudioCollate(): + """ Zero-pads model inputs and targets + """ + + def __init__(self, return_ids=False): + self.return_ids = return_ids + + def __call__(self, batch): + """Collate's training batch from normalized text and aduio + PARAMS + ------ + batch: [text_normalized, spec_normalized, wav_normalized] + """ + # Right zero-pad all one-hot text sequences to max input length + _, ids_sorted_decreasing = torch.sort( + torch.LongTensor([x[1].size(1) for x in batch]), + dim=0, descending=True) + + max_text_len = max([len(x[0]) for x in batch]) + max_spec_len = max([x[1].size(1) for x in batch]) + max_wav_len = max([x[2].size(1) for x in batch]) + + text_lengths = torch.LongTensor(len(batch)) + spec_lengths = torch.LongTensor(len(batch)) + wav_lengths = torch.LongTensor(len(batch)) + + text_padded = torch.LongTensor(len(batch), max_text_len) + spec_padded = torch.FloatTensor(len(batch), batch[0][1].size(0), max_spec_len) + wav_padded = torch.FloatTensor(len(batch), 1, max_wav_len) + text_padded.zero_() + spec_padded.zero_() + wav_padded.zero_() + for i in range(len(ids_sorted_decreasing)): + row = batch[ids_sorted_decreasing[i]] + + text = row[0] + text_padded[i, :text.size(0)] = text + text_lengths[i] = text.size(0) + + spec = row[1] + spec_padded[i, :, :spec.size(1)] = spec + spec_lengths[i] = spec.size(1) + + wav = row[2] + wav_padded[i, :, :wav.size(1)] = wav + wav_lengths[i] = wav.size(1) + + if self.return_ids: + return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, ids_sorted_decreasing + return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths + + +"""Multi speaker version""" + + +class TextAudioSpeakerLoader(torch.utils.data.Dataset): + """ + 1) loads audio, speaker_id, text pairs + 2) normalizes text and converts them to sequences of integers + 3) computes spectrograms from audio files. + """ + + def __init__(self, audiopaths_sid_text, hparams): + self.audiopaths_sid_text = load_filepaths_and_text(audiopaths_sid_text) + self.text_cleaners = hparams.text_cleaners + self.max_wav_value = hparams.max_wav_value + self.sampling_rate = hparams.sampling_rate + self.filter_length = hparams.filter_length + self.hop_length = hparams.hop_length + self.win_length = hparams.win_length + self.sampling_rate = hparams.sampling_rate + + self.cleaned_text = getattr(hparams, "cleaned_text", False) + + self.add_blank = hparams.add_blank + self.min_text_len = getattr(hparams, "min_text_len", 1) + self.max_text_len = getattr(hparams, "max_text_len", 190) + + random.seed(1234) + random.shuffle(self.audiopaths_sid_text) + self._filter() + + def _filter(self): + """ + Filter text & store spec lengths + """ + # Store spectrogram lengths for Bucketing + # wav_length ~= file_size / (wav_channels * Bytes per dim) = file_size / (1 * 2) + # spec_length = wav_length // hop_length + + audiopaths_sid_text_new = [] + lengths = [] + for audiopath, sid, text in self.audiopaths_sid_text: + audiopath = "E:/uma_voice/" + audiopath + if self.min_text_len <= len(text) and len(text) <= self.max_text_len: + audiopaths_sid_text_new.append([audiopath, sid, text]) + lengths.append(os.path.getsize(audiopath) // (2 * self.hop_length)) + self.audiopaths_sid_text = audiopaths_sid_text_new + self.lengths = lengths + + def get_audio_text_speaker_pair(self, audiopath_sid_text): + # separate filename, speaker_id and text + audiopath, sid, text = audiopath_sid_text[0], audiopath_sid_text[1], audiopath_sid_text[2] + text = self.get_text(text) + spec, wav = self.get_audio(audiopath) + sid = self.get_sid(sid) + return (text, spec, wav, sid) + + def get_audio(self, filename): + audio, sampling_rate = load_wav_to_torch(filename) + if sampling_rate != self.sampling_rate: + raise ValueError("{} {} SR doesn't match target {} SR".format( + sampling_rate, self.sampling_rate)) + audio_norm = audio / self.max_wav_value + audio_norm = audio_norm.unsqueeze(0) + spec_filename = filename.replace(".wav", ".spec.pt") + if os.path.exists(spec_filename): + spec = torch.load(spec_filename) + else: + spec = spectrogram_torch(audio_norm, self.filter_length, + self.sampling_rate, self.hop_length, self.win_length, + center=False) + spec = torch.squeeze(spec, 0) + torch.save(spec, spec_filename) + return spec, audio_norm + + def get_text(self, text): + if self.cleaned_text: + text_norm = cleaned_text_to_sequence(text) + else: + text_norm = text_to_sequence(text, self.text_cleaners) + if self.add_blank: + text_norm = commons.intersperse(text_norm, 0) + text_norm = torch.LongTensor(text_norm) + return text_norm + + def get_sid(self, sid): + sid = torch.LongTensor([int(sid)]) + return sid + + def __getitem__(self, index): + return self.get_audio_text_speaker_pair(self.audiopaths_sid_text[index]) + + def __len__(self): + return len(self.audiopaths_sid_text) + + +class TextAudioSpeakerCollate(): + """ Zero-pads model inputs and targets + """ + + def __init__(self, return_ids=False): + self.return_ids = return_ids + + def __call__(self, batch): + """Collate's training batch from normalized text, audio and speaker identities + PARAMS + ------ + batch: [text_normalized, spec_normalized, wav_normalized, sid] + """ + # Right zero-pad all one-hot text sequences to max input length + _, ids_sorted_decreasing = torch.sort( + torch.LongTensor([x[1].size(1) for x in batch]), + dim=0, descending=True) + + max_text_len = max([len(x[0]) for x in batch]) + max_spec_len = max([x[1].size(1) for x in batch]) + max_wav_len = max([x[2].size(1) for x in batch]) + + text_lengths = torch.LongTensor(len(batch)) + spec_lengths = torch.LongTensor(len(batch)) + wav_lengths = torch.LongTensor(len(batch)) + sid = torch.LongTensor(len(batch)) + + text_padded = torch.LongTensor(len(batch), max_text_len) + spec_padded = torch.FloatTensor(len(batch), batch[0][1].size(0), max_spec_len) + wav_padded = torch.FloatTensor(len(batch), 1, max_wav_len) + text_padded.zero_() + spec_padded.zero_() + wav_padded.zero_() + for i in range(len(ids_sorted_decreasing)): + row = batch[ids_sorted_decreasing[i]] + + text = row[0] + text_padded[i, :text.size(0)] = text + text_lengths[i] = text.size(0) + + spec = row[1] + spec_padded[i, :, :spec.size(1)] = spec + spec_lengths[i] = spec.size(1) + + wav = row[2] + wav_padded[i, :, :wav.size(1)] = wav + wav_lengths[i] = wav.size(1) + + sid[i] = row[3] + + if self.return_ids: + return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, sid, ids_sorted_decreasing + return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, sid + + +class DistributedBucketSampler(torch.utils.data.distributed.DistributedSampler): + """ + Maintain similar input lengths in a batch. + Length groups are specified by boundaries. + Ex) boundaries = [b1, b2, b3] -> any batch is included either {x | b1 < length(x) <=b2} or {x | b2 < length(x) <= b3}. + + It removes samples which are not included in the boundaries. + Ex) boundaries = [b1, b2, b3] -> any x s.t. length(x) <= b1 or length(x) > b3 are discarded. + """ + + def __init__(self, dataset, batch_size, boundaries, num_replicas=None, rank=None, shuffle=True): + super().__init__(dataset, num_replicas=num_replicas, rank=rank, shuffle=shuffle) + self.lengths = dataset.lengths + self.batch_size = batch_size + self.boundaries = boundaries + + self.buckets, self.num_samples_per_bucket = self._create_buckets() + self.total_size = sum(self.num_samples_per_bucket) + self.num_samples = self.total_size // self.num_replicas + + def _create_buckets(self): + buckets = [[] for _ in range(len(self.boundaries) - 1)] + for i in range(len(self.lengths)): + length = self.lengths[i] + idx_bucket = self._bisect(length) + if idx_bucket != -1: + buckets[idx_bucket].append(i) + + for i in range(len(buckets) - 1, 0, -1): + if len(buckets[i]) == 0: + buckets.pop(i) + self.boundaries.pop(i + 1) + + num_samples_per_bucket = [] + for i in range(len(buckets)): + len_bucket = len(buckets[i]) + total_batch_size = self.num_replicas * self.batch_size + rem = (total_batch_size - (len_bucket % total_batch_size)) % total_batch_size + num_samples_per_bucket.append(len_bucket + rem) + return buckets, num_samples_per_bucket + + def __iter__(self): + # deterministically shuffle based on epoch + g = torch.Generator() + g.manual_seed(self.epoch) + + indices = [] + if self.shuffle: + for bucket in self.buckets: + indices.append(torch.randperm(len(bucket), generator=g).tolist()) + else: + for bucket in self.buckets: + indices.append(list(range(len(bucket)))) + + batches = [] + for i in range(len(self.buckets)): + bucket = self.buckets[i] + len_bucket = len(bucket) + ids_bucket = indices[i] + num_samples_bucket = self.num_samples_per_bucket[i] + + # add extra samples to make it evenly divisible + rem = num_samples_bucket - len_bucket + ids_bucket = ids_bucket + ids_bucket * (rem // len_bucket) + ids_bucket[:(rem % len_bucket)] + + # subsample + ids_bucket = ids_bucket[self.rank::self.num_replicas] + + # batching + for j in range(len(ids_bucket) // self.batch_size): + batch = [bucket[idx] for idx in ids_bucket[j * self.batch_size:(j + 1) * self.batch_size]] + batches.append(batch) + + if self.shuffle: + batch_ids = torch.randperm(len(batches), generator=g).tolist() + batches = [batches[i] for i in batch_ids] + self.batches = batches + + assert len(self.batches) * self.batch_size == self.num_samples + return iter(self.batches) + + def _bisect(self, x, lo=0, hi=None): + if hi is None: + hi = len(self.boundaries) - 1 + + if hi > lo: + mid = (hi + lo) // 2 + if self.boundaries[mid] < x and x <= self.boundaries[mid + 1]: + return mid + elif x <= self.boundaries[mid]: + return self._bisect(x, lo, mid) + else: + return self._bisect(x, mid + 1, hi) + else: + return -1 + + def __len__(self): + return self.num_samples // self.batch_size \ No newline at end of file diff --git a/losses.py b/losses.py new file mode 100644 index 0000000..c5d410e --- /dev/null +++ b/losses.py @@ -0,0 +1,61 @@ +import torch +from torch.nn import functional as F + +import commons + + +def feature_loss(fmap_r, fmap_g): + loss = 0 + for dr, dg in zip(fmap_r, fmap_g): + for rl, gl in zip(dr, dg): + rl = rl.float().detach() + gl = gl.float() + loss += torch.mean(torch.abs(rl - gl)) + + return loss * 2 + + +def discriminator_loss(disc_real_outputs, disc_generated_outputs): + loss = 0 + r_losses = [] + g_losses = [] + for dr, dg in zip(disc_real_outputs, disc_generated_outputs): + dr = dr.float() + dg = dg.float() + r_loss = torch.mean((1-dr)**2) + g_loss = torch.mean(dg**2) + loss += (r_loss + g_loss) + r_losses.append(r_loss.item()) + g_losses.append(g_loss.item()) + + return loss, r_losses, g_losses + + +def generator_loss(disc_outputs): + loss = 0 + gen_losses = [] + for dg in disc_outputs: + dg = dg.float() + l = torch.mean((1-dg)**2) + gen_losses.append(l) + loss += l + + return loss, gen_losses + + +def kl_loss(z_p, logs_q, m_p, logs_p, z_mask): + """ + z_p, logs_q: [b, h, t_t] + m_p, logs_p: [b, h, t_t] + """ + z_p = z_p.float() + logs_q = logs_q.float() + m_p = m_p.float() + logs_p = logs_p.float() + z_mask = z_mask.float() + + kl = logs_p - logs_q - 0.5 + kl += 0.5 * ((z_p - m_p)**2) * torch.exp(-2. * logs_p) + kl = torch.sum(kl * z_mask) + l = kl / torch.sum(z_mask) + return l diff --git a/mel_processing.py b/mel_processing.py new file mode 100644 index 0000000..96cbb77 --- /dev/null +++ b/mel_processing.py @@ -0,0 +1,112 @@ +import math +import os +import random +import torch +from torch import nn +import torch.nn.functional as F +import torch.utils.data +import numpy as np +import librosa +import librosa.util as librosa_util +from librosa.util import normalize, pad_center, tiny +from scipy.signal import get_window +from scipy.io.wavfile import read +from librosa.filters import mel as librosa_mel_fn + +MAX_WAV_VALUE = 32768.0 + + +def dynamic_range_compression_torch(x, C=1, clip_val=1e-5): + """ + PARAMS + ------ + C: compression factor + """ + return torch.log(torch.clamp(x, min=clip_val) * C) + + +def dynamic_range_decompression_torch(x, C=1): + """ + PARAMS + ------ + C: compression factor used to compress + """ + return torch.exp(x) / C + + +def spectral_normalize_torch(magnitudes): + output = dynamic_range_compression_torch(magnitudes) + return output + + +def spectral_de_normalize_torch(magnitudes): + output = dynamic_range_decompression_torch(magnitudes) + return output + + +mel_basis = {} +hann_window = {} + + +def spectrogram_torch(y, n_fft, sampling_rate, hop_size, win_size, center=False): + if torch.min(y) < -1.: + print('min value is ', torch.min(y)) + if torch.max(y) > 1.: + print('max value is ', torch.max(y)) + + global hann_window + dtype_device = str(y.dtype) + '_' + str(y.device) + wnsize_dtype_device = str(win_size) + '_' + dtype_device + if wnsize_dtype_device not in hann_window: + hann_window[wnsize_dtype_device] = torch.hann_window(win_size).to(dtype=y.dtype, device=y.device) + + y = torch.nn.functional.pad(y.unsqueeze(1), (int((n_fft-hop_size)/2), int((n_fft-hop_size)/2)), mode='reflect') + y = y.squeeze(1) + + spec = torch.stft(y, n_fft, hop_length=hop_size, win_length=win_size, window=hann_window[wnsize_dtype_device], + center=center, pad_mode='reflect', normalized=False, onesided=True) + + spec = torch.sqrt(spec.pow(2).sum(-1) + 1e-6) + return spec + + +def spec_to_mel_torch(spec, n_fft, num_mels, sampling_rate, fmin, fmax): + global mel_basis + dtype_device = str(spec.dtype) + '_' + str(spec.device) + fmax_dtype_device = str(fmax) + '_' + dtype_device + if fmax_dtype_device not in mel_basis: + mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax) + mel_basis[fmax_dtype_device] = torch.from_numpy(mel).to(dtype=spec.dtype, device=spec.device) + spec = torch.matmul(mel_basis[fmax_dtype_device], spec) + spec = spectral_normalize_torch(spec) + return spec + + +def mel_spectrogram_torch(y, n_fft, num_mels, sampling_rate, hop_size, win_size, fmin, fmax, center=False): + if torch.min(y) < -1.: + print('min value is ', torch.min(y)) + if torch.max(y) > 1.: + print('max value is ', torch.max(y)) + + global mel_basis, hann_window + dtype_device = str(y.dtype) + '_' + str(y.device) + fmax_dtype_device = str(fmax) + '_' + dtype_device + wnsize_dtype_device = str(win_size) + '_' + dtype_device + if fmax_dtype_device not in mel_basis: + mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax) + mel_basis[fmax_dtype_device] = torch.from_numpy(mel).to(dtype=y.dtype, device=y.device) + if wnsize_dtype_device not in hann_window: + hann_window[wnsize_dtype_device] = torch.hann_window(win_size).to(dtype=y.dtype, device=y.device) + + y = torch.nn.functional.pad(y.unsqueeze(1), (int((n_fft-hop_size)/2), int((n_fft-hop_size)/2)), mode='reflect') + y = y.squeeze(1) + + spec = torch.stft(y, n_fft, hop_length=hop_size, win_length=win_size, window=hann_window[wnsize_dtype_device], + center=center, pad_mode='reflect', normalized=False, onesided=True) + + spec = torch.sqrt(spec.pow(2).sum(-1) + 1e-6) + + spec = torch.matmul(mel_basis[fmax_dtype_device], spec) + spec = spectral_normalize_torch(spec) + + return spec diff --git a/models.py b/models.py new file mode 100644 index 0000000..fa01451 --- /dev/null +++ b/models.py @@ -0,0 +1,590 @@ +import math +import torch +from torch import nn +from torch.nn import functional as F + +import commons +import modules +import attentions +import monotonic_align + +from torch.nn import Conv1d, ConvTranspose1d, Conv2d +from torch.nn.utils import weight_norm, remove_weight_norm, spectral_norm +from commons import init_weights, get_padding + + +class StochasticDurationPredictor(nn.Module): + def __init__(self, in_channels, filter_channels, kernel_size, p_dropout, n_flows=4, gin_channels=0): + super().__init__() + filter_channels = in_channels # it needs to be removed from future version. + self.in_channels = in_channels + self.filter_channels = filter_channels + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.n_flows = n_flows + self.gin_channels = gin_channels + + self.log_flow = modules.Log() + self.flows = nn.ModuleList() + self.flows.append(modules.ElementwiseAffine(2)) + for i in range(n_flows): + self.flows.append(modules.ConvFlow(2, filter_channels, kernel_size, n_layers=3)) + self.flows.append(modules.Flip()) + + self.post_pre = nn.Conv1d(1, filter_channels, 1) + self.post_proj = nn.Conv1d(filter_channels, filter_channels, 1) + self.post_convs = modules.DDSConv(filter_channels, kernel_size, n_layers=3, p_dropout=p_dropout) + self.post_flows = nn.ModuleList() + self.post_flows.append(modules.ElementwiseAffine(2)) + for i in range(4): + self.post_flows.append(modules.ConvFlow(2, filter_channels, kernel_size, n_layers=3)) + self.post_flows.append(modules.Flip()) + + self.pre = nn.Conv1d(in_channels, filter_channels, 1) + self.proj = nn.Conv1d(filter_channels, filter_channels, 1) + self.convs = modules.DDSConv(filter_channels, kernel_size, n_layers=3, p_dropout=p_dropout) + if gin_channels != 0: + self.cond = nn.Conv1d(gin_channels, filter_channels, 1) + + def forward(self, x, x_mask, w=None, g=None, reverse=False, noise_scale=1.0): + x = torch.detach(x) + x = self.pre(x) + if g is not None: + g = torch.detach(g) + x = x + self.cond(g) + x = self.convs(x, x_mask) + x = self.proj(x) * x_mask + + if not reverse: + flows = self.flows + assert w is not None + + logdet_tot_q = 0 + h_w = self.post_pre(w) + h_w = self.post_convs(h_w, x_mask) + h_w = self.post_proj(h_w) * x_mask + e_q = torch.randn(w.size(0), 2, w.size(2)).to(device=x.device, dtype=x.dtype) * x_mask + z_q = e_q + for flow in self.post_flows: + z_q, logdet_q = flow(z_q, x_mask, g=(x + h_w)) + logdet_tot_q += logdet_q + z_u, z1 = torch.split(z_q, [1, 1], 1) + u = torch.sigmoid(z_u) * x_mask + z0 = (w - u) * x_mask + logdet_tot_q += torch.sum((F.logsigmoid(z_u) + F.logsigmoid(-z_u)) * x_mask, [1, 2]) + logq = torch.sum(-0.5 * (math.log(2 * math.pi) + (e_q ** 2)) * x_mask, [1, 2]) - logdet_tot_q + + logdet_tot = 0 + z0, logdet = self.log_flow(z0, x_mask) + logdet_tot += logdet + z = torch.cat([z0, z1], 1) + for flow in flows: + z, logdet = flow(z, x_mask, g=x, reverse=reverse) + logdet_tot = logdet_tot + logdet + nll = torch.sum(0.5 * (math.log(2 * math.pi) + (z ** 2)) * x_mask, [1, 2]) - logdet_tot + return nll + logq # [b] + else: + flows = list(reversed(self.flows)) + flows = flows[:-2] + [flows[-1]] # remove a useless vflow + z = torch.randn(x.size(0), 2, x.size(2)).to(device=x.device, dtype=x.dtype) * noise_scale + for flow in flows: + z = flow(z, x_mask, g=x, reverse=reverse) + z0, z1 = torch.split(z, [1, 1], 1) + logw = z0 + return logw + + +class DurationPredictor(nn.Module): + def __init__(self, in_channels, filter_channels, kernel_size, p_dropout, gin_channels=0): + super().__init__() + + self.in_channels = in_channels + self.filter_channels = filter_channels + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.gin_channels = gin_channels + + self.drop = nn.Dropout(p_dropout) + self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size, padding=kernel_size // 2) + self.norm_1 = modules.LayerNorm(filter_channels) + self.conv_2 = nn.Conv1d(filter_channels, filter_channels, kernel_size, padding=kernel_size // 2) + self.norm_2 = modules.LayerNorm(filter_channels) + self.proj = nn.Conv1d(filter_channels, 1, 1) + + if gin_channels != 0: + self.cond = nn.Conv1d(gin_channels, in_channels, 1) + + def forward(self, x, x_mask, g=None): + x = torch.detach(x) + if g is not None: + g = torch.detach(g) + x = x + self.cond(g) + x = self.conv_1(x * x_mask) + x = torch.relu(x) + x = self.norm_1(x) + x = self.drop(x) + x = self.conv_2(x * x_mask) + x = torch.relu(x) + x = self.norm_2(x) + x = self.drop(x) + x = self.proj(x * x_mask) + return x * x_mask + + +class TextEncoder(nn.Module): + def __init__(self, + n_vocab, + out_channels, + hidden_channels, + filter_channels, + n_heads, + n_layers, + kernel_size, + p_dropout, + emotion_embedding): + super().__init__() + self.n_vocab = n_vocab + self.out_channels = out_channels + self.hidden_channels = hidden_channels + self.filter_channels = filter_channels + self.n_heads = n_heads + self.n_layers = n_layers + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.emotion_embedding = emotion_embedding + + if self.n_vocab != 0: + self.emb = nn.Embedding(n_vocab, hidden_channels) + if emotion_embedding: + self.emo_proj = nn.Linear(1024, hidden_channels) + nn.init.normal_(self.emb.weight, 0.0, hidden_channels ** -0.5) + + self.encoder = attentions.Encoder( + hidden_channels, + filter_channels, + n_heads, + n_layers, + kernel_size, + p_dropout) + self.proj = nn.Conv1d(hidden_channels, out_channels * 2, 1) + + def forward(self, x, x_lengths, emotion_embedding=None): + if self.n_vocab != 0: + x = self.emb(x) * math.sqrt(self.hidden_channels) # [b, t, h] + if emotion_embedding is not None: + x = x + self.emo_proj(emotion_embedding.unsqueeze(1)) + x = torch.transpose(x, 1, -1) # [b, h, t] + x_mask = torch.unsqueeze(commons.sequence_mask(x_lengths, x.size(2)), 1).to(x.dtype) + + x = self.encoder(x * x_mask, x_mask) + stats = self.proj(x) * x_mask + + m, logs = torch.split(stats, self.out_channels, dim=1) + return x, m, logs, x_mask + + +class ResidualCouplingBlock(nn.Module): + def __init__(self, + channels, + hidden_channels, + kernel_size, + dilation_rate, + n_layers, + n_flows=4, + gin_channels=0): + super().__init__() + self.channels = channels + self.hidden_channels = hidden_channels + self.kernel_size = kernel_size + self.dilation_rate = dilation_rate + self.n_layers = n_layers + self.n_flows = n_flows + self.gin_channels = gin_channels + + self.flows = nn.ModuleList() + for i in range(n_flows): + self.flows.append( + modules.ResidualCouplingLayer(channels, hidden_channels, kernel_size, dilation_rate, n_layers, + gin_channels=gin_channels, mean_only=True)) + self.flows.append(modules.Flip()) + + def forward(self, x, x_mask, g=None, reverse=False): + if not reverse: + for flow in self.flows: + x, _ = flow(x, x_mask, g=g, reverse=reverse) + else: + for flow in reversed(self.flows): + x = flow(x, x_mask, g=g, reverse=reverse) + return x + + +class PosteriorEncoder(nn.Module): + def __init__(self, + in_channels, + out_channels, + hidden_channels, + kernel_size, + dilation_rate, + n_layers, + gin_channels=0): + super().__init__() + self.in_channels = in_channels + self.out_channels = out_channels + self.hidden_channels = hidden_channels + self.kernel_size = kernel_size + self.dilation_rate = dilation_rate + self.n_layers = n_layers + self.gin_channels = gin_channels + + self.pre = nn.Conv1d(in_channels, hidden_channels, 1) + self.enc = modules.WN(hidden_channels, kernel_size, dilation_rate, n_layers, gin_channels=gin_channels) + self.proj = nn.Conv1d(hidden_channels, out_channels * 2, 1) + + def forward(self, x, x_lengths, g=None): + x_mask = torch.unsqueeze(commons.sequence_mask(x_lengths, x.size(2)), 1).to(x.dtype) + x = self.pre(x) * x_mask + x = self.enc(x, x_mask, g=g) + stats = self.proj(x) * x_mask + m, logs = torch.split(stats, self.out_channels, dim=1) + z = (m + torch.randn_like(m) * torch.exp(logs)) * x_mask + return z, m, logs, x_mask + + +class Generator(torch.nn.Module): + def __init__(self, initial_channel, resblock, resblock_kernel_sizes, resblock_dilation_sizes, upsample_rates, + upsample_initial_channel, upsample_kernel_sizes, gin_channels=0): + super(Generator, self).__init__() + self.num_kernels = len(resblock_kernel_sizes) + self.num_upsamples = len(upsample_rates) + self.conv_pre = Conv1d(initial_channel, upsample_initial_channel, 7, 1, padding=3) + resblock = modules.ResBlock1 if resblock == '1' else modules.ResBlock2 + + self.ups = nn.ModuleList() + for i, (u, k) in enumerate(zip(upsample_rates, upsample_kernel_sizes)): + self.ups.append(weight_norm( + ConvTranspose1d(upsample_initial_channel // (2 ** i), upsample_initial_channel // (2 ** (i + 1)), + k, u, padding=(k - u) // 2))) + + self.resblocks = nn.ModuleList() + for i in range(len(self.ups)): + ch = upsample_initial_channel // (2 ** (i + 1)) + for j, (k, d) in enumerate(zip(resblock_kernel_sizes, resblock_dilation_sizes)): + self.resblocks.append(resblock(ch, k, d)) + + self.conv_post = Conv1d(ch, 1, 7, 1, padding=3, bias=False) + self.ups.apply(init_weights) + + if gin_channels != 0: + self.cond = nn.Conv1d(gin_channels, upsample_initial_channel, 1) + + def forward(self, x, g=None): + x = self.conv_pre(x) + if g is not None: + x = x + self.cond(g) + + for i in range(self.num_upsamples): + x = F.leaky_relu(x, modules.LRELU_SLOPE) + x = self.ups[i](x) + xs = None + for j in range(self.num_kernels): + if xs is None: + xs = self.resblocks[i * self.num_kernels + j](x) + else: + xs += self.resblocks[i * self.num_kernels + j](x) + x = xs / self.num_kernels + x = F.leaky_relu(x) + x = self.conv_post(x) + x = torch.tanh(x) + + return x + + def remove_weight_norm(self): + print('Removing weight norm...') + for l in self.ups: + remove_weight_norm(l) + for l in self.resblocks: + l.remove_weight_norm() + + +class DiscriminatorP(torch.nn.Module): + def __init__(self, period, kernel_size=5, stride=3, use_spectral_norm=False): + super(DiscriminatorP, self).__init__() + self.period = period + self.use_spectral_norm = use_spectral_norm + norm_f = weight_norm if use_spectral_norm == False else spectral_norm + self.convs = nn.ModuleList([ + norm_f(Conv2d(1, 32, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), + norm_f(Conv2d(32, 128, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), + norm_f(Conv2d(128, 512, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), + norm_f(Conv2d(512, 1024, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), + norm_f(Conv2d(1024, 1024, (kernel_size, 1), 1, padding=(get_padding(kernel_size, 1), 0))), + ]) + self.conv_post = norm_f(Conv2d(1024, 1, (3, 1), 1, padding=(1, 0))) + + def forward(self, x): + fmap = [] + + # 1d to 2d + b, c, t = x.shape + if t % self.period != 0: # pad first + n_pad = self.period - (t % self.period) + x = F.pad(x, (0, n_pad), "reflect") + t = t + n_pad + x = x.view(b, c, t // self.period, self.period) + + for l in self.convs: + x = l(x) + x = F.leaky_relu(x, modules.LRELU_SLOPE) + fmap.append(x) + x = self.conv_post(x) + fmap.append(x) + x = torch.flatten(x, 1, -1) + + return x, fmap + + +class DiscriminatorS(torch.nn.Module): + def __init__(self, use_spectral_norm=False): + super(DiscriminatorS, self).__init__() + norm_f = weight_norm if use_spectral_norm == False else spectral_norm + self.convs = nn.ModuleList([ + norm_f(Conv1d(1, 16, 15, 1, padding=7)), + norm_f(Conv1d(16, 64, 41, 4, groups=4, padding=20)), + norm_f(Conv1d(64, 256, 41, 4, groups=16, padding=20)), + norm_f(Conv1d(256, 1024, 41, 4, groups=64, padding=20)), + norm_f(Conv1d(1024, 1024, 41, 4, groups=256, padding=20)), + norm_f(Conv1d(1024, 1024, 5, 1, padding=2)), + ]) + self.conv_post = norm_f(Conv1d(1024, 1, 3, 1, padding=1)) + + def forward(self, x): + fmap = [] + + for l in self.convs: + x = l(x) + x = F.leaky_relu(x, modules.LRELU_SLOPE) + fmap.append(x) + x = self.conv_post(x) + fmap.append(x) + x = torch.flatten(x, 1, -1) + + return x, fmap + + +class MultiPeriodDiscriminator(torch.nn.Module): + def __init__(self, use_spectral_norm=False): + super(MultiPeriodDiscriminator, self).__init__() + periods = [2, 3, 5, 7, 11] + + discs = [DiscriminatorS(use_spectral_norm=use_spectral_norm)] + discs = discs + [DiscriminatorP(i, use_spectral_norm=use_spectral_norm) for i in periods] + self.discriminators = nn.ModuleList(discs) + + def forward(self, y, y_hat): + y_d_rs = [] + y_d_gs = [] + fmap_rs = [] + fmap_gs = [] + for i, d in enumerate(self.discriminators): + y_d_r, fmap_r = d(y) + y_d_g, fmap_g = d(y_hat) + y_d_rs.append(y_d_r) + y_d_gs.append(y_d_g) + fmap_rs.append(fmap_r) + fmap_gs.append(fmap_g) + + return y_d_rs, y_d_gs, fmap_rs, fmap_gs + + +class SynthesizerTrn(nn.Module): + """ + Synthesizer for Training + """ + + def __init__(self, + n_vocab, + spec_channels, + segment_size, + inter_channels, + hidden_channels, + filter_channels, + n_heads, + n_layers, + kernel_size, + p_dropout, + resblock, + resblock_kernel_sizes, + resblock_dilation_sizes, + upsample_rates, + upsample_initial_channel, + upsample_kernel_sizes, + n_speakers=0, + gin_channels=0, + use_sdp=True, + emotion_embedding=False, + **kwargs): + + super().__init__() + self.n_vocab = n_vocab + self.spec_channels = spec_channels + self.inter_channels = inter_channels + self.hidden_channels = hidden_channels + self.filter_channels = filter_channels + self.n_heads = n_heads + self.n_layers = n_layers + self.kernel_size = kernel_size + self.p_dropout = p_dropout + self.resblock = resblock + self.resblock_kernel_sizes = resblock_kernel_sizes + self.resblock_dilation_sizes = resblock_dilation_sizes + self.upsample_rates = upsample_rates + self.upsample_initial_channel = upsample_initial_channel + self.upsample_kernel_sizes = upsample_kernel_sizes + self.segment_size = segment_size + self.n_speakers = n_speakers + self.gin_channels = gin_channels + + self.use_sdp = use_sdp + + self.enc_p = TextEncoder(n_vocab, + inter_channels, + hidden_channels, + filter_channels, + n_heads, + n_layers, + kernel_size, + p_dropout, + emotion_embedding) + self.dec = Generator(inter_channels, resblock, resblock_kernel_sizes, resblock_dilation_sizes, upsample_rates, + upsample_initial_channel, upsample_kernel_sizes, gin_channels=gin_channels) + self.enc_q = PosteriorEncoder(spec_channels, inter_channels, hidden_channels, 5, 1, 16, + gin_channels=gin_channels) + self.flow = ResidualCouplingBlock(inter_channels, hidden_channels, 5, 1, 4, gin_channels=gin_channels) + + if use_sdp: + self.dp = StochasticDurationPredictor(hidden_channels, 192, 3, 0.5, 4, gin_channels=gin_channels) + else: + self.dp = DurationPredictor(hidden_channels, 256, 3, 0.5, gin_channels=gin_channels) + + if n_speakers > 1: + self.emb_g = nn.Embedding(n_speakers, gin_channels) + + def forward(self, x, x_lengths, y, y_lengths, sid=None, emotion_embedding=None): + + x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths, emotion_embedding) + if self.n_speakers > 1: + g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] + else: + g = None + + z, m_q, logs_q, y_mask = self.enc_q(y, y_lengths, g=g) + z_p = self.flow(z, y_mask, g=g) + + with torch.no_grad(): + # negative cross-entropy + s_p_sq_r = torch.exp(-2 * logs_p) # [b, d, t] + neg_cent1 = torch.sum(-0.5 * math.log(2 * math.pi) - logs_p, [1], keepdim=True) # [b, 1, t_s] + neg_cent2 = torch.matmul(-0.5 * (z_p ** 2).transpose(1, 2), + s_p_sq_r) # [b, t_t, d] x [b, d, t_s] = [b, t_t, t_s] + neg_cent3 = torch.matmul(z_p.transpose(1, 2), (m_p * s_p_sq_r)) # [b, t_t, d] x [b, d, t_s] = [b, t_t, t_s] + neg_cent4 = torch.sum(-0.5 * (m_p ** 2) * s_p_sq_r, [1], keepdim=True) # [b, 1, t_s] + neg_cent = neg_cent1 + neg_cent2 + neg_cent3 + neg_cent4 + + attn_mask = torch.unsqueeze(x_mask, 2) * torch.unsqueeze(y_mask, -1) + attn = monotonic_align.maximum_path(neg_cent, attn_mask.squeeze(1)).unsqueeze(1).detach() + + w = attn.sum(2) + if self.use_sdp: + l_length = self.dp(x, x_mask, w, g=g) + l_length = l_length / torch.sum(x_mask) + else: + logw_ = torch.log(w + 1e-6) * x_mask + logw = self.dp(x, x_mask, g=g) + l_length = torch.sum((logw - logw_) ** 2, [1, 2]) / torch.sum(x_mask) # for averaging + + # expand prior + m_p = torch.matmul(attn.squeeze(1), m_p.transpose(1, 2)).transpose(1, 2) + logs_p = torch.matmul(attn.squeeze(1), logs_p.transpose(1, 2)).transpose(1, 2) + + z_slice, ids_slice = commons.rand_slice_segments(z, y_lengths, self.segment_size) + o = self.dec(z_slice, g=g) + return o, l_length, attn, ids_slice, x_mask, y_mask, (z, z_p, m_p, logs_p, m_q, logs_q) + + def infer(self, x, x_lengths, sid=None, noise_scale=1, length_scale=1, noise_scale_w=1., max_len=None, + emotion_embedding=None): + x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths, emotion_embedding) + if self.n_speakers > 1: + g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] + else: + g = None + + if self.use_sdp: + logw = self.dp(x, x_mask, g=g, reverse=True, noise_scale=noise_scale_w) + else: + logw = self.dp(x, x_mask, g=g) + w = torch.exp(logw) * x_mask * length_scale + w_ceil = torch.ceil(w) + y_lengths = torch.clamp_min(torch.sum(w_ceil, [1, 2]), 1).long() + y_mask = torch.unsqueeze(commons.sequence_mask(y_lengths, None), 1).to(x_mask.dtype) + attn_mask = torch.unsqueeze(x_mask, 2) * torch.unsqueeze(y_mask, -1) + attn = commons.generate_path(w_ceil, attn_mask) + + m_p = torch.matmul(attn.squeeze(1), m_p.transpose(1, 2)).transpose(1, 2) # [b, t', t], [b, t, d] -> [b, d, t'] + logs_p = torch.matmul(attn.squeeze(1), logs_p.transpose(1, 2)).transpose(1, + 2) # [b, t', t], [b, t, d] -> [b, d, t'] + + z_p = m_p + torch.randn_like(m_p) * torch.exp(logs_p) * noise_scale + z = self.flow(z_p, y_mask, g=g, reverse=True) + o = self.dec((z * y_mask)[:, :, :max_len], g=g) + return o, attn, y_mask, (z, z_p, m_p, logs_p) + + def predict_duration(self, x, x_lengths, sid=None, noise_scale=1, length_scale=1, noise_scale_w=1., max_len=None, + emotion_embedding=None): + x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths, emotion_embedding) + if self.n_speakers > 1: + g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] + else: + g = None + + if self.use_sdp: + logw = self.dp(x, x_mask, g=g, reverse=True, noise_scale=noise_scale_w) + else: + logw = self.dp(x, x_mask, g=g) + w = torch.exp(logw) * x_mask * length_scale + w_ceil = torch.ceil(w) + return list(w_ceil.squeeze()) + + def infer_with_duration(self, x, x_lengths, w_ceil, sid=None, noise_scale=1, length_scale=1, noise_scale_w=1., max_len=None, + emotion_embedding=None): + x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths, emotion_embedding) + if self.n_speakers > 1: + g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] + else: + g = None + print(len(w_ceil)) + print(x.shape) + assert len(w_ceil) == x.shape[2] + w_ceil = torch.FloatTensor(w_ceil).reshape(1, 1, -1) + y_lengths = torch.clamp_min(torch.sum(w_ceil, [1, 2]), 1).long() + y_mask = torch.unsqueeze(commons.sequence_mask(y_lengths, None), 1).to(x_mask.dtype) + attn_mask = torch.unsqueeze(x_mask, 2) * torch.unsqueeze(y_mask, -1) + attn = commons.generate_path(w_ceil, attn_mask) + + m_p = torch.matmul(attn.squeeze(1), m_p.transpose(1, 2)).transpose(1, 2) # [b, t', t], [b, t, d] -> [b, d, t'] + logs_p = torch.matmul(attn.squeeze(1), logs_p.transpose(1, 2)).transpose(1, + 2) # [b, t', t], [b, t, d] -> [b, d, t'] + + z_p = m_p + torch.randn_like(m_p) * torch.exp(logs_p) * noise_scale + z = self.flow(z_p, y_mask, g=g, reverse=True) + o = self.dec((z * y_mask)[:, :, :max_len], g=g) + return o, attn, y_mask, (z, z_p, m_p, logs_p) + + def voice_conversion(self, y, y_lengths, sid_src, sid_tgt): + assert self.n_speakers > 1, "n_speakers have to be larger than 1." + g_src = self.emb_g(sid_src).unsqueeze(-1) + g_tgt = self.emb_g(sid_tgt).unsqueeze(-1) + z, m_q, logs_q, y_mask = self.enc_q(y, y_lengths, g=g_src) + z_p = self.flow(z, y_mask, g=g_src) + z_hat = self.flow(z_p, y_mask, g=g_tgt, reverse=True) + o_hat = self.dec(z_hat * y_mask, g=g_tgt) + return o_hat, y_mask, (z, z_p, z_hat) \ No newline at end of file diff --git a/monotonic_align/__init__.py b/monotonic_align/__init__.py new file mode 100644 index 0000000..ce9763c --- /dev/null +++ b/monotonic_align/__init__.py @@ -0,0 +1,19 @@ +import numpy as np +import torch +from .monotonic_align.core import maximum_path_c + + +def maximum_path(neg_cent, mask): + """ Cython optimized version. + neg_cent: [b, t_t, t_s] + mask: [b, t_t, t_s] + """ + device = neg_cent.device + dtype = neg_cent.dtype + neg_cent = neg_cent.data.cpu().numpy().astype(np.float32) + path = np.zeros(neg_cent.shape, dtype=np.int32) + + t_t_max = mask.sum(1)[:, 0].data.cpu().numpy().astype(np.int32) + t_s_max = mask.sum(2)[:, 0].data.cpu().numpy().astype(np.int32) + maximum_path_c(path, neg_cent, t_t_max, t_s_max) + return torch.from_numpy(path).to(device=device, dtype=dtype) diff --git a/monotonic_align/__pycache__/__init__.cpython-37.pyc b/monotonic_align/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..603f670b65524b214c0b823f583d70d46ca73d94 GIT binary patch literal 765 zcmah{y^a$x5ccnGE|-J@A*6$5C7MJ+DWE$cgg9ERfhq)9%X)L!5U*FZ6G*hFfbt67 zAZd_zC09sPc?BxQi%yD;f|2H%8PAVr#(vT5wh_>qpWm{N1fgHSxF)dCb70#CkVxV= z8sSEg5s^gFIaO@LFp^C2FKEOievJmv9-`639s>@r@2T`tp%zM1shf%{3q=FPz#RA- z*nS77(F|<}Al^_wvZXt;Wx(7;vv`L$2xJR9M?)Iu297~m&r0W zw$SCUog`&`DYCqDXUW_5j}j+b0Q(L+DzzW}J%tr<=~h*4!e%Z^Sld3R1L7l@FN-WU zESM)I0@3K6$<(EuX4S&;a-ph~k5U_ocv4nAp3HUXo;>z^of~aEx6>3{yePvVwF_k^ zl=9qZlTCelVzd%}%Mhmrv2R@u;aO<<@Z#`_K8CRbylYTwP<|kD3Kf4pe0err7S4{9 zF16ETk%@F(T$W=Yin4G*458J|;g1M2*%JW7BOKv-_zvmgKJH=j0L})HIRash1KbAi mcW+c4X4>SC|+VkO=Y4e2!SNZ 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 j41H2C>KLs;ue6T(M*Gn#}3XBFSZ3 literal 0 HcmV?d00001 diff --git a/monotonic_align/build/temp.win-amd64-cpython-37/Release/core.cp37-win_amd64.exp b/monotonic_align/build/temp.win-amd64-cpython-37/Release/core.cp37-win_amd64.exp new file mode 100644 index 0000000000000000000000000000000000000000..db3399648d8887cad373fabb46058a58e6a90a27 GIT binary patch literal 697 zcmZuv%}xR_5FWt)7z3U);lKf-G>c0BjV45m5r5EtAs(8LWm}+e*>2dbfDhmsdGRTH z6=U?O(}g9NIO)uM^Yv%inX;ES{Gfcr0M=k4gfmN7(*Ru)m7%^(sU`Fk9E9<9(9JZa zH2fg=j)JMLK=MRGog@>f0qCgLXMYS+uJm+C#e%BE9be^%M0RVkvac4ur#~;(d=`(p;D{XM1DS zlWxu|(K>gy<#YPq-T26ZT{ucDx}gFlByFD3dnp~C-ZT*A3uOO*m`2_- zXD{4gmOw3d%koPTjDDP!^_2VTM|&|a7z)xNMd~^%={0wz) zi-Jk#@`9_W04@Q_3=s2(-36vJ?v`a1%WIXYwY;+av|^U4YZc3GwHry>%RXFq>uy{1 zrjyrUS*49a;j}T{jj#@EtIsz|tJd;TbqVDibKC9s8`Dm1)3XLO6XVJsFqd3$uJAkv-ZsCGF@t_ z(~H7v9R9f*0j9}=+>%b?Wp`6s4k}fxk?gWiaVvh&&6q^Y$4s46Jgk`rbig|x{=7y(co%YMybVJy21c_7+X@~ zgAUFVHagqTBJ^!?#~Ri@;6XIr9as?(69unnyqIEDC(W!(KGT0^oSuSjv+*yV{Y&%J zM`xB3O!dcs%*sk7XVxbv2+Emt?imv%_H%Thv5(@U9?Yg?F$cBz^To4+-*iBb2%|mt zkJ`*hr*Um_Z4NdAhOA9p>e=o<3WBoTxq3Q`m*?p+;a*tjz_72O{6Z4^H*$eHz3=Zo P{?dH(v7ujM+!OH^R*7%1 literal 0 HcmV?d00001 diff --git a/monotonic_align/build/temp.win-amd64-cpython-37/Release/core.obj b/monotonic_align/build/temp.win-amd64-cpython-37/Release/core.obj new file mode 100644 index 0000000000000000000000000000000000000000..c8343bee6453cdcb1a419e97e49a3eae2d03edc9 GIT binary patch literal 848249 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%0DsScro?#xs}{kkj+QFrZ1L63H)XPR z*EAoxWKz!Cv#NAe)`f<_vl^I`I6o>wcEDz?+L^1%=G8!_H{Clzs1QsZw>6(^ajKFo=}|^B=g<v=1& zzqVB3oHdkb^k_lf`II@tY9y2izV1SY0=bu{de>UpE>WTJr#Sb}jl18iaXj^!r~J&-4SOn6QO(f38~p0KzhJ~sooW{>bYqQ-ifiVk{=Fd8 zy)M;&^r=n!Ih{W|qnWx6Ke#{d3@k75{M!IW*<*hTee>5aF|Gi3!Me{a(789LOE(4Q zS^3d6C2mN#H%YZ!+n0Bmg<4vmyd_ZFZlGwXJ+$>n=*+nAjf4{$tYhh$&{DsRY_PWG zFW{^UmeO#2q+Dmlz7H2FG~=p2b5;T0dqUf;x*@daw*9#hDX(_%-a+ozs%UG^AoG>A zY;iyX8|p>Yx)nS8cO{39y3d?4ZQlv%0$<+ZgFD;704tPzZlfQ zb-c@g7?a(Lf?B!U?8sUxdG8Anll*lF-|iv03ti&eWUVbv2FJ*r8-nl#+*5szQKlcBjE;T@T7W@mbIv)PyS z8`sZ3_pyLB#ctei^aqd=cmFmq}G@sF}*t9dljO^K}^H{Z|gVw3X{g|^lS;I5ZscA@v;r(vCb=?B#18z67_Y6JTdg=<=G)1pou7Q^mc!r;*9yy5YtaGfxl(QIqP24M zbR!Ot3iN|m^y~Bh@IfoJvaA%E&`SNYhQ>_5gsc;@TCeqUdYc>dXLUuhC3i!s8+(6a zZ;N1$$gjdbLHe&DecGXwZ+M1ksj=?MUxt41{TuN9e8;NQsTHeJx2{fozdE(|n$*TM z*3}7*A-D8D`SUOS{F^_SKUy|^F;@+KD}3ByM8|cn+WIK8k#rTeBh~tX>IC-ktB~$h zqW2nS9<}txo~%2Y(#mS-eZcS?USHxgV1*@iA3c-yTj$tsiw21D@YDCmDwA(}+sYa= zb8htm$g!Ga8WLG1(-W;=$Y3=k5j(r$A#+njY)y9I&tU%S&mT5Tsk!(`&*M*tGr8>z z`;^nmwBc*jwU%}2479oFBJEsfN(WV1G_r^qag=Ce%9-vL1^22jysoVs7%h#obEnBf zT~H_aSfk6d)8XiLCq8mEMK)&_;p$H{`W0{7_W~@l^E`P~*W-+wliF)eY7{TGI>1QI z(+ujSSJ_l>K+Xwc%IRd�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 l8) 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˔-Q#j%WE+INzn`O=xBt@JZ zyDt^v>|rR8tVrUnR-a#!nSrh;@69xw*;~_b-W1#uX=a3d&>%qcV`)= zyoFQVrZlNfbSrX-sYj<^gsJ29=oHYnJNSSMU)>nRka0IDx8cI=e#QJi+DHC@6t{OM z@~G-P)*i9~x5vtGdlzo+QJT~zx)pIV^~en)aCq+TOE9~{fUlt)7a7lEGuw+A$u&fB1fJOze5pvxG z$n6Yo0>)5UmrozDi}^Ue3D_EO?z7C`vJFD;Y-@SB*HgQgkF}BhA9v>+W>t~=eR5D- z5pyKT)uWE0D9l{Lswf7GE11?C*2oMq!!SYA5l}Iw#hfGNyxQiRv#vRCq# zd&1ngb4Pys^YT1HpHp4cUEiwe>h6P$o_ldH303R!WU7;%gIqfun-H}!R zud$2ytN>sS>vK}SRPRvaL#Kc)932MX=y zSlo6o2MP7pH0QzANP|?(p5Q*iGJY4+_6gIXyO_yHy4kvm*`wOl5r;#H{?t*_rP_U^ z#`dGAOLg+n`JUDMh?@xIdR05C@_fBKUwfC%_p0ua-y3O47xR`i+KfGnHX30{>t5|I zouf_EgFiH55dI!U8(^Y8G)`K@P;(~aPTbyKs_iEaEW~DuS8y`a!WT2{nW=d zO+__}+a%s)1_a+4f_>*10@11j0y;+ZX@+1rMYOO6&LY*$H1~nCNC$!QF9K&j98BqA z-m(J6*hApZ2obVS2pqJD22|@vPOXKG6k~ri!I}L`Nq`(BWX5-j_h^XuB^2n%9Fp!C zQ81syNwl=WT_!W0mPw7L{ZV4D@(rnWR^`nyqyw`YfLRVin$pF*Wtqj;gIQ<rtT2hBzFjV?KUM2#ZR*F(oo_lS=1!#OZfoGU8- z&_S*&ni7iMk~)v($O%7o&>)VKP2I{^E+Wo;B)P|%I;iePMkt%QAG8=!xsuolZO<2N zzn|c%trf@@2>Hti?t5i#e^Ym%@R9G*x2C?#Zt8r3J9wTsNc1S;pkC^ro)H}b>LQpZ zE*70ro4RCjvskitt(-8=6c!~)C``v_dI?O?TB1X4WG0b~>|n%JGh%B921*z6mNjCH zJ&afyVFnx#h9=rXYZgglm!c}0I$|#(v~*K$TRS^B;ajPI?;)nG=a=3|t-82(mo2I6YdQ{j_`L?QdR^^?y zRR>0ygi#uhrgSlHSw=DTU=$i*>KGf0f;Q0>{Gl1P+BlE_6OB=9w+Xg!s`L1aBgdz( zO-5vA<@;x~vnr46pB-Rp1X~l*lrH8i3!AYAY%~J49RmooiFV=-&A|4LKn6^-onpHk zZ0Sv%EedImO`Wa)byKISJ>AqbS8JW#nsOrDX2WrZ*vpm|cXCK{+-1ex6n>fR_e5Xl zTK694x+jv;PVb4HKw4M3Q>w>Q99kW2O+5)Y*IJzp-lrj=&ofq+do#7EJ5-%ibW``d z$-O|~T9wTMI9#pxB6I~Hr=14yU!)bln{4W)767~qId^1r=AP86LOnW5eNCvxc(4pt zxx@6j(2k8cZEyC5P>)Y@z6lM14=JLPG=5L6c1J2qAHOI2__Yf&*AhN6mGAUwXH}l> zbkEn`cIrCf{CcD*UCdinoEv+Ha~dJePYVH!HqpQNLo?$1gg^#NbfS9bBY}N%b!Iy? z6?JVFT6{Zow8E*nL9jA)9$Q`VHrKIm$J;6MM(ZYp<=`>ZI40cYG7q$hS~i~?pQvT} zJ5PboF@E{j-1CV*II`NAQf6>!KQ(0OIR6Y{{(P1Gp2LXdVEsW3FH*-{oNmWm>>Xzg zz7e}!p?tHdeU*3cEYH`TgKxsYHzQ5yV&1YGZ0y0oG=hUK3!X%q=yLwh3#F#sqHn9shu^E-I7RTKZ$gkvG%jr%dGedhgk4eD}JN!1H|Wn>8ix< z&@~UpX{Yl*-$6bP+(sh1y^sgygPglFlgRo(M4tt$F859PoIeu+8f~Iy`9m|}{INg=O!T;VXqdo$pgOZpx*K&Zk;Sj(CZFhg zK;cw(+*|2(+*{sp=HM@|+k49QezmXi4u0SB zwdde3aqw42Q@WV9EC(BVa4?PF;CF*3(I)yIe`tn-Uk_x!L~kgzkz$5aA~SbbB2(LI zB2znSBKta#$VQ2Do3U0Y_A)D0afk);R;*3o2Z+xD_o@=>K-WAVr=89Nn>b z+d>}L407&=Od=Z#5q-9>y4-uIME0#Zsc0hG+T^yOa6c%U2k^ZD*cQ41kkd{B*bZq0 z@E(cmrviX+kaNGriO3S!_CozVOWi@Je`cvW3bkuZW=*$~P`lSy_v*}#g>0VqEw!J( zJ7)-y!kc5(i^uf48lq|^0gP#S)RbJp^}qsg<};VHZe7TH-D?s{ICF#QW|^;7qL$3J zgrcEi0PJTz+Fx+|nN8lNyIdM8p1l7w2s_U+2%=UA2y_gD0}R4}0-g z1As<|^noGL(Iy&HqgjLii$4T3K~!B)RgG$#8QH5Eb)f2QsJc7NQo5M8ELDv?s7fQK znhUC;O|$~4lG;+LR--Dp(V44FNo-ytWD;JAcOt}mh5FCvD0?AI>0;ipjAHD;C^SL>TQe91ZKAdKLo;l(Y9Iq9 zT1~MXD%jRlo!84aa=jF`y%8C$d>hp`tMb@3>Hyn5VA~gIN*D8%h0WLlHW~rj1_1=x zL>uylW?)-8kO32|qu34;Y@4gjV{20WcVko7{)Nak%C~KeukzTo?Eu?;VA~&QN*D8% zh0WLlHW~rjRsjUsL|gNRW?XB*AtDw>C%~EwpjjO|6wsjj6zeXxwW6=2w##@AON{u^2mlu*q2ZgFz zsd7_(#>Z)f zb=KkSG(>lDckviT*wM@)hhwn#?jlroIOgE);$d10shr_qJt5j1TH~v&70^B@sEBrYm+Ha7iOz@VKXszjxXlZ0zpXjWRQPCzkn?E$;r^`+YWWYrK zR&$&fNLV2{Np16t`8K_Dc*Q$>3?JyxW2F>hHuH1^;_ z8o^n!f@jbsx>B8WNgx3ux>UivZhlES>kWuJ8pJ@47{}v!fc^tW9&|hD=|ebR{K$%r zDWaRy4mT%LN+MT!C*RzGS$@DQKcWexi+Rg3i?Ii@&v5GvM47$bgA%S8Tr)vxfinSt|X6dFeL4Ea>B7}`Wn^M_^_@{vFWO!TN?n-6U1HK@%-w8t7$rygB{>NKNk&_5Du(D_BW z&C;iz*vqWAfE>Q8CV3^DkK8LM)BTA?Zz|tgHNMK5?yU|?*JWateAkJ56ksCX=_v4) zWjbRIrlS!|_j<4q+C*>ghh~`Wr9cKu^j|gI-vrzHs`CfwdDVT8!qyG#K2^TYYJ8Q) z_E|ySE-cUd#~~AMfOQ9352Ptw%v%;VV-MJ91Z*D%5NH#9!XKJ}?SFv`nCLylwjkJu z{Qg!fMBx*NUwThct^v?>=`E+7UV1Nwv@VZ&PaIRxXJXhp475H6TQP(pH~+-kC+rp& z*sZ_IgQ|Td%JM3`S+Jjz8D>&B3OD~mBsLJK{CpDy%?eOeT{-Qvx)IWN9+VVFSeS0~GG&9O7LXq`B>^IX{J(vBt%`yK@+s*d81ruqTDby${qxKLN{h9Niv zU#rkoj5%#9c!W?_N^?$yhQM(YQH4ZRZq#z(m+sLfT7y3{Bal}PWWYqLs5g%n*n=l# zF5NGgxOBe^su#U^4?$=Q?bc}OOFdv;LIEH3%ER(=t>YAOrSB4sbQ|1{0(W(RjItIZ>hTvq1XhV&j z(G#6%>-8M1dS({niRd|%=s69SQo5M8tmrZJ5Iry+inz2t4V{f6x-g2TdZN0I#?7-MFG4|;ghSJ5n zWf|MpgRyA@V{aaejW*F(j7?@s8T(u@Hj(}IIRB=JZmHXhN_WK$GNq?XZn&z>m7ANdwkDiD#s20@wsQt@!D5VJvYoe^`r!Wm>K0MBvXSNotO4yo?0eL-46gN;ryX%PDW1_dVACY@>Fe1-pM4rRwp>#2C zStHWe!-%92M&zzxM50Z!8zYicMaly=im?Z#(*_7`5^~ltH$%+tqd@NwgiKwq-YbXu zDcJopxqg2S)-EiZiwYBzuX>`hDsPnP4vcahMmZm8N*D8%WfWr%MxhZ_6bA*PpiOiz ze`toS_6=mfME_E3_X)O1s&hlyMy?@+?E*wvl<$y?Px6t;^IIa>KB=R4z;!z5}lJ=X6K$p$kD(zjnbj)=Is6-Bt5^=yA1)Su{C zi0GkoF>hJXW9%V%XoN6%E`$l%M9;GjV6deY0zZhc+XPK=A7qwI8QTz54VY)f7OhGc zn~pK|k7n$j#Mp1DvEQ2LOj~d4w>mKP!WerIj7{lc-m;8s?7`SHg0Wu@#zvdy4UA0= zOBwrTF*cDsID7yze5|%>a{u5%dC_@hT~VWib?F%E{$kes)r#LJylp$!KUi#-18C-V z1lt7NA4be9^%H^S`nO%``=DEFo|#3oDq$8n2G5@`QFIwX(0!&s_jxAhKJOst7ANSI zAm}Jv%v)B_8G8si8X@RD2|`{%zv%3$=?Ja*%{Ua zD*$RZpP9gAAA7=>R@`PJkNs>I^Zbu}rconB22MOs&r z%h!&nSfRFJSZ%mNv^+Jrm1@%oHU|-vRZ3m0IX(x4!2@;irnh8nY#xgta44MTr*p_mQY7}3-|@`NTH32 zIc-5aN~l$7&Pr&QY6GbnQJWhnzbZ6yXqVP|xwn=ZE^#n(s9ObFBz|3J=FqWj1f-cm z(G%u@mAm_FJgT#WN2ZRYvf8`OI;sP{se z(#5=G4QgW#gPKMd)MLV+Mw@68{?Lp;y?!7ACfYzDZy}J^tj#rV=dY!X5QlBKz5R@I z*M*5-^O~$N<0t84c*|HBJ$@>;Bv%8SI1zO6U+Z&S?4Nzjy_cSUJ!JeWJNjeT7KjfB z*WA`r(^Ty}7p|`<>3V@!!u52FkGF)0Vkb1_4GUq|wTF8tT5Xaa2w}F`7My3DB zVMHXsx{Dlcr$I0--HscV3YLBF!A{DzbFHuP!LoA)!Ll#G@-L(*UCdinuo!y?78)T~ zb_h{{Hqnm!p&7xlZ6E_C`iElMRm_lj)5}JpW_hQ>PG_y=Ro6nxBsuFuc*X${$oz9*$NNe^ym>Hm^wqimdflj0*SC{c|9Yj>B zx4PVSsTp8``l;v)Fxli9DO{bhc?`9Rp$WQTkkd|MXhB*re8&thsQ};*>vM_~hf?I4 z;EZ4O5*URfl9}fF?f!Ou`nK z8Q>5|@eFWkCds+gsLBNDaD07q-M(=pngDB3sH zI#Y`AXfwbWkfURDupU?In$@9xupXx;VFsARSUFkwPN{WP<@rwWeC^EuS2C!tLYmUW zyk!k)V-JIxMi|s5hS7^Q(MkNF8H0L8AOj{kMj@Xmkf)TK0nBT~XMiy}12lr}FV6r| z)HGFB&xPw7O1fSkmT)~C73(pPX85lOJl zlEZT}2+mEnrvpxwwO1xt3tL4rxjk^OhAX#vX!&MhKP*LR6ql zbRmCeMzEX}$bgB?R%};_8B#NVjYOLPblB+(phHY&fa?=8z*QpMCMR7j_A)D8!yy*D z){5&W{9yChbFwONJ#@{Ua@y(ac_-4EJ#S$KxUIJ0)y4;Vc z8Q@m+Q_&gV0h4=>!rh^49)nX14?$N9a@uJOk07lWeq;u?s{r6p>+>-y9;e9NAE$1c z0iLwVr=;?sY~|BJeI%XNpAp)lF{jM{&kFVNH0N{BFx6{PbziN!3)J?YTI-p9L8w1# zJ>0Jyub5xQBogn5MAZ&=Pwm~kOKW%5oVk1bd|_=6UHl%YEX6+;&IfCA=kt-tu&(UV z+FO>XiSEwLcBe6UpQe2}uk5GivA`bspyY6tuH$D+9hztm zPS3H94VsM2eYTljM!(Ec{##Uj?Ni#LrDwB8u~a;pnf+U*bPGxAk;HuEZLWr}l=gU{ zmf7qX9lCUkwZ0H*-COG(tSzXRP!@*oVThjB6!b!^yI;f9r=S<~B+P5G$pEh?->bFG zsyyGTp0B-mZ4RmG8>A^+%v)BfGWL+FXoOVt-;k5gCVH7aG$U0#8_0l(o>TBY2>6F; zbL)j4xSg-P!172QQY2O1&V|p8DCslNsD#hx7?=DA6U9%W{r$Dhlrjw=|14yNZE70& z1!DdkmF_tdhY|v?_L9T*)MxLf+i~xweES_H`$YLZt@TyjBA<5P+wbx14@gtGn71t7 z8hh|9jo{mlf)mju`j|g7!?*7SGGLb!_M~^kZTg>Lb!^ z5@TPnmsxQ>4zb|;R`jFrW5cKLdsK-9plb@3(@v-GC6U$?{u|TKpS2ag7qa+L)a1I= zrG2~%L{wVV>Te zb>UjtFzYjC#R^ueNRgYb&Js!?o>#KUm8EilY~?CKUCF@fMsY=EHX2ozoQ+h+(z8)zoq4N&UCFC!{jpR$8=3uEXLJj>Ye7|9rs|Ex zdYiY3AuO{ENYpYLEnX)hn2zzpSg}^0I@hnRo!Mv{4AD}eWNzs?H=jnUMT%QmPr__e zRmax{ly7jIukw6@JzsmXQNFHAer=>FUCdin#xnMhv1o*hwOpOQc#byFK>pASyh{W! zV4@`z{CEMsKwV}w>Qf}JJdyv4dzoU!60hOhd>! z8mM%p+6iKQMU~!%!-x=obzeDLS$(!jx*fNQ_nF=FSr?P7u6%3M`6_RbH9TK?zFiOB z{vByb7xR|oTVoHtr4f9)T5uxTM8o+*GkhBbGGL;W6x+YV45>|#4I$d&#)ys=osD#C z=xnsU`2EpAx}@Dtq}wFM{l#8p#RE9Rf(Kf05QQHbK9l!SB@TwJnOsggoyjL7t(kn| zx-k`-)>VutB=bgUa$_^IQ8PqTYO%W9@2S~njQXkQY;>r}9Y*2CDx1f!xnejRx?+&i zPGdL%X~pn6v(c6X08=67wuxs9+XhV+>OZp7BZWFHJ&znEwDB>g%{WI3b%!+P3}{&8 zWU2Z`UHd;(wrTtkd3RacXO#b;hN)`sBY%A9Y&{anX%l+ z0HaLsmNk~G=`faQgh9J&7_?{;?N+CrPc5PUjj9?u|F_nbX4|(mCOS_{gy}gvUk(pY zYaN)e)`8wymLZ$KP@{Yk>zq}2t4{2|s?Aun1!+nb^Oj{*V-HrP5i;b2U{$n$a1>7;wD2U^q>c zQwzEy^tfn>{ExM98-+V6iRVbgb31g!Bd49la|hCjr`t|rDvqnGIHrK-PHJ)|##zp? zXBuJPo)ZQx+C=A)CGmVJOFo6F8b1HG z)|O`5w>BnvSxkiKIebM9uTX2v%2;cbx0Yqe|A66I<-4xVS(UfybsbpsHmrI((v&Xd zEz7FL9;`|uWXY?8RnaE8hCejJ*p~$|V4}+v+pAzpXGsfN+G8E5ajIETV^XuEOJvE{ zM7qrgejO@id&7!1Dcp&Q-)G4awCA^=YgUodPG^;mk=C&2yTh1@`|2w0sjIlFuHueD zZux}z+=GQ!nxpU3ek#O=;)G!d=X0SxlBIqj)W@>aFNOL%xTGK zwosoC977iH~3GN&OuMZ9p@lZvGvr#9_^__ zrtxa29yT(bP1KTyUep+(W0d{XbpB0reylG2B!|1l>s)x;;xW^Cjd`ZC=utvvI!5Q; zP3J#E=O^mgKEc{O`2_0|rt*k+rn0C}LS;He~i8*{0q$?cocN0ca zor#{+im)%iYWGYY0%Q*>|Jgfk*4i4H^AYTB@;yq+C*F~>Ff7RTH2Geo<-5iGTSye- zdm|`gFqQiI2$3O}BK9?6`#T+juldk@xc!W2uMNc%JW^m8(t310BG;T}?iDplxR;Kx z`g|}^%uf-0sPo20b>4km&yVUvclBM-JxEHE$Sum^WyI3F7@Q zL7+|a0kbiwE@l0GV*Ll}y!~u3iK>=f7m&)VzZQe&9t4KJ5PD&_Pc~!P_shHcsQ6uN@9KP&=ljm{wRgp)5{p$KP3dCZ zvMgro!D2MROgkr73~i!s_(L-c`FS7%Ci+6>yFsxbEFd#p4MTabSn;7cZ!=>xY=p`X zD)YZ;dlh0Uax&CadA0D(5qvizYLep@V% z0TV5**j5KydSPj65!z#6sS6KXSn47}7nY;zwN5Wkt|8K_)KbZ3gqX{Me@!_YrWVQ7 z7a1xpm$KhRsI`i6SJe9|Z@-ET?6)!Y8-p~Zi+RhkpRot~(FpciDHsZEqLukWGwe4s zkbx8}ul8FDgbeMGR*a(X`Oq(-AJEZJ30)V_a@y%d^oB@pC)r?r7SWs3hkI$Gtf%w``w@Ja03F~Op7CI3EW*cc^^LjV79=`_Swh;4M zDdt@`jO=h%4w2Z6!fh_>8%QYRH&eddp(<)Q?KJ8GkXF=x1NFA`6Xd{ zl2I%`(BUAVZl9$d43)|WR#Xem&RL!sq3)8UPBf8PsoXtVS#On-tY{FPy|X-%g}QH+ z+Grw8Rx}IGfmxmwt31StDOMaRtTkEI!-QH}ZzB-f%Z<>(g;p1H+McFWsFTv1M?gd1 zSgG2x-fdkhHe~*5ofVb?M@_r9-|(Y095RBxR){_3*RBVJFgZ?|+N<8}DZyY>ORXX? zk!Cv{Hn*4XR6a2YH>1Q%k=(n!?Sen`%G%zlV%3u(#E7V?FL}SR4(@ngWoBxj?wjWbfq{$P{c+{d{iy063#TnvxL!9XQfbT!Edb< zg8FO(33V@9AfF>-0!|EDAYKYFKSf90WgL>PFfCeM$BA0_dJamfdjlNOT}F!=wKWq`O3oBJSds=`~~1F>2oh6UE)4^7d_v zd5 zRz5w6U)J&C=1pmT-+JGcweR*VG@K2}+bbcHfGbJ{fT&d@0K#~sW8l0C6UF}o z!U6RO>m=qt&2#UDJU3(7k;8`1nEo{T8Zn7GpkB(V=jRy?(X9jyItIXdFfp!i3n%Y$ zvR#+_$*e_A`9||pwi3Dm1w#t`0+egB-Up?bjUyWUPM=(Q6X@ z3lBqXG_>+%=J}K8ml9<@L6nIs7U5xkv8Y|u7(Qd#Nke?g5cS#yw8F0Oz>?vLL|09y zIz%g9nP)x_5Jh~@N0UkKh>k(}B~0Ub<^Rjj2zL9bGj@B`+l`XeW@qh|njHSGO!nG5 zGnwdL!en#|$nVu;5hmm02RZ4Pe-ZnI@chvm!3LSXGo~5EVm6skXyGT=orO%*>ppaU zmL@K&&pc&Y$hN z$c@T(Q@yY9lfX@$uf2;s?=U3ZMVivZyooF&nPfQ0=lvn%nL!0OZ{?H6VTp7rKiLPRK&@;L;kg!5@nOdzoMv)bHYH8I2qF;lFD%m*|TlN%N zIz@j+z1ulqCH5PsPh+2CGSh-}#`0l3Tc zv7^E-b}S;b>!wa${!onBC~V08!U>I9BI2UdPM7jbY^$wj3oQzQ<;LV%8eABn~XW_LiS*41q* z@bxD}OyTa5HM;73l`eLhpgoq+8?vWP?x1|ke>Tss3XBq1=@_gl!9=k##ddPAiXP-% z4|x*T)L_w=7wg{qoU3}Ia;31W7${3=}3fgp|OKqiAH7!;XMzafR(;^E^ z?NF4kn`qXi)&B-gk}A$Ly{#_Ck=E|!gJVRO|I#+6@-iRh~i5}TaaL_{FfOJhs~ z${1WW31a>m)wMxIB1Dj%EX?$5b4o@tjtU4RoFLkF`8~HIhw@q zB}Nk+6JgU}qL?mDsv%*gKKPu>*hL;Wo`0JUF$iZ;;#K;_1Y29|cioN$R$g&jj6UJ5a?4lk4X z9sMn$P=B2evs1feDD|8xz3}>FE{5_gC6kdTR>WJqbxYVQqGQZhJ%Z|oudX@o1t%Y^tx zn`l|$pZk=l_`g$B9j2=0CZ(=lxLgOS{*J1D&@5$ww=7ky>7Xi&$W8a4D%wQLqiXiP z*F&f(Hzwpho)43vm#p=sMSMk-<@%p<5jFoQ88xC)k*Eo`rRbP&cvuwQtv{W+BMgkB-RfB}$pRxD`_EG4*DGBbZ0x@(+->g2A=Nd}fZu&;i*5Fr{%&1YY49(m zzS~QhMN}+emTo(7PB8rvp2_2*TdoV?R*L1LcCLOHbK|1K(z>kVG@c39m7Z>xEl@5$O zqyrk^(VTTdIzXFfy&~!0bFp~$h*5#w--+I1RPRkDx!rZ$=QHjmUT?d2-4hMBP`)iE zIjiz~TXul27x;Q3P3dCZvhW#uz(*tC+dSYyn`kV5Xa<~(0vRyT#+p992b(Pms`~g8 z@PlH{_eGsR`Vo@csZD*w&&1@CYq(KwH(ILZn~N~JqvX&RJxYWb9pkQ_V50b0bmr=% zDOFgL{bEqk6VGxH zia$l?wz#|G)P-r>T_Hw>yPMVL{uLg@&|7Dz1(WO}#(H~J^_yp4MUxU>=@^vVVWQ|E zTC;O&^NH$iN&on*+5+=TWl^Jq%5;pbJx%3aR`jOuyB8K3sT;OBNyqbp<@Z7W_c8gt zrRBTE@|giJAA)U`Kl2MQyL{^>#NF#tdn|A)Amr>;=Wh`6d+G>UlEa86XJB1Q4)@WF zxNj!o@0-e;eq9CykIf_YWx&ZK4DC zLo?FBUV#jlXm5qNv|y`Mo$E5|@VXSXh0v~1`I;s0snYzrez>0;ipuo-*6 zMk8Qr2q4fVn#>=XfvqNx0TWGBY|99?!&K+PGnW$%PhndG?WQZ=k&~QNd2B~^fNfE* zErv9ui+Rh!X6ykQjeu=x0D(5qH2%;GY*PXmFwvokZCSx~oa%gh=K8_$DQt_Q-6_g< z>Lh1X9^0uMU|RxgOCn9_V&1Z_8GFD+BVaozfIyq*Wd6_$Y{vvLV4`Cc+j3w_KZtD) zFVY?lV%OHQJCmEHPM=DYquf#rTBi?U4-{#hQcdmQ28p?BU=NnVGu0wzO-es1c2>%A zON0G<<-1^#vnp@73p%jeGFWa|q$yp@TbAXFJy?!Lu-v)9L}(M8#~+$uxzhs~Fwq%m zxgmn>GS&I=Nq!mab-p}>Z8@~NTKTS-t0UM2g?aBZG zZKA9ALo={l63BpwE>&zp1=~%k^Uae|j}^F^Q`iQh-R;WfCiyCl&2@ln2-t=qP3dCZ zvalI@z(ylr`%eIYHqmYTp&8h22xP!SH!8N}1>3!<^L>;2m29u`eJO0qqus;G_sAq? zRi5vW4zLXaTMlVT7xR{d&DaAr8Ufpb0R-Aa5Ala)V7ohz0TbP$*oJ|PNi=803KV|x z;a>~bPUqMaq3Z+ka@y$!uyCy}hqQP#Cn8na(q*acx zqSA^gEAkY%5m||~g}PRQB^NS`JRrJ`&_>3b_Kf+uLaj`5t_KZ)O{8jggIl3NetFtO z4K$>8$ZfUL4gF5*CoOLZBNrc553E*^UmG`8H3(e=)>8Hes$1P!9InNX%DgNUX=gL( zaJ2?sU1)xDA+OTlR#SFqD}LQlKJyr^y=*6ZYc#l38XziL=0}vr!Qj>q7?nHwE_W4~ z5e@CX^tgHA!vz<&{k+QvbecM(>YskGJF=nV!|fyCjvsC}|Fqs)*o3Vms)bM8n@?Ir zL0jxrCThp^&aY1(_loEk!|etW#qI*86BqkU`SF54r=&fQk46iW+(r$~YAp!eMv7C7 z%00ZczeBzY!**BvO_|^=YuH-TUW8w|EI5P7acj9(m$CB8>H#@nlF0Vs1a0@i@pBPA`5T+z4lW3vH)~!w8>3 zZI;8W)eYNZ+^~&zgIxjHjZVia-}Vj8s=T|l@4#KVf zX2e4|#DIrcaX5vmP)qn6zOw4j3SD!!oOU{gAB(g`-Xi4ieHtqED&+9vtlQ(QIKhe& ztvJbwldU*~A~&Icw@H#yGh_U(mpgxVBS z?M34AOyqnkE)bq6F^@@JXq6XPaj_MbSaGQpmr>-VX9X{}$}6mxWyO`kdQ5tLxk_lq z#^N>;T`kn()122>BezP`e(9?J2yK6*{i(wh6W$9=f}{0X9yeHD9#W9AJ`zVG_!e;C zr!3^dz#2pvVFyWsP3yOX&%CtrIPJJKs}QTYbF$4%PY7u*g2~>tj=$ch?JTeV530J$ zb3ZA{z2P4}UQ#}2JT!h#S##}EaA+7ETYAbkmM-Hd!wlK_LSf1{ra`dz_o2*qtmbJf$Ip!}2ke9}2=LIJ3=12f}3Vk%&)d@JyKa%V9F# zS#tQ;+SV{Dv^iUd2RFD0H2dW+nPcMTS7uE6Wf+Y1iw8f$m_JXG-!B}>0$4TfzJdfH z+V$Wd{gu=MWl->yRC5Z){wt{q2hG&8#&&CJ&I=g_zrt9FOe zOoCw*VW@7PtAf&N38|)m3$VgS)GAUA@EVq<|YEer$+j)d7Y%G-VCYg&W8 z^Y!37!y&qrz(L0V7y}by47YHy2`9Ysbu~+%EBT{TKWz%xd37K1zS~S_aZDso>pNeM zc(%=j?FilE=nZs}D0%~ZXys#*`6Uwir9_!65M|R(oa`(oJ@XG^zYw1P^hU6#O}_JG5tz&Y4@EkW44|vpJBa_dFSg{^oNW(d(h5b zULBN9ZqjrS>-N=v>=U5_{qG4AkFf!Zlf5{RVaeg%Lhlt}Ax`$;gkoQz^^7n+C;#Fk zx?i_>4>Y*RY8^}4topry?L2x!xgKqB4~Pw%Xs8D=vR*tel`4}5BVvg*HI0*sr-x|&afA2tYb5wJr{LUxX#6MQ7;ktnV&0x z^q1rP>yneX=vO4(duzP+is%^Q9w{J>ZpaPY!9HuUOuH|Vbs3LW)RXZ6xQ)VrQ=sGJ zsD=>zt{+DDuAkdayety#fWlF{+-yBLelPs1A;yxpc&Rg+{6Y+k#zNb$xGbAlUajtc zxf*q64n^IWLv3T^juuq~89w{(TsY{9k`5Bvmv9grp|yTMDM3 zR~r9}O>E?cRK7aT6c=SmC{D*{{9l+%pQ_h%oz zGN|$mrnNVj)+iIaWld|=v{`9vL?cXV?}f<rmxdw(Ee3Oxfz*+ zpK^i3xtozl_;0mM_>lf`!Y>_8qF)iOgcUa(!By7lG?7!=?EyzJF8CZ84F^I72wNYU>aeSc)4?~e|m?*pRmL!yt;#k^%jpRtGNqYB+3MDS$?smgI{O_zx0~yZ#1G!)Enz%v-KQQ%`c!(zTuFp zfQ!KOt>H>#h3^EG@qRDWwVAB&hY;Ijg)Pd;3ZKq}8-FR86-28dZVXw0j)D6pOcY&M zH+M2Cd^XP%7iCH)PRD566(*k*J{L_Ob%PWwrqQ=}Ci)idAo{)}`o1DkC|%53R`eNr zh&~!2`W6Y%hc?loMWU}es*)AHpgL$T7v(yc6~1np6(IfPtWY|fM86_l30Z-TaY0W3 zkUxwyk+^t*n?ka1iuUnenFdPP!YfMM%8>yq4eR9 ztbmKa)z@&Pvch}<%XsIP>bgu;SVV|zvO;+~h;Qb?jlY%53ZhjJH-@Z0$G}|_CW^%b z0sBH*v9e|JuPEE9my0jwW(uxjT`YkT~4)asGn71sK8hdaljo_b^f=kgRTDgcz zmk<#3{)T1Hf3OhS_@=yd-1l?go8L?NMzkv78#>1HLtvs9DhP`DW_fC&k?NaK8Q+ZR zz&AhOn;)?wrHgsX@{O?v-_QuYSu^+sZKAb`_-2@Zn3VC&szPkzoAPGUpXS0hf0Xo% zXjQ^Dbc|D0gNb6eASmja)v1ZrSKn-q@y!Mu_~vJP^9y#QbTMyPzA^UT8ydkk>jmGS zP4xF7zF9*+G-Q0Uwh)V4{F84+O>zx|>vfX~NA-oHI@#swg}K_o(Zs^h|5sN4f1Qgk z?9x31TCrz9!~rG3kdBGJjl@gEuX}Awl|CynhJ(ni5^gQD9(lQo$*l{$NDHzJy4Rl7eH69`75}XZD(nz_@gcVq{?5+|3j<-_da5x@oJ*&C%dKwdA`A(pYev; z-W$rE>H8D)cTw(LCp)Y1e7kmF&@PQ#@?9IdM3gS(Ez6+B9t=t&T<6?57!+-yfAWWB z@~B@R11TD(VKhNNPXO4L!>YP9%BF6+arV8xXStM^>)uGi^7EK~dBHhf$xxT>i-fv= z+zFM@2|r9uXxU?4XgPmLEv5UCTA~wL9u6C!n;Q{+=X{VnJZ2B!NKm#G|NUXJzB0^+ zKecm_d}`<0VdLe$NOG0VlmGFw($68Pd+o2{E~k1K6MqG^GJWusf7M?jN(&a z;sMS0QH(i5Bw5*mQPZR{o57|-%vbA>JAp%z9yx}VPUl2Z%^4g-wVFKYil&;nRI2Gs zvS?E7=E=^ge5z^gAl39C)$~Q0(#5=Gr5a-osfI>KHIqY5L7S+NKQv?9)&w$;qKOLi zLJ)R-c-XCP9R`KNPKWz^a}h3oD;e$rszkWZF;2b+CW@;llHopo+2Ic7Uk>-u`io8_ z^rvGKzZ#}?!~Ghm%!d255Pi5`$Dyt_90w7PvC`ljayUc7_n6Gm4?D%v)BN8+!O*wSwR*dxxmNN~EA)lGsvyDUe!0bv1w*Y6f-9&7hYJIj{$h`B5=-YbU} zt3@uE?B~4HYU`4e{T9XoS1R{albuz0`(4$6{T9J~iy}?wV&1asXY9d#G=lxE2!=wN zXcm8HhW#!KWFSQssr~K~gg2W5w!?6{|H?R5Vts+*lDcR;MXsoX>IJAHiSC0A%M;~uP;pQ_$ec~$oE&Gs?wWV1s8dtd5k7FJ~E z6UKa_iMNk-e(55wX!rJAEFzL?H|F;9PZ)*(bTa|BZGf-KlzEm+5OzC(zS1P?*>xLBzQea}WAcRzb8zeWg$aHgZPCAwVNPuoC2fNId!m->`WrJ4 zdPa1N4VHxog8+<^94GlPdbonnyGOVe`fyIv%d2xB@v(XU&}C5C%WJ^k-SIDPs}a&t zkNkd&>_A#mnhAyvu2~CWeiQ9)q>4m{(D^7~rq7kzi>%6GtyMvcthKzqwXqN* zYi$b-eGDGxbs8@s?Z@CjsTfSXL)s<=51xw{98)p|MadE|NXJ-bH<*Y)fN`>)z{0K- zafk)S>`#?9!US)GTF>2X+Nq0Ws=dr1BGXRVnch)*N5<{d`1Ve;_SB&veVqY~%b2hL z=|WEOTj}9NLhl)&3iPW)5U7d#mw9#gYB)UNiN3d6ywIq&_PI6YuJzpa2scL1fYk3r)VlwusP7_hmU0Emv!6@#U!UTGo3lSMc0Xd+BP$SZ0!!SzTnJ zMyE2Fi7?+$duzw-HTd>6vi4GFw}gg|VFBItoaFzZhdT(pXM`%y_Ygs#CKU1S7=|&p zCmbH}WZ&C?B82uDV&mLA>iPqi_19CE-p8rw8B>?D{Qkkh)n!Sp-D7cB{b9e zW)4Na#KckTQ`xt`=5=lIy5234D{BlEo;!U68a9B1UY-?(k-_?!6}sEB*E5*)RbeSO zD9PeRO2GBd9}tLNdVCFjuST<1<2~Pt@@q;cEV@3Y3T@y-o9}#A1wMX|Ahn|VK5o0k zxBZ8;oeI3(D{G^$&}e^7+>)$i?Cm`Nob6Ba!4D3zINzm2{lU(bz2Yl6o$QuxIXRV$E$@m;E;tIJ)rUCoM_08 z<$%RPyZVOVy#;)U{xhc1b!)~?vGyG^%V#rEI0})srD~1FTX7H>k{v{6Y^=^u6K7_} z9Yt9)=oD|zJ-ti^8<@Rf$wR&5L0(eBLEV>Gq8%K|9Oh*jgcKW~l>68ad}%*)mi&r{ zY!3?Xx+WZY7%k^_P#+%7AvugbG0zN6)S;(vP-69Wcxv@mdI!=fX#V03WLnA9pD0;m z_19Z>AiW|w2GXgDkAu@Vhz#?&9Oie`>hq+!M}(VTxttS)e+36cgW0M7LO9P-VFa(_ zAhHH;5*l9((+2P4Bv+Z<1m6WMznfM+Dq?JxXyGvqwd*HDWcSA0@|*DBI-eV8U75|F zyk{{hC!6i3q&oGf3ER5ag(lsn>4hfUlj&~ph{T1aXGA);iQUIqRd$uTlN)E{V4RiH zH~61}L$lHI+L5YW_!7Yj&>~a)MGjr1Bv$*S-L(|OOCsHET-QiWJAD!3ZKO3+R^%ea zjK+$i8Y`wZR!l8irg(>XOz^H1|FhyfE8e%_11mnV;$tg5p~#&UU!brrLVPOJnOW** zLOmnxvCoBeX3S|9IKB|-*=f!%p`qaqQgwn<#mk02g?37#n@UPQYkA2x@{@$8^-F&1 zr^_nvoY?42NzM;_g?MUGaQPLEVpb^31DQlJAN=lA@l0jkCX1<4cs(Ef;<$S(k z5o!Aq|3!zd<-TUmT`iI}$b8vhQ8?8%XO_N@aAxX4f*G=PW?>kgA$o-`JDBlWrD+?+ zXD4d8kZ`_SNWh$n!NB%-{w971y-Do5I0Vh1mHj-BC7`5%^!7l8XMijT=R5);O_v0+ z6bvLAl#T!ckflZK;~H~c^PY{o6SstX4?-QKkBY>xB5M(g6{+B!rCr8aUgVE&G?758 zfS8}9<8f8#kT20{XQMdL6jLcu$0Z|bxW4tpLVzz~%?NSg-;|D5DjSF#y~S!(mL<2j z$fY89{aDVw!Kv;X6cX!LBzz1n;5|G}8aW}^d7_aLO7DssHm4cvy_=lKT5ER>BD2x{ z(lFW`6>w)4q6fg>mHC@jrcPvz@-hi~l(u7GIdVuxT~3L+T+nxUq{y7snE8&dI?IQI zeth9H#vh;V>Mv4Ex_@P~URZLpiXQC;c|^yU_b8YsjuxF~HfDbB#Z=U*>25&$n0UAm zKhqE_G|v!-RwWS7F{;ln1jkTBH^~YncXOjN&Hep`n^jLus5&_1sB7X4tN~4Yd6kh) z>0;ip?l%~_T4;;05sk1wyP?rP(~maMjoct*LL-;Pj{+Sl#wI}0zd&QwG-IdMX%Z%5 zJ)){b=9#fYs}jbhV~l;A8T)uK_FZc1yBnQp?u~tS2gY6$V=soWDP7E4ma&aJ7@I~g z_8r04XcOIuu~{dijD3O_yAvO!v&iwCfcQj#`k+F6C=*u?bpUm7pe_MaN*D8%1=ZLC zR2l*5{Q)Z4L=O~+tCLW59_12gy8Yn5OlQJC@+Jpza*>>LkI2ECT*XNtYrEqlcW1V5 zSHt1c_L4q_-XcO}=g_6*Vo+RCGKY#DMR51j6;F?djzM@UOcehSo&RDEU3#7&5Uole zpkq|O%@Ev95xuCf{!%8^U+N&%mm$`dCDtij%v)Bh8+(X#8X=CJ53!Cm(F;Xl-HEaP zVh&wyo*7%TDq(Co#@Kh5vF{XPzoo{0JCj4-?!edsG4>#gP3dCZvW#u)!Pqo{vEK;B zMw{r(B02OfG4@>K(7Ofd2MYDWOk91~0o1`j9RgHJ7xR_{)z|}68UgBi0V>)=?-z-y zdr`n|Mta-*}B3Rfb3fSmtQ_cmQC za6el_n7hg0Y>k9DnMj!9Bf*|SULK$SpnN|zI;-*vj2}CQm|;Xr4rxjk^OhAc#vUSu zMu?d2Ld2j=^gVxQ2KKK488Fe;imkg~`(1VZBQv1?NMTz6?YfH}ay^=yRe5YZno7TY zx+2&jq$yp@TNXBB57=k~Y+alDN)>IQZv3Gc*nSPz02BSD*m{61eKE@}AJ87(P1S1! zdNE6{3+TnHm726pFIDvv>67EjGIp)Hm)Of9q&J5|M;{7zvPL9N-0<8){#fn3FLb?F zC8wRfShXvWtysc}C9PP>ilwbs#)@UFSk8)pRt&OY zuoXkB7)p^_x5<{JtWD+O;POISuPO5+&M={_pXOXuXlpjPl?jbDUow=PO#CTOO)fOP znux60^0d7@MO^)Px=>W0Fmcl=($&I9DKp<`fkzulC!X)|8 z#OVf2f!K9Hv1kO*;JQ&FKcsR)pXaugW>?SHVn-pa(PUbPQeC^d)kUN3!CHF?M`e>6 zuEua{NM-tdNAhamUcy~f;MS(v=iVFc&~On}SJ{MD!zH4963j)ka8*g>30{xY%F?=8 zxWVYTi>Q*sSR;zG&ze?bVuHDt)+vb1qQ~0F$jsb8YDY8O&}U}47U_6x@mAHAJ^~Jb z#Fyl@B5VR_iu9OoGRENYLm}oj(kbmQ6^RfbFb@~zQtA}}D26MhUTd+AkAN6i$5T0U zc~QS|Yp?!sBC<|X?m+*9*$Bo_Zkwj$b7gIx=~+jbkih1-vTday2GM#=C7&x>kC=%+ z^lRy=_3pyvXkBg5KUZccs#R1|>$&w4wR{_XbEc7A5glW`f5XJ)6*!#Cl#?ELhHu0G z)$4ob3%(ILzze@;eF3!mSe3Yn!-)0}zM4b5DtfJmY|+%-jhE}CI(6g4u-ROtKyij_#4>i{r9x5MCem`_ zMNT_CmpzEIdUJf!n2PNSbJ@d?>HHCjT+f~CrqL+5X|z3Foht8p@iAZUe>qI&hH*Ph-cU z@;eU^jgSxO!qO9MqI&+&j1}p@fee^vf)1FzV8aKc4duTEI$Q3_><*II@{zvT{lb;% zeHC2Qg+3MTUpf`;4|kjj&C#v@Eu_Nz63Naxw^fw1RCr*bmT6~-!lGkbJ|9dJ^9!K8 znw%+R=7-$RaLUk#FBLBUF@LB^FUBE@b6gJdKu$Cl4&oqcRgWH#@%$0qqqd>C2!kG_ zd`CAqtMZ;d+Vi#N`HS)VB}h}cn71s?8+-6Pjo|s|!Nq739myY>;rYV?88Fe|3UV;m z@OdWYvY)Olug4k7}Hrq+0;ip+->Z^-86z{bcXhs;H6v%*yPF8Fqz?Po3Z6MMfdrTd5I%Vhx(|LPV zV%}a;q{-u{;j@;Q%ZATL4l&>;D=H~`p7g)Xv8U=#1zl$uIqmf9JQ``8W!__!xwfg| z>ZXb-3lq&oROW7oX9$~U#y~}_O{~~dcy7t^Y$nwIq-T-Mg?3xaY4gokp}I8Z7SQNn zyj0!PTDy{C2C30_iCKdF~If* zSpGgeJb*(270A%*I8o&Fg8Y`I+{+;+T~q>}H+GTybc-6K>aDpz`&LP`qGt)TbPTFV zFi|v6M2~8+c&y2pYCc&!rh4jDrs%EHw@DW7FoG#v%v)BnF!qovXoO_(aL5X16FtHv zpRte{(34SBb7G_DY>t}BAp?uouT5zVG77K7c1)I%)8NcMtwNO&GbqKX8IpydJkzz7xR{7CSwm~q7lsWQZN(RME~Uv%?Q6rb zmhd_Cdez~0=$cdIw9`5DOr$lZe#DOF<3ct)3v%wWjB4jVM4xl5F4t!#ziwDtwn87P zX34FPIS+vgOzuJo_gNCarwZUA=n6niI}P9xq!mCP_DNq909*<=_jR1WZ92FdDhgds z5q+zn_Fa?vT2=C)_MM)D^?a9RzOV~9PpiGJb_%?Qakfee`F8@1*QU~^xfou7r8;;%uRBtNXu=3BX8^xkL|D=k~_ z=}mCw|I{Au7Hit!Jse`+d#$*S!durz>{lvqKXi4toOasbPa>@j@7+A6V!q~zKF#5h z^HbF17HCe7r)MCd(z8~Vn?Dt_eVViT_X5BdOzuSrw}7&F4E>s=y_cXX2086ChL@36 z4D%DT3l;#p0y#IJ*`lwY$!kJgBujl=sEc{9GS8#b8$w$==CoDIn?hYO&G{BI1U{6i zMVj0HeZ;Ye-$%S`2Qik#r5^>0s9~x`H5;16n@e5;TO96qRbjf@r?}l>%|Hl`Lz=Ft zoXxRICTh99wVcL2or2&a1M;x|>BKEmQ{0a+n)w9zXt2P@4QX~(>oE>djF~Af@pw}u zBfW}|PU&LavPQbGhmlSr4C#T*{-zPyM1z{u^Qj5qQ&iR1`M+6-l}VKVAZv;>N-eMx|p{ts~UT-DvgjoR|{4} zn`k(HXoj()Kn6^-l4AP~Z0RZ8!j|^fCTX1Nl&&$UQ~J8iTBldjz8C2>BlriXnC(X^ zexhu(a?3u(_kL)Vldr=3nIJy!E!u_0-3p?3 z*OR$?V^vNq=tk>t(RqD-Yoi~9+cb%16UDOtbj2g5oyM~u(i-OdNs(JNSBx#-=}%2= zn>fqa)ILC{|Hx7o7V5Zk?ps7?<6}A~n<*hog1FJS; z)fS{FUCdjSRgFDZl}5;t6M|LICaUHS%`oba+ z(Ohv@bH$WGdRZ5i+_8mlvL9$%45|_OX-XIKmKEg29)g@kxIlh+h-S2juHX;Ni2Vx#88FdB8ftrqeNJpH z6<i<%{TOve~#8cY<^DWV57fjrpk{pj_4P@S6b zPhy9*3khUb5(uS>dCN*5#vT#~jWD$D3z-6KqWf8UkjGQjKT@oJY_lKMwsb~Sn@Nt6 z%B;Umg6NI~M%#P!{7CPV=E6rh*C-sxe*a8qYqjiC078{1SCrB(GLzsz;P3ZeWc_D; z(Q3&ZCBzkHd(%O&(AaG*LgSZ`8B5eG5gK$1{)=IvxWtM}t+0;ip;>XxS{Ll#T^Hhi*l#HI%N#k;KZdX+wN2V-ruYkEt1l=IS znMLMu85XS<#=n;L{qkG{{9_2M{V_yh=*CRfDONWV(e?G_uA$+ znwS5j{X5g`8|VfY}~WWURY$m^(XZ zMfnxg^xOM;z?0BoM`dtl3&8N)?E%tE%99p)_U3i_ZafgVtQ!-O-iPm@`@3y?2sP`& z|9KxCB%4O$WA1t>}B{ioRz= z$GCC=Ocd1=(I+}1e%kDgCm_RbezTWN%`VZG%Jo&V`!vDjzS5I$Q*0lm!f%!DyJla7 z-DMy1o#$)srr5qrr2j&iGQnHcL~2ckiIhh89iKU2B1N0%8~)IY2V*}EWWYpU5W+p9 zj{*rRL?3I+*O+h9E4L;iW*i=mGz(>U{J4m-_nQl6FH+LkqE-oK(=lFdhKZs@Ah3Pg zcv~N{-^&kvn$y*M-r;6S?>O5IRP8^{5QtVK5YREIA7TimP()osm0Z`BRCv0sEk$-> ziIx5V1lWND7-fRDtN^p7Lx9l;Ve>}_8?=f3B%x&2?T3o7&u&itlyhQl#Rgw~*;7-W z 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