├── LICENSE ├── README.md ├── assets ├── genshin.jpg ├── railgun.png ├── renge.png ├── stella.png ├── yosuga.png ├── 生きとし生けるもの.mp3 └── 遠い空へ.mp3 ├── attentions.py ├── commons.py ├── configs ├── chipanese_base.json └── ljs_base.json ├── data_utils.py ├── filelists ├── dummy.txt ├── train_filelist.txt.cleaned └── val_filelist.txt.cleaned ├── losses.py ├── mel_processing.py ├── models.py ├── modules.py ├── monotonic_align ├── __init__.py ├── core.pyx └── setup.py ├── preprocess.py ├── requirements.txt ├── text ├── LICENSE ├── __init__.py ├── cleaners.py └── symbols.py ├── train_ms.py ├── transforms.py └── utils.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Jaehyeon Kim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Stella Bilingual TTS Based on VITS 2 | 3 | -------------------------------------------------------------------------------- /assets/genshin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/genshin.jpg -------------------------------------------------------------------------------- /assets/railgun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/railgun.png -------------------------------------------------------------------------------- /assets/renge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/renge.png -------------------------------------------------------------------------------- /assets/stella.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/stella.png -------------------------------------------------------------------------------- /assets/yosuga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/yosuga.png -------------------------------------------------------------------------------- /assets/生きとし生けるもの.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/生きとし生けるもの.mp3 -------------------------------------------------------------------------------- /assets/遠い空へ.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sophiefy/VITS-Bilingual/d586397363017b09c7429a318edc63329dd5e667/assets/遠い空へ.mp3 -------------------------------------------------------------------------------- /attentions.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import math 3 | import numpy as np 4 | import torch 5 | from torch import nn 6 | from torch.nn import functional as F 7 | 8 | import commons 9 | import modules 10 | from modules import LayerNorm 11 | 12 | 13 | class Encoder(nn.Module): 14 | def __init__(self, hidden_channels, filter_channels, n_heads, n_layers, kernel_size=1, p_dropout=0., window_size=4, **kwargs): 15 | super().__init__() 16 | self.hidden_channels = hidden_channels 17 | self.filter_channels = filter_channels 18 | self.n_heads = n_heads 19 | self.n_layers = n_layers 20 | self.kernel_size = kernel_size 21 | self.p_dropout = p_dropout 22 | self.window_size = window_size 23 | 24 | self.drop = nn.Dropout(p_dropout) 25 | self.attn_layers = nn.ModuleList() 26 | self.norm_layers_1 = nn.ModuleList() 27 | self.ffn_layers = nn.ModuleList() 28 | self.norm_layers_2 = nn.ModuleList() 29 | for i in range(self.n_layers): 30 | self.attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout, window_size=window_size)) 31 | self.norm_layers_1.append(LayerNorm(hidden_channels)) 32 | self.ffn_layers.append(FFN(hidden_channels, hidden_channels, filter_channels, kernel_size, p_dropout=p_dropout)) 33 | self.norm_layers_2.append(LayerNorm(hidden_channels)) 34 | 35 | def forward(self, x, x_mask): 36 | attn_mask = x_mask.unsqueeze(2) * x_mask.unsqueeze(-1) 37 | x = x * x_mask 38 | for i in range(self.n_layers): 39 | y = self.attn_layers[i](x, x, attn_mask) 40 | y = self.drop(y) 41 | x = self.norm_layers_1[i](x + y) 42 | 43 | y = self.ffn_layers[i](x, x_mask) 44 | y = self.drop(y) 45 | x = self.norm_layers_2[i](x + y) 46 | x = x * x_mask 47 | return x 48 | 49 | 50 | class Decoder(nn.Module): 51 | def __init__(self, hidden_channels, filter_channels, n_heads, n_layers, kernel_size=1, p_dropout=0., proximal_bias=False, proximal_init=True, **kwargs): 52 | super().__init__() 53 | self.hidden_channels = hidden_channels 54 | self.filter_channels = filter_channels 55 | self.n_heads = n_heads 56 | self.n_layers = n_layers 57 | self.kernel_size = kernel_size 58 | self.p_dropout = p_dropout 59 | self.proximal_bias = proximal_bias 60 | self.proximal_init = proximal_init 61 | 62 | self.drop = nn.Dropout(p_dropout) 63 | self.self_attn_layers = nn.ModuleList() 64 | self.norm_layers_0 = nn.ModuleList() 65 | self.encdec_attn_layers = nn.ModuleList() 66 | self.norm_layers_1 = nn.ModuleList() 67 | self.ffn_layers = nn.ModuleList() 68 | self.norm_layers_2 = nn.ModuleList() 69 | for i in range(self.n_layers): 70 | self.self_attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout, proximal_bias=proximal_bias, proximal_init=proximal_init)) 71 | self.norm_layers_0.append(LayerNorm(hidden_channels)) 72 | self.encdec_attn_layers.append(MultiHeadAttention(hidden_channels, hidden_channels, n_heads, p_dropout=p_dropout)) 73 | self.norm_layers_1.append(LayerNorm(hidden_channels)) 74 | self.ffn_layers.append(FFN(hidden_channels, hidden_channels, filter_channels, kernel_size, p_dropout=p_dropout, causal=True)) 75 | self.norm_layers_2.append(LayerNorm(hidden_channels)) 76 | 77 | def forward(self, x, x_mask, h, h_mask): 78 | """ 79 | x: decoder input 80 | h: encoder output 81 | """ 82 | self_attn_mask = commons.subsequent_mask(x_mask.size(2)).to(device=x.device, dtype=x.dtype) 83 | encdec_attn_mask = h_mask.unsqueeze(2) * x_mask.unsqueeze(-1) 84 | x = x * x_mask 85 | for i in range(self.n_layers): 86 | y = self.self_attn_layers[i](x, x, self_attn_mask) 87 | y = self.drop(y) 88 | x = self.norm_layers_0[i](x + y) 89 | 90 | y = self.encdec_attn_layers[i](x, h, encdec_attn_mask) 91 | y = self.drop(y) 92 | x = self.norm_layers_1[i](x + y) 93 | 94 | y = self.ffn_layers[i](x, x_mask) 95 | y = self.drop(y) 96 | x = self.norm_layers_2[i](x + y) 97 | x = x * x_mask 98 | return x 99 | 100 | 101 | class MultiHeadAttention(nn.Module): 102 | 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): 103 | super().__init__() 104 | assert channels % n_heads == 0 105 | 106 | self.channels = channels 107 | self.out_channels = out_channels 108 | self.n_heads = n_heads 109 | self.p_dropout = p_dropout 110 | self.window_size = window_size 111 | self.heads_share = heads_share 112 | self.block_length = block_length 113 | self.proximal_bias = proximal_bias 114 | self.proximal_init = proximal_init 115 | self.attn = None 116 | 117 | self.k_channels = channels // n_heads 118 | self.conv_q = nn.Conv1d(channels, channels, 1) 119 | self.conv_k = nn.Conv1d(channels, channels, 1) 120 | self.conv_v = nn.Conv1d(channels, channels, 1) 121 | self.conv_o = nn.Conv1d(channels, out_channels, 1) 122 | self.drop = nn.Dropout(p_dropout) 123 | 124 | if window_size is not None: 125 | n_heads_rel = 1 if heads_share else n_heads 126 | rel_stddev = self.k_channels**-0.5 127 | self.emb_rel_k = nn.Parameter(torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels) * rel_stddev) 128 | self.emb_rel_v = nn.Parameter(torch.randn(n_heads_rel, window_size * 2 + 1, self.k_channels) * rel_stddev) 129 | 130 | nn.init.xavier_uniform_(self.conv_q.weight) 131 | nn.init.xavier_uniform_(self.conv_k.weight) 132 | nn.init.xavier_uniform_(self.conv_v.weight) 133 | if proximal_init: 134 | with torch.no_grad(): 135 | self.conv_k.weight.copy_(self.conv_q.weight) 136 | self.conv_k.bias.copy_(self.conv_q.bias) 137 | 138 | def forward(self, x, c, attn_mask=None): 139 | q = self.conv_q(x) 140 | k = self.conv_k(c) 141 | v = self.conv_v(c) 142 | 143 | x, self.attn = self.attention(q, k, v, mask=attn_mask) 144 | 145 | x = self.conv_o(x) 146 | return x 147 | 148 | def attention(self, query, key, value, mask=None): 149 | # reshape [b, d, t] -> [b, n_h, t, d_k] 150 | b, d, t_s, t_t = (*key.size(), query.size(2)) 151 | query = query.view(b, self.n_heads, self.k_channels, t_t).transpose(2, 3) 152 | key = key.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3) 153 | value = value.view(b, self.n_heads, self.k_channels, t_s).transpose(2, 3) 154 | 155 | scores = torch.matmul(query / math.sqrt(self.k_channels), key.transpose(-2, -1)) 156 | if self.window_size is not None: 157 | assert t_s == t_t, "Relative attention is only available for self-attention." 158 | key_relative_embeddings = self._get_relative_embeddings(self.emb_rel_k, t_s) 159 | rel_logits = self._matmul_with_relative_keys(query /math.sqrt(self.k_channels), key_relative_embeddings) 160 | scores_local = self._relative_position_to_absolute_position(rel_logits) 161 | scores = scores + scores_local 162 | if self.proximal_bias: 163 | assert t_s == t_t, "Proximal bias is only available for self-attention." 164 | scores = scores + self._attention_bias_proximal(t_s).to(device=scores.device, dtype=scores.dtype) 165 | if mask is not None: 166 | scores = scores.masked_fill(mask == 0, -1e4) 167 | if self.block_length is not None: 168 | assert t_s == t_t, "Local attention is only available for self-attention." 169 | block_mask = torch.ones_like(scores).triu(-self.block_length).tril(self.block_length) 170 | scores = scores.masked_fill(block_mask == 0, -1e4) 171 | p_attn = F.softmax(scores, dim=-1) # [b, n_h, t_t, t_s] 172 | p_attn = self.drop(p_attn) 173 | output = torch.matmul(p_attn, value) 174 | if self.window_size is not None: 175 | relative_weights = self._absolute_position_to_relative_position(p_attn) 176 | value_relative_embeddings = self._get_relative_embeddings(self.emb_rel_v, t_s) 177 | output = output + self._matmul_with_relative_values(relative_weights, value_relative_embeddings) 178 | output = output.transpose(2, 3).contiguous().view(b, d, t_t) # [b, n_h, t_t, d_k] -> [b, d, t_t] 179 | return output, p_attn 180 | 181 | def _matmul_with_relative_values(self, x, y): 182 | """ 183 | x: [b, h, l, m] 184 | y: [h or 1, m, d] 185 | ret: [b, h, l, d] 186 | """ 187 | ret = torch.matmul(x, y.unsqueeze(0)) 188 | return ret 189 | 190 | def _matmul_with_relative_keys(self, x, y): 191 | """ 192 | x: [b, h, l, d] 193 | y: [h or 1, m, d] 194 | ret: [b, h, l, m] 195 | """ 196 | ret = torch.matmul(x, y.unsqueeze(0).transpose(-2, -1)) 197 | return ret 198 | 199 | def _get_relative_embeddings(self, relative_embeddings, length): 200 | max_relative_position = 2 * self.window_size + 1 201 | # Pad first before slice to avoid using cond ops. 202 | pad_length = max(length - (self.window_size + 1), 0) 203 | slice_start_position = max((self.window_size + 1) - length, 0) 204 | slice_end_position = slice_start_position + 2 * length - 1 205 | if pad_length > 0: 206 | padded_relative_embeddings = F.pad( 207 | relative_embeddings, 208 | commons.convert_pad_shape([[0, 0], [pad_length, pad_length], [0, 0]])) 209 | else: 210 | padded_relative_embeddings = relative_embeddings 211 | used_relative_embeddings = padded_relative_embeddings[:,slice_start_position:slice_end_position] 212 | return used_relative_embeddings 213 | 214 | def _relative_position_to_absolute_position(self, x): 215 | """ 216 | x: [b, h, l, 2*l-1] 217 | ret: [b, h, l, l] 218 | """ 219 | batch, heads, length, _ = x.size() 220 | # Concat columns of pad to shift from relative to absolute indexing. 221 | x = F.pad(x, commons.convert_pad_shape([[0,0],[0,0],[0,0],[0,1]])) 222 | 223 | # Concat extra elements so to add up to shape (len+1, 2*len-1). 224 | x_flat = x.view([batch, heads, length * 2 * length]) 225 | x_flat = F.pad(x_flat, commons.convert_pad_shape([[0,0],[0,0],[0,length-1]])) 226 | 227 | # Reshape and slice out the padded elements. 228 | x_final = x_flat.view([batch, heads, length+1, 2*length-1])[:, :, :length, length-1:] 229 | return x_final 230 | 231 | def _absolute_position_to_relative_position(self, x): 232 | """ 233 | x: [b, h, l, l] 234 | ret: [b, h, l, 2*l-1] 235 | """ 236 | batch, heads, length, _ = x.size() 237 | # padd along column 238 | x = F.pad(x, commons.convert_pad_shape([[0, 0], [0, 0], [0, 0], [0, length-1]])) 239 | x_flat = x.view([batch, heads, length**2 + length*(length -1)]) 240 | # add 0's in the beginning that will skew the elements after reshape 241 | x_flat = F.pad(x_flat, commons.convert_pad_shape([[0, 0], [0, 0], [length, 0]])) 242 | x_final = x_flat.view([batch, heads, length, 2*length])[:,:,:,1:] 243 | return x_final 244 | 245 | def _attention_bias_proximal(self, length): 246 | """Bias for self-attention to encourage attention to close positions. 247 | Args: 248 | length: an integer scalar. 249 | Returns: 250 | a Tensor with shape [1, 1, length, length] 251 | """ 252 | r = torch.arange(length, dtype=torch.float32) 253 | diff = torch.unsqueeze(r, 0) - torch.unsqueeze(r, 1) 254 | return torch.unsqueeze(torch.unsqueeze(-torch.log1p(torch.abs(diff)), 0), 0) 255 | 256 | 257 | class FFN(nn.Module): 258 | def __init__(self, in_channels, out_channels, filter_channels, kernel_size, p_dropout=0., activation=None, causal=False): 259 | super().__init__() 260 | self.in_channels = in_channels 261 | self.out_channels = out_channels 262 | self.filter_channels = filter_channels 263 | self.kernel_size = kernel_size 264 | self.p_dropout = p_dropout 265 | self.activation = activation 266 | self.causal = causal 267 | 268 | if causal: 269 | self.padding = self._causal_padding 270 | else: 271 | self.padding = self._same_padding 272 | 273 | self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size) 274 | self.conv_2 = nn.Conv1d(filter_channels, out_channels, kernel_size) 275 | self.drop = nn.Dropout(p_dropout) 276 | 277 | def forward(self, x, x_mask): 278 | x = self.conv_1(self.padding(x * x_mask)) 279 | if self.activation == "gelu": 280 | x = x * torch.sigmoid(1.702 * x) 281 | else: 282 | x = torch.relu(x) 283 | x = self.drop(x) 284 | x = self.conv_2(self.padding(x * x_mask)) 285 | return x * x_mask 286 | 287 | def _causal_padding(self, x): 288 | if self.kernel_size == 1: 289 | return x 290 | pad_l = self.kernel_size - 1 291 | pad_r = 0 292 | padding = [[0, 0], [0, 0], [pad_l, pad_r]] 293 | x = F.pad(x, commons.convert_pad_shape(padding)) 294 | return x 295 | 296 | def _same_padding(self, x): 297 | if self.kernel_size == 1: 298 | return x 299 | pad_l = (self.kernel_size - 1) // 2 300 | pad_r = self.kernel_size // 2 301 | padding = [[0, 0], [0, 0], [pad_l, pad_r]] 302 | x = F.pad(x, commons.convert_pad_shape(padding)) 303 | return x 304 | -------------------------------------------------------------------------------- /commons.py: -------------------------------------------------------------------------------- 1 | import math 2 | import numpy as np 3 | import torch 4 | from torch import nn 5 | from torch.nn import functional as F 6 | 7 | 8 | def init_weights(m, mean=0.0, std=0.01): 9 | classname = m.__class__.__name__ 10 | if classname.find("Conv") != -1: 11 | m.weight.data.normal_(mean, std) 12 | 13 | 14 | def get_padding(kernel_size, dilation=1): 15 | return int((kernel_size*dilation - dilation)/2) 16 | 17 | 18 | def convert_pad_shape(pad_shape): 19 | l = pad_shape[::-1] 20 | pad_shape = [item for sublist in l for item in sublist] 21 | return pad_shape 22 | 23 | 24 | def intersperse(lst, item): 25 | result = [item] * (len(lst) * 2 + 1) 26 | result[1::2] = lst 27 | return result 28 | 29 | 30 | def kl_divergence(m_p, logs_p, m_q, logs_q): 31 | """KL(P||Q)""" 32 | kl = (logs_q - logs_p) - 0.5 33 | kl += 0.5 * (torch.exp(2. * logs_p) + ((m_p - m_q)**2)) * torch.exp(-2. * logs_q) 34 | return kl 35 | 36 | 37 | def rand_gumbel(shape): 38 | """Sample from the Gumbel distribution, protect from overflows.""" 39 | uniform_samples = torch.rand(shape) * 0.99998 + 0.00001 40 | return -torch.log(-torch.log(uniform_samples)) 41 | 42 | 43 | def rand_gumbel_like(x): 44 | g = rand_gumbel(x.size()).to(dtype=x.dtype, device=x.device) 45 | return g 46 | 47 | 48 | def slice_segments(x, ids_str, segment_size=4): 49 | ret = torch.zeros_like(x[:, :, :segment_size]) 50 | for i in range(x.size(0)): 51 | idx_str = ids_str[i] 52 | idx_end = idx_str + segment_size 53 | ret[i] = x[i, :, idx_str:idx_end] 54 | return ret 55 | 56 | 57 | def rand_slice_segments(x, x_lengths=None, segment_size=4): 58 | b, d, t = x.size() 59 | if x_lengths is None: 60 | x_lengths = t 61 | ids_str_max = x_lengths - segment_size + 1 62 | ids_str = (torch.rand([b]).to(device=x.device) * ids_str_max).to(dtype=torch.long) 63 | ret = slice_segments(x, ids_str, segment_size) 64 | return ret, ids_str 65 | 66 | 67 | def get_timing_signal_1d( 68 | length, channels, min_timescale=1.0, max_timescale=1.0e4): 69 | position = torch.arange(length, dtype=torch.float) 70 | num_timescales = channels // 2 71 | log_timescale_increment = ( 72 | math.log(float(max_timescale) / float(min_timescale)) / 73 | (num_timescales - 1)) 74 | inv_timescales = min_timescale * torch.exp( 75 | torch.arange(num_timescales, dtype=torch.float) * -log_timescale_increment) 76 | scaled_time = position.unsqueeze(0) * inv_timescales.unsqueeze(1) 77 | signal = torch.cat([torch.sin(scaled_time), torch.cos(scaled_time)], 0) 78 | signal = F.pad(signal, [0, 0, 0, channels % 2]) 79 | signal = signal.view(1, channels, length) 80 | return signal 81 | 82 | 83 | def add_timing_signal_1d(x, min_timescale=1.0, max_timescale=1.0e4): 84 | b, channels, length = x.size() 85 | signal = get_timing_signal_1d(length, channels, min_timescale, max_timescale) 86 | return x + signal.to(dtype=x.dtype, device=x.device) 87 | 88 | 89 | def cat_timing_signal_1d(x, min_timescale=1.0, max_timescale=1.0e4, axis=1): 90 | b, channels, length = x.size() 91 | signal = get_timing_signal_1d(length, channels, min_timescale, max_timescale) 92 | return torch.cat([x, signal.to(dtype=x.dtype, device=x.device)], axis) 93 | 94 | 95 | def subsequent_mask(length): 96 | mask = torch.tril(torch.ones(length, length)).unsqueeze(0).unsqueeze(0) 97 | return mask 98 | 99 | 100 | @torch.jit.script 101 | def fused_add_tanh_sigmoid_multiply(input_a, input_b, n_channels): 102 | n_channels_int = n_channels[0] 103 | in_act = input_a + input_b 104 | t_act = torch.tanh(in_act[:, :n_channels_int, :]) 105 | s_act = torch.sigmoid(in_act[:, n_channels_int:, :]) 106 | acts = t_act * s_act 107 | return acts 108 | 109 | 110 | def convert_pad_shape(pad_shape): 111 | l = pad_shape[::-1] 112 | pad_shape = [item for sublist in l for item in sublist] 113 | return pad_shape 114 | 115 | 116 | def shift_1d(x): 117 | x = F.pad(x, convert_pad_shape([[0, 0], [0, 0], [1, 0]]))[:, :, :-1] 118 | return x 119 | 120 | 121 | def sequence_mask(length, max_length=None): 122 | if max_length is None: 123 | max_length = length.max() 124 | x = torch.arange(max_length, dtype=length.dtype, device=length.device) 125 | return x.unsqueeze(0) < length.unsqueeze(1) 126 | 127 | 128 | def generate_path(duration, mask): 129 | """ 130 | duration: [b, 1, t_x] 131 | mask: [b, 1, t_y, t_x] 132 | """ 133 | device = duration.device 134 | 135 | b, _, t_y, t_x = mask.shape 136 | cum_duration = torch.cumsum(duration, -1) 137 | 138 | cum_duration_flat = cum_duration.view(b * t_x) 139 | path = sequence_mask(cum_duration_flat, t_y).to(mask.dtype) 140 | path = path.view(b, t_x, t_y) 141 | path = path - F.pad(path, convert_pad_shape([[0, 0], [1, 0], [0, 0]]))[:, :-1] 142 | path = path.unsqueeze(1).transpose(2,3) * mask 143 | return path 144 | 145 | 146 | def clip_grad_value_(parameters, clip_value, norm_type=2): 147 | if isinstance(parameters, torch.Tensor): 148 | parameters = [parameters] 149 | parameters = list(filter(lambda p: p.grad is not None, parameters)) 150 | norm_type = float(norm_type) 151 | if clip_value is not None: 152 | clip_value = float(clip_value) 153 | 154 | total_norm = 0 155 | for p in parameters: 156 | param_norm = p.grad.data.norm(norm_type) 157 | total_norm += param_norm.item() ** norm_type 158 | if clip_value is not None: 159 | p.grad.data.clamp_(min=-clip_value, max=clip_value) 160 | total_norm = total_norm ** (1. / norm_type) 161 | return total_norm 162 | -------------------------------------------------------------------------------- /configs/chipanese_base.json: -------------------------------------------------------------------------------- 1 | { 2 | "train": { 3 | "log_interval": 200, 4 | "eval_interval": 1000, 5 | "seed": 1234, 6 | "epochs": 10000, 7 | "learning_rate": 2e-4, 8 | "betas": [0.8, 0.99], 9 | "eps": 1e-9, 10 | "batch_size": 28, 11 | "fp16_run": true, 12 | "lr_decay": 0.999875, 13 | "segment_size": 8192, 14 | "init_lr_ratio": 1, 15 | "warmup_epochs": 0, 16 | "c_mel": 45, 17 | "c_kl": 1.0 18 | }, 19 | "data": { 20 | "training_files":"filelists/train_filelist.txt.cleaned", 21 | "validation_files":"filelists/val_filelist.txt.cleaned", 22 | "text_cleaners":["chipanese_cleaners"], 23 | "max_wav_value": 32768.0, 24 | "sampling_rate": 22050, 25 | "filter_length": 1024, 26 | "hop_length": 256, 27 | "win_length": 1024, 28 | "n_mel_channels": 80, 29 | "mel_fmin": 0.0, 30 | "mel_fmax": null, 31 | "add_blank": true, 32 | "n_speakers": 2, 33 | "cleaned_text": true 34 | }, 35 | "model": { 36 | "inter_channels": 192, 37 | "hidden_channels": 192, 38 | "filter_channels": 768, 39 | "n_heads": 2, 40 | "n_layers": 6, 41 | "kernel_size": 3, 42 | "p_dropout": 0.1, 43 | "resblock": "1", 44 | "resblock_kernel_sizes": [3,7,11], 45 | "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], 46 | "upsample_rates": [8,8,2,2], 47 | "upsample_initial_channel": 512, 48 | "upsample_kernel_sizes": [16,16,4,4], 49 | "n_layers_q": 3, 50 | "use_spectral_norm": false, 51 | "gin_channels": 256 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /configs/ljs_base.json: -------------------------------------------------------------------------------- 1 | { 2 | "train": { 3 | "log_interval": 200, 4 | "eval_interval": 1000, 5 | "seed": 1234, 6 | "epochs": 20000, 7 | "learning_rate": 2e-4, 8 | "betas": [0.8, 0.99], 9 | "eps": 1e-9, 10 | "batch_size": 64, 11 | "fp16_run": true, 12 | "lr_decay": 0.999875, 13 | "segment_size": 8192, 14 | "init_lr_ratio": 1, 15 | "warmup_epochs": 0, 16 | "c_mel": 45, 17 | "c_kl": 1.0 18 | }, 19 | "data": { 20 | "training_files":"filelists/ljs_audio_text_train_filelist.txt.cleaned", 21 | "validation_files":"filelists/ljs_audio_text_val_filelist.txt.cleaned", 22 | "text_cleaners":["english_cleaners2"], 23 | "max_wav_value": 32768.0, 24 | "sampling_rate": 22050, 25 | "filter_length": 1024, 26 | "hop_length": 256, 27 | "win_length": 1024, 28 | "n_mel_channels": 80, 29 | "mel_fmin": 0.0, 30 | "mel_fmax": null, 31 | "add_blank": true, 32 | "n_speakers": 0, 33 | "cleaned_text": true 34 | }, 35 | "model": { 36 | "inter_channels": 192, 37 | "hidden_channels": 192, 38 | "filter_channels": 768, 39 | "n_heads": 2, 40 | "n_layers": 6, 41 | "kernel_size": 3, 42 | "p_dropout": 0.1, 43 | "resblock": "1", 44 | "resblock_kernel_sizes": [3,7,11], 45 | "resblock_dilation_sizes": [[1,3,5], [1,3,5], [1,3,5]], 46 | "upsample_rates": [8,8,2,2], 47 | "upsample_initial_channel": 512, 48 | "upsample_kernel_sizes": [16,16,4,4], 49 | "n_layers_q": 3, 50 | "use_spectral_norm": false 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /data_utils.py: -------------------------------------------------------------------------------- 1 | import time 2 | import os 3 | import random 4 | import numpy as np 5 | import torch 6 | import torch.utils.data 7 | 8 | import commons 9 | from mel_processing import spectrogram_torch 10 | from utils import load_wav_to_torch, load_filepaths_and_text 11 | from text import text_to_sequence, cleaned_text_to_sequence 12 | 13 | 14 | class TextAudioLoader(torch.utils.data.Dataset): 15 | """ 16 | 1) loads audio, text pairs 17 | 2) normalizes text and converts them to sequences of integers 18 | 3) computes spectrograms from audio files. 19 | """ 20 | def __init__(self, audiopaths_and_text, hparams): 21 | self.audiopaths_and_text = load_filepaths_and_text(audiopaths_and_text) 22 | self.text_cleaners = hparams.text_cleaners 23 | self.max_wav_value = hparams.max_wav_value 24 | self.sampling_rate = hparams.sampling_rate 25 | self.filter_length = hparams.filter_length 26 | self.hop_length = hparams.hop_length 27 | self.win_length = hparams.win_length 28 | self.sampling_rate = hparams.sampling_rate 29 | 30 | self.cleaned_text = getattr(hparams, "cleaned_text", False) 31 | 32 | self.add_blank = hparams.add_blank 33 | self.min_text_len = getattr(hparams, "min_text_len", 1) 34 | self.max_text_len = getattr(hparams, "max_text_len", 190) 35 | 36 | random.seed(1234) 37 | random.shuffle(self.audiopaths_and_text) 38 | self._filter() 39 | 40 | 41 | def _filter(self): 42 | """ 43 | Filter text & store spec lengths 44 | """ 45 | # Store spectrogram lengths for Bucketing 46 | # wav_length ~= file_size / (wav_channels * Bytes per dim) = file_size / (1 * 2) 47 | # spec_length = wav_length // hop_length 48 | 49 | audiopaths_and_text_new = [] 50 | lengths = [] 51 | for audiopath, text in self.audiopaths_and_text: 52 | if self.min_text_len <= len(text) and len(text) <= self.max_text_len: 53 | audiopaths_and_text_new.append([audiopath, text]) 54 | lengths.append(os.path.getsize(audiopath) // (2 * self.hop_length)) 55 | self.audiopaths_and_text = audiopaths_and_text_new 56 | self.lengths = lengths 57 | 58 | def get_audio_text_pair(self, audiopath_and_text): 59 | # separate filename and text 60 | audiopath, text = audiopath_and_text[0], audiopath_and_text[1] 61 | text = self.get_text(text) 62 | spec, wav = self.get_audio(audiopath) 63 | return (text, spec, wav) 64 | 65 | def get_audio(self, filename): 66 | audio, sampling_rate = load_wav_to_torch(filename) 67 | if sampling_rate != self.sampling_rate: 68 | raise ValueError("{} {} SR doesn't match target {} SR".format( 69 | sampling_rate, self.sampling_rate)) 70 | audio_norm = audio / self.max_wav_value 71 | audio_norm = audio_norm.unsqueeze(0) 72 | spec_filename = filename.replace(".wav", ".spec.pt") 73 | if os.path.exists(spec_filename): 74 | spec = torch.load(spec_filename) 75 | else: 76 | spec = spectrogram_torch(audio_norm, self.filter_length, 77 | self.sampling_rate, self.hop_length, self.win_length, 78 | center=False) 79 | spec = torch.squeeze(spec, 0) 80 | torch.save(spec, spec_filename) 81 | return spec, audio_norm 82 | 83 | def get_text(self, text): 84 | if self.cleaned_text: 85 | text_norm = cleaned_text_to_sequence(text) 86 | else: 87 | text_norm = text_to_sequence(text, self.text_cleaners) 88 | if self.add_blank: 89 | text_norm = commons.intersperse(text_norm, 0) 90 | text_norm = torch.LongTensor(text_norm) 91 | return text_norm 92 | 93 | def __getitem__(self, index): 94 | return self.get_audio_text_pair(self.audiopaths_and_text[index]) 95 | 96 | def __len__(self): 97 | return len(self.audiopaths_and_text) 98 | 99 | 100 | class TextAudioCollate(): 101 | """ Zero-pads model inputs and targets 102 | """ 103 | def __init__(self, return_ids=False): 104 | self.return_ids = return_ids 105 | 106 | def __call__(self, batch): 107 | """Collate's training batch from normalized text and aduio 108 | PARAMS 109 | ------ 110 | batch: [text_normalized, spec_normalized, wav_normalized] 111 | """ 112 | # Right zero-pad all one-hot text sequences to max input length 113 | _, ids_sorted_decreasing = torch.sort( 114 | torch.LongTensor([x[1].size(1) for x in batch]), 115 | dim=0, descending=True) 116 | 117 | max_text_len = max([len(x[0]) for x in batch]) 118 | max_spec_len = max([x[1].size(1) for x in batch]) 119 | max_wav_len = max([x[2].size(1) for x in batch]) 120 | 121 | text_lengths = torch.LongTensor(len(batch)) 122 | spec_lengths = torch.LongTensor(len(batch)) 123 | wav_lengths = torch.LongTensor(len(batch)) 124 | 125 | text_padded = torch.LongTensor(len(batch), max_text_len) 126 | spec_padded = torch.FloatTensor(len(batch), batch[0][1].size(0), max_spec_len) 127 | wav_padded = torch.FloatTensor(len(batch), 1, max_wav_len) 128 | text_padded.zero_() 129 | spec_padded.zero_() 130 | wav_padded.zero_() 131 | for i in range(len(ids_sorted_decreasing)): 132 | row = batch[ids_sorted_decreasing[i]] 133 | 134 | text = row[0] 135 | text_padded[i, :text.size(0)] = text 136 | text_lengths[i] = text.size(0) 137 | 138 | spec = row[1] 139 | spec_padded[i, :, :spec.size(1)] = spec 140 | spec_lengths[i] = spec.size(1) 141 | 142 | wav = row[2] 143 | wav_padded[i, :, :wav.size(1)] = wav 144 | wav_lengths[i] = wav.size(1) 145 | 146 | if self.return_ids: 147 | return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, ids_sorted_decreasing 148 | return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths 149 | 150 | 151 | """Multi speaker version""" 152 | class TextAudioSpeakerLoader(torch.utils.data.Dataset): 153 | """ 154 | 1) loads audio, speaker_id, text pairs 155 | 2) normalizes text and converts them to sequences of integers 156 | 3) computes spectrograms from audio files. 157 | """ 158 | def __init__(self, audiopaths_sid_text, hparams): 159 | self.audiopaths_sid_text = load_filepaths_and_text(audiopaths_sid_text) 160 | self.text_cleaners = hparams.text_cleaners 161 | self.max_wav_value = hparams.max_wav_value 162 | self.sampling_rate = hparams.sampling_rate 163 | self.filter_length = hparams.filter_length 164 | self.hop_length = hparams.hop_length 165 | self.win_length = hparams.win_length 166 | self.sampling_rate = hparams.sampling_rate 167 | 168 | self.cleaned_text = getattr(hparams, "cleaned_text", False) 169 | 170 | self.add_blank = hparams.add_blank 171 | self.min_text_len = getattr(hparams, "min_text_len", 1) 172 | self.max_text_len = getattr(hparams, "max_text_len", 190) 173 | 174 | random.seed(1234) 175 | random.shuffle(self.audiopaths_sid_text) 176 | self._filter() 177 | 178 | def _filter(self): 179 | """ 180 | Filter text & store spec lengths 181 | """ 182 | # Store spectrogram lengths for Bucketing 183 | # wav_length ~= file_size / (wav_channels * Bytes per dim) = file_size / (1 * 2) 184 | # spec_length = wav_length // hop_length 185 | 186 | audiopaths_sid_text_new = [] 187 | lengths = [] 188 | for data in self.audiopaths_sid_text: 189 | audiopath, sid, lang, text = data[0], data[1], data[2], data[3] 190 | if self.min_text_len <= len(text) and len(text) <= self.max_text_len: 191 | audiopaths_sid_text_new.append([audiopath, sid, lang, text]) 192 | lengths.append(os.path.getsize(audiopath) // (2 * self.hop_length)) 193 | self.audiopaths_sid_text = audiopaths_sid_text_new 194 | self.lengths = lengths 195 | 196 | def get_audio_text_speaker_pair(self, audiopath_sid_text): 197 | # separate filename, speaker_id and text 198 | audiopath, sid, lang, text = audiopath_sid_text[0], audiopath_sid_text[1], audiopath_sid_text[2], audiopath_sid_text[3] # modified 199 | text = self.get_text(text, lang) 200 | spec, wav = self.get_audio(audiopath) 201 | sid = self.get_sid(sid) 202 | return (text, spec, wav, sid) 203 | 204 | def get_audio(self, filename): 205 | audio, sampling_rate = load_wav_to_torch(filename) 206 | if sampling_rate != self.sampling_rate: 207 | raise ValueError("{} {} SR doesn't match target {} SR".format( 208 | sampling_rate, self.sampling_rate)) 209 | audio_norm = audio / self.max_wav_value 210 | audio_norm = audio_norm.unsqueeze(0) 211 | spec_filename = filename.replace(".wav", ".spec.pt") 212 | if os.path.exists(spec_filename): 213 | spec = torch.load(spec_filename) 214 | else: 215 | spec = spectrogram_torch(audio_norm, self.filter_length, 216 | self.sampling_rate, self.hop_length, self.win_length, 217 | center=False) 218 | spec = torch.squeeze(spec, 0) 219 | torch.save(spec, spec_filename) 220 | return spec, audio_norm 221 | 222 | def get_text(self, text, lang): 223 | if self.cleaned_text: 224 | text_norm = cleaned_text_to_sequence(text) 225 | else: 226 | text_norm = text_to_sequence(text, self.text_cleaners, lang) 227 | if self.add_blank: 228 | text_norm = commons.intersperse(text_norm, 0) 229 | text_norm = torch.LongTensor(text_norm) 230 | return text_norm 231 | 232 | def get_sid(self, sid): 233 | sid = torch.LongTensor([int(sid)]) 234 | return sid 235 | 236 | def __getitem__(self, index): 237 | return self.get_audio_text_speaker_pair(self.audiopaths_sid_text[index]) 238 | 239 | def __len__(self): 240 | return len(self.audiopaths_sid_text) 241 | 242 | 243 | class TextAudioSpeakerCollate(): 244 | """ Zero-pads model inputs and targets 245 | """ 246 | def __init__(self, return_ids=False): 247 | self.return_ids = return_ids 248 | 249 | def __call__(self, batch): 250 | """Collate's training batch from normalized text, audio and speaker identities 251 | PARAMS 252 | ------ 253 | batch: [text_normalized, spec_normalized, wav_normalized, sid] 254 | """ 255 | # Right zero-pad all one-hot text sequences to max input length 256 | _, ids_sorted_decreasing = torch.sort( 257 | torch.LongTensor([x[1].size(1) for x in batch]), 258 | dim=0, descending=True) 259 | 260 | max_text_len = max([len(x[0]) for x in batch]) 261 | max_spec_len = max([x[1].size(1) for x in batch]) 262 | max_wav_len = max([x[2].size(1) for x in batch]) 263 | 264 | text_lengths = torch.LongTensor(len(batch)) 265 | spec_lengths = torch.LongTensor(len(batch)) 266 | wav_lengths = torch.LongTensor(len(batch)) 267 | sid = torch.LongTensor(len(batch)) 268 | 269 | text_padded = torch.LongTensor(len(batch), max_text_len) 270 | spec_padded = torch.FloatTensor(len(batch), batch[0][1].size(0), max_spec_len) 271 | wav_padded = torch.FloatTensor(len(batch), 1, max_wav_len) 272 | text_padded.zero_() 273 | spec_padded.zero_() 274 | wav_padded.zero_() 275 | for i in range(len(ids_sorted_decreasing)): 276 | row = batch[ids_sorted_decreasing[i]] 277 | 278 | text = row[0] 279 | text_padded[i, :text.size(0)] = text 280 | text_lengths[i] = text.size(0) 281 | 282 | spec = row[1] 283 | spec_padded[i, :, :spec.size(1)] = spec 284 | spec_lengths[i] = spec.size(1) 285 | 286 | wav = row[2] 287 | wav_padded[i, :, :wav.size(1)] = wav 288 | wav_lengths[i] = wav.size(1) 289 | 290 | sid[i] = row[3] 291 | 292 | if self.return_ids: 293 | return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, sid, ids_sorted_decreasing 294 | return text_padded, text_lengths, spec_padded, spec_lengths, wav_padded, wav_lengths, sid 295 | 296 | 297 | class DistributedBucketSampler(torch.utils.data.distributed.DistributedSampler): 298 | """ 299 | Maintain similar input lengths in a batch. 300 | Length groups are specified by boundaries. 301 | Ex) boundaries = [b1, b2, b3] -> any batch is included either {x | b1 < length(x) <=b2} or {x | b2 < length(x) <= b3}. 302 | 303 | It removes samples which are not included in the boundaries. 304 | Ex) boundaries = [b1, b2, b3] -> any x s.t. length(x) <= b1 or length(x) > b3 are discarded. 305 | """ 306 | def __init__(self, dataset, batch_size, boundaries, num_replicas=None, rank=None, shuffle=True): 307 | super().__init__(dataset, num_replicas=num_replicas, rank=rank, shuffle=shuffle) 308 | self.lengths = dataset.lengths 309 | self.batch_size = batch_size 310 | self.boundaries = boundaries 311 | 312 | self.buckets, self.num_samples_per_bucket = self._create_buckets() 313 | self.total_size = sum(self.num_samples_per_bucket) 314 | self.num_samples = self.total_size // self.num_replicas 315 | 316 | def _create_buckets(self): 317 | buckets = [[] for _ in range(len(self.boundaries) - 1)] 318 | for i in range(len(self.lengths)): 319 | length = self.lengths[i] 320 | idx_bucket = self._bisect(length) 321 | if idx_bucket != -1: 322 | buckets[idx_bucket].append(i) 323 | 324 | for i in range(len(buckets) - 1, 0, -1): 325 | if len(buckets[i]) == 0: 326 | buckets.pop(i) 327 | self.boundaries.pop(i+1) 328 | 329 | num_samples_per_bucket = [] 330 | for i in range(len(buckets)): 331 | len_bucket = len(buckets[i]) 332 | total_batch_size = self.num_replicas * self.batch_size 333 | rem = (total_batch_size - (len_bucket % total_batch_size)) % total_batch_size 334 | num_samples_per_bucket.append(len_bucket + rem) 335 | return buckets, num_samples_per_bucket 336 | 337 | def __iter__(self): 338 | # deterministically shuffle based on epoch 339 | g = torch.Generator() 340 | g.manual_seed(self.epoch) 341 | 342 | indices = [] 343 | if self.shuffle: 344 | for bucket in self.buckets: 345 | indices.append(torch.randperm(len(bucket), generator=g).tolist()) 346 | else: 347 | for bucket in self.buckets: 348 | indices.append(list(range(len(bucket)))) 349 | 350 | batches = [] 351 | for i in range(len(self.buckets)): 352 | bucket = self.buckets[i] 353 | len_bucket = len(bucket) 354 | ids_bucket = indices[i] 355 | num_samples_bucket = self.num_samples_per_bucket[i] 356 | 357 | # add extra samples to make it evenly divisible 358 | rem = num_samples_bucket - len_bucket 359 | ids_bucket = ids_bucket + ids_bucket * (rem // len_bucket) + ids_bucket[:(rem % len_bucket)] 360 | 361 | # subsample 362 | ids_bucket = ids_bucket[self.rank::self.num_replicas] 363 | 364 | # batching 365 | for j in range(len(ids_bucket) // self.batch_size): 366 | batch = [bucket[idx] for idx in ids_bucket[j*self.batch_size:(j+1)*self.batch_size]] 367 | batches.append(batch) 368 | 369 | if self.shuffle: 370 | batch_ids = torch.randperm(len(batches), generator=g).tolist() 371 | batches = [batches[i] for i in batch_ids] 372 | self.batches = batches 373 | 374 | assert len(self.batches) * self.batch_size == self.num_samples 375 | return iter(self.batches) 376 | 377 | def _bisect(self, x, lo=0, hi=None): 378 | if hi is None: 379 | hi = len(self.boundaries) - 1 380 | 381 | if hi > lo: 382 | mid = (hi + lo) // 2 383 | if self.boundaries[mid] < x and x <= self.boundaries[mid+1]: 384 | return mid 385 | elif x <= self.boundaries[mid]: 386 | return self._bisect(x, lo, mid) 387 | else: 388 | return self._bisect(x, mid + 1, hi) 389 | else: 390 | return -1 391 | 392 | def __len__(self): 393 | return self.num_samples // self.batch_size 394 | -------------------------------------------------------------------------------- /filelists/dummy.txt: -------------------------------------------------------------------------------- 1 | dummy 2 | -------------------------------------------------------------------------------- /filelists/val_filelist.txt.cleaned: -------------------------------------------------------------------------------- 1 | DUMMY/wavs/paimon/400200462.wav|1|ch|hao3 xyaŋ4 ʃi4 zai4 gaŋ1 cai2 də ʤæn4 dou4 ʤoŋ1 ʤao2 lyaŋ2 lə . 2 | DUMMY/wavs/natsume/natsume_3215.wav|0|jp|u1 ŋ3 ,a3 li1 ga3 to3 o3 . 3 | DUMMY/wavs/paimon/400100380.wav|1|ch|ji4 ræn2 yao4 dyao4 ʧa2 coŋ2 qyæn2 də mao4 xyæn3 jya1 , jyou4 gai1 coŋ2 mao4 xyæn3 jya1 xiə2 huei4 ru4 ʃou3 ! 4 | DUMMY/wavs/paimon/202500116.wav|1|ch|wo3 mən you3 ʃən2 zɪ gəi3 wo3 mən də toŋ1 xiŋ2 ʤəŋ4 miŋ2 . 5 | DUMMY/wavs/natsume/natsume_5302.wav|0|jp|ŋ3 ŋ1 Q!ŋ1 Q...... 6 | DUMMY/wavs/natsume/natsume_0461.wav|0|jp|na3 Qto1 ku1 xi3 na1 i3 de3 ku3 le1 na1 i1 ? 7 | DUMMY/wavs/natsume/natsume_2240.wav|0|jp|ha3 ji1 me3 te3 na3 no1 Qni1 Q,wa3 ta1 xi1 ......u3 u1 a1 a1 a1 a3 Q!de1 mo3 to3 ma1 la1 na1 ku1 te1 ----a1 Q!a3 Qa1 Qa1 Qa1 Qa3 Q! 8 | DUMMY/wavs/natsume/natsume_7960.wav|0|jp|na1 ŋ3 to3 i3 u1 ko3 to1 o3 ...... 9 | DUMMY/wavs/paimon/201600134.wav|1|ch|ai1 , ʤə4 hua4 zən3 mə ʃuo1 ? 10 | DUMMY/wavs/natsume/natsume_4056.wav|0|jp|se3 me1 te1 lu3 ŋ1 jya3 na3 i3 no3 .ge3 ŋ1 i1 ŋ1 o1 to3 ku1 te1 e1 xi3 te1 ,ka3 i1 ke1 cu1 su3 lu1 te3 da1 su3 ke3 ga3 xi3 ta1 i3 da3 ke3 . 11 | DUMMY/wavs/natsume/natsume_5232.wav|0|jp|de1 mo3 ,a3 no1 ,so3 no1 ......ne3 ga1 Qte3 mo3 na1 i3 ko3 to1 na3 ŋ1 de3 su3 ga3 ,do1 o3 xi3 te3 ......? 12 | DUMMY/wavs/paimon/100400140.wav|1|ch|ʤə4 mə fu4 za2 də cai4 , yə3 næn2 guai4 yao4 ba3 zuo4 cai4 də faŋ1 fa3 yoŋ4 ʤi3 ji4 xya4 lai2 … wo3 mən zɪ3 xi4 kæn4 kæn4 ba . 13 | DUMMY/wavs/paimon/101400237.wav|1|ch|wa . ʃi4 ʃən2 mə nə ? ba1 ba1 tuo1 sɪ1 hə1 ʃuei3 yoŋ4 guo4 də bəi1 zɪ ma ? 14 | DUMMY/wavs/natsume/natsume_5749.wav|0|jp|de1 su3 ga3 ,no1 o3 no3 se3 e1 ka1 ŋ1 o1 da1 i3 le3 ku3 to3 ni3 hi3 ki1 da1 su3 ko3 to1 ga3 ka3 no1 o1 na1 no3 de1 su3 . 15 | DUMMY/wavs/natsume/natsume_7740.wav|0|jp|ha1 i3 ......su3 i1 so1 ku1 ga1 a3 ta1 Qte1 xi3 ma1 i1 ma1 xi3 ta3 . 16 | DUMMY/wavs/natsume/natsume_5177.wav|0|jp|su3 te1 ki1 de1 su3 !ma1 su3 ta3 a3 ,ho3 le1 bo1 le3 xi3 ma1 su3 . 17 | DUMMY/wavs/natsume/natsume_1335.wav|0|jp|i3 Qto1 ki1 ma1 su3 ke3 do3 ne3 .wa3 ta1 xi1 mo1 hi3 to1 li1 gu1 la3 xi3 o3 xi3 te1 lu3 ŋ1 da3 ka3 la3 ,ka1 ji3 wa3 ko3 ma1 la1 na3 i3 te3 e1 do1 ni1 wa1 de3 ki1 lu3 . 18 | DUMMY/wavs/natsume/natsume_7919.wav|0|jp| 19 | DUMMY/wavs/paimon/400100558.wav|1|ch|ʤə4 yaŋ4 yi1 lai2 yiŋ1 gai1 jyou4 qiŋ1 li3 də2 ʧa4 bu4 duo1 lə . huei4 duei4 qiŋ1 quæn2 ʤən4 də cun1 min2 you3 baŋ1 ʤu4 ma ? 20 | DUMMY/wavs/paimon/400400229.wav|1|ch|qin2 tuæn2 ʤaŋ3 , li4 ʃa1 xyao3 jiə3 ! 21 | DUMMY/wavs/paimon/400300301.wav|1|ch|xin1 ʃou3 dao4 zəi2 ?! 22 | DUMMY/wavs/natsume/natsume_2869.wav|0|jp|so3 le1 ga1 de3 ki1 lu3 Qte3 ,xi3 ŋ1 ji1 te1 lu3 ka3 la3 . 23 | DUMMY/wavs/natsume/natsume_5218.wav|0|jp|ho1 Q...... 24 | DUMMY/wavs/natsume/natsume_6728.wav|0|jp|fu3 ta1 li1 no3 kyo1 li3 ga3 qi3 ji1 ma1 Qte1 i3 ku1 su3 te1 ki1 na1 wa3 ŋ1 xi1 i3 ŋ3 de3 xi3 ta3 no3 de3 ,no3 o1 na3 i3 no3 me1 mo3 li3 i3 ni3 ba3 Qqi1 li3 ki3 lo1 ku1 i3 ta1 xi1 ma1 xi3 ta3 ! 25 | DUMMY/wavs/paimon/401200318.wav|1|ch|yao4 bu4 ræn2 , kæn4 kæn4 fu4 jin4 you3 məi2 you3 cai4 pu3 mai4 ba ! 26 | DUMMY/wavs/natsume/natsume_5490.wav|0|jp|o3 ha1 yo1 o1 go1 za1 i1 ma1 su3 ,la1 na3 sa3 ŋ3 . 27 | DUMMY/wavs/natsume/natsume_2974.wav|0|jp|i1 ku3 to1 ki3 wa3 ,qya3 ŋ1 to1 i3 wa1 na1 kya1 da3 me1 da3 ka3 la3 ne3 ? 28 | DUMMY/wavs/natsume/natsume_7625.wav|0|jp|wa3 ta1 xi1 wa1 ma1 su3 ta3 a3 to3 i3 Qxyo1 ni1 i1 la3 le3 te3 ,xi3 a1 wa1 se1 de1 su3 .le3 i1 ŋ3 sa3 ŋ3 no3 ,o3 ka1 ge1 de1 su3 . 29 | DUMMY/wavs/paimon/100900710.wav|1|ch|ʃi4 a , bu4 xyaŋ3 bæn4 fa3 kuai4 dyæn3 jyou4 ʧu1 ta1 də hua4 … ai1 ! xyao1 goŋ1 , ni3 ʃən2 mə ʃi2 hou4 … 30 | DUMMY/wavs/natsume/natsume_2073.wav|0|jp|he3 e1 ki1 .ni3 ŋ1 ge1 ŋ1 ,ya3 Qpa1 li3 a3 ji1 no1 a1 lu3 mo3 no1 o3 ta3 be1 na3 i3 to3 ne3 . 31 | DUMMY/wavs/natsume/natsume_2783.wav|0|jp|a3 li1 ga3 to3 o3 go3 za1 i1 ma1 xi3 ta3 . 32 | DUMMY/wavs/natsume/natsume_8108.wav|0|jp|wa3 ka1 li1 ma1 xi3 ta3 . 33 | DUMMY/wavs/paimon/100700351.wav|1|ch|wo3 mən ʃi4 lai2 da3 tiŋ1 ʃi4 qiŋ2 də . ba1 ba1 la1 tiŋ1 ʃuo1 guo4 ʃi4 ʃaŋ4 di4 yi1 zuo4 gəŋ1 di4 ji1 ma ? 34 | DUMMY/wavs/paimon/400200368.wav|1|ch|ya , ʤə4 mə yi1 ʃuo1 , quə4 ʃi2 tiŋ1 di2 lu2 kə4 lao3 yə2 ti2 qi3 guo4 nə . 35 | DUMMY/wavs/natsume/natsume_0850.wav|0|jp|de1 xyo3 o3 ne3 .o3 mi1 se1 no1 ke1 ŋ3 ni3 xi3 ta1 Qte3 ha3 ŋ1 ta1 i1 sa3 le1 te1 ta1 ka3 la3 .ha3 ŋ1 bu1 ŋ3 wa3 jyo3 o1 da1 ŋ3 ,ki3 ni1 xi3 na1 i3 de3 . 36 | DUMMY/wavs/paimon/201500344.wav|1|ch|xyao3 kun1 , ni3 zai4 kæn4 ʃən2 mə ? 37 | DUMMY/wavs/natsume/natsume_0738.wav|0|jp|a3 li1 ga3 to3 o3 ,go3 za1 i1 ma1 su3 . 38 | DUMMY/wavs/paimon/201200493.wav|1|ch|wəi4 ! lyaŋ3 bai3 gə4 wo3 dou1 kə3 yi3 ba3 ni3 ya1 byæn3 lə ! 39 | DUMMY/wavs/paimon/401200265.wav|1|ch|wo3 duei4 ʧi1 hən3 ʤi2 ʤuo2 hən3 jiŋ1 toŋ1 , cuo4 guo4 wo3 ʃi4 ta1 mən də sun3 ʃi1 ! wu1 … 40 | DUMMY/wavs/paimon/202400436.wav|1|ch|ta1 mən ʤən1 də huei4 duei4 ʤə4 li3 də rən2 xya4 ʃou3 ? 41 | DUMMY/wavs/paimon/202800048.wav|1|ch|wa ! tyæn1 ʃu1 ʃi4 zən3 mə hə2 ta1 mən rən4 ʃi2 də nə ? 42 | DUMMY/wavs/natsume/natsume_3396.wav|0|jp|la1 Qte3 ,ko3 o1 xi1 te1 ku3 wa1 e1 qya1 Qta1 la3 ,mo3 o1 so1 ŋ3 na3 no3 ka3 ŋ1 ke1 e1 na1 i3 de3 xyo3 ......ŋ1 ku3 ,po1 Q,po1 Q......! 43 | DUMMY/wavs/natsume/natsume_4160.wav|0|jp|fu1 da3 ŋ3 wa3 ,mo1 Qto3 la3 ku1 na3 no3 o1 cu3 ke1 te1 lu3 ŋ1 de3 su3 yo3 ne3 ? 44 | DUMMY/wavs/natsume/natsume_5906.wav|0|jp|no3 o1 xi1 ŋ3 to3 o3 o3 o3 ko1 xi3 te3 i3 ma1 su3 ga3 ,i1 no3 qi3 ni3 be3 cu1 jyo1 o1 wa1 na1 i1 ka3 to3 .ko3 kyu1 u1 to1 mya3 ku1 ha1 ku1 wa1 a3 ŋ1 te1 e1 xi3 te1 i3 ma1 su3 . 45 | DUMMY/wavs/paimon/400400523.wav|1|ch|wən1 di2 yiŋ1 gai1 yi3 jiŋ1 dao4 lə , jin4 qu4 kæn4 kæn4 ba ! 46 | DUMMY/wavs/natsume/natsume_5805.wav|0|jp|ŋ1 gu3 ku1 Q,pu3 qyu1 ,ŋ1 ji3 yu3 Q!ji1 yu3 Q,le1 ji3 yu3 Q,ŋ1 gu3 u3 ......QQ. 47 | DUMMY/wavs/natsume/natsume_1536.wav|0|jp|so3 o1 ?so3 o1 i3 Qte1 mo3 la1 e1 lu1 to1 u3 le1 xi1 i3 ke3 do3 ......ki3 ta1 ŋ1 no1 na1 i3 i1 ke3 ŋ3 o3 ki3 ka1 se1 te1 . 48 | DUMMY/wavs/natsume/natsume_8398.wav|0|jp|so3 o1 de1 su1 ka3 .ko3 no1 se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 ni3 wa3 ,ma1 da3 ma3 na1 ba1 ne3 ba3 na3 la1 na3 i3 ko3 to1 ga3 ,o1 o3 ku3 a3 lu3 yo1 o3 de3 su3 . 49 | DUMMY/wavs/natsume/natsume_7176.wav|0|jp|ma1 su3 ta3 a3 ,fu3 se1 te3 ku3 da1 sa1 i3 ! 50 | DUMMY/wavs/natsume/natsume_5506.wav|0|jp|te3 ŋ1 ko1 o1 xi3 te1 su1 gu3 ,wa3 ta1 xi1 ni1 ko1 o3 i3 o3 mo1 Qta3 to3 ko3 ku1 ha1 ku1 xi3 te1 ki1 ta3 ho1 o3 wa3 ,jyu3 u1 lo3 ku1 me1 e1 ho1 do1 . 51 | DUMMY/wavs/paimon/202600148.wav|1|ch|ai1 … you4 ʃi4 na4 yaŋ4 də guaŋ1 ? 52 | DUMMY/wavs/paimon/101402013.wav|1|ch|ʤoŋ4 suo3 ʤou1 ʤi1 , yv3 yæn2 yv3 ʃi1 gə1 suei2 fəŋ1 pyao1 daŋ4 … 53 | DUMMY/wavs/paimon/201200126.wav|1|ch|wu1 wa , ʤuo1 liə4 də yæn3 ji4 . 54 | DUMMY/wavs/natsume/natsume_2042.wav|0|jp|pu1 a3 Q......ha1 a3 a3 ...... 55 | DUMMY/wavs/paimon/400700562.wav|1|ch|a , lyaŋ3 gə4 rən2 yi1 xya4 zɪ jyou4 pao3 yvæn3 lə . 56 | DUMMY/wavs/natsume/natsume_1454.wav|0|jp|wa3 ta1 xi1 ,ko3 ko1 no1 qi1 ka3 de3 ka3 Qte1 ku1 lu3 ka3 la3 .so3 no1 ka1 ŋ3 ni3 ta3 ka3 mi1 ne3 ku3 ŋ3 wa3 qi1 ka3 ku3 no3 ka3 ku1 ko1 ŋ3 bi3 ni3 no3 bu1 ŋ3 o3 a3 cu1 me1 te3 ki1 te3 ku3 le1 lu1 ? 57 | DUMMY/wavs/paimon/400900231.wav|1|ch|ʃi4 a , di2 lu2 kə4 lao3 yə2 wən4 də2 tai4 zao3 la , wo3 mən kai1 ʤaŋ1 hai2 məi2 duo1 jyou3 nə . 58 | DUMMY/wavs/paimon/400600059.wav|1|ch|xyaŋ3 qi3 lai2 lə xyaŋ3 qi3 lai2 lə ! ʤə4 ʤoŋ3 yv3 yæn2 fəi1 ʧaŋ2 ʧəŋ2 ʃi2 , ʤi3 huei4 ʧu4 doŋ4 rən2 xin1 di3 zuei4 ʤən1 ʧəŋ2 də bu4 fən4 ! 59 | DUMMY/wavs/paimon/100900829.wav|1|ch|wu2 ? ni3 mən zai4 bəi4 ʤə wo3 gao3 ʃən2 mə miŋ2 taŋ2 . 60 | DUMMY/wavs/natsume/natsume_8028.wav|0|jp|wa3 ka1 li1 ma1 xi3 ta3 !xi3 Qka1 li3 cu3 ka1 ma1 Qte1 i3 te1 ku3 da1 sa1 i3 ,ma1 su3 ta3 a3 ! 61 | DUMMY/wavs/natsume/natsume_1194.wav|0|jp|so3 o1 yu1 u1 u3 no1 mi1 ni1 xi3 na1 i1 ho1 o3 ga3 i1 i3 to3 o3 mo1 u3 .fu3 cu1 u1 ni1 a3 bo1 ka1 do1 ga1 ki3 la1 i1 na1 jyo1 xi3 mo3 i3 lu1 ka3 la3 ne3 ? 62 | DUMMY/wavs/paimon/400600382.wav|1|ch|guo3 ræn2 ʃi4 xin1 yæn4 ! həŋ1 həŋ1 , wo3 də ʤi2 juə2 hao3 ʤun3 . 63 | DUMMY/wavs/paimon/101100533.wav|1|ch|hao3 yə2 ! na4 wo3 mən ʃən2 mə ʃi2 hou4 qu4 ʃaŋ4 rən4 ya ? 64 | DUMMY/wavs/paimon/202300586.wav|1|ch|wa , hao3 ʤuæn1 xin1 də yaŋ4 zɪ . wo3 mən hai2 ʃi4 bu2 yao4 da3 rao3 ta1 lə . 65 | DUMMY/wavs/natsume/natsume_2762.wav|0|jp|de1 mo3 ,da3 me1 Qte3 i3 Qta1 la3 qya3 ŋ1 to1 to3 me1 te1 yo1 ?i1 ma3 wa3 cu3 ka1 le1 te1 lu3 ka3 la3 . 66 | DUMMY/wavs/natsume/natsume_4356.wav|0|jp|e3 e1 a1 i3 o3 to3 o1 sa1 i1 xi3 te1 i3 na1 i1 ka3 de1 ŋ1 o1 so1 o3 sa3 xi3 ta1 no3 wa1 ,ha3 ji1 me3 te3 no3 ke3 e1 ke1 ŋ1 de1 xi1 ta1 . 67 | DUMMY/wavs/paimon/400900248.wav|1|ch|ta1 mən hao3 xyaŋ4 tou1 tou1 ba3 ni3 mai4 lə nə … 68 | DUMMY/wavs/natsume/natsume_4280.wav|0|jp|se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 no3 so3 o1 te1 e1 de1 wa1 ,mo1 Qto3 ko3 o1 fu1 ŋ1 xi3 te1 ku3 da1 sa1 lu3 ka3 to3 . 69 | DUMMY/wavs/paimon/401200782.wav|1|ch|hua4 dou1 ʃuo1 dao4 ʤə4 gə4 fən4 ʃaŋ4 lə , kə4 qiŋ2 ju1 ræn2 wæn2 quæn2 bu4 hao3 qi2 na4 xiə1 raŋ4 gæn1 yv3 zai4 yi4 də ba1 gua4 ʃi4 ʃən2 mə ma ? 70 | DUMMY/wavs/natsume/natsume_2329.wav|0|jp|so1 Qka3 a3 ...... 71 | DUMMY/wavs/paimon/101402356.wav|1|ch|wəi4 ʃən2 mə xin1 hai3 huei4 ʤi1 dao4 yi4 ʤi2 yi3 lai2 xiə2 ʤu4 lu4 zɪ də rən2 ʃi4 wo3 mən ? 72 | DUMMY/wavs/natsume/natsume_6884.wav|0|jp|wa3 le1 wa1 le1 no1 ......ma1 su3 ta3 a3 no3 xyo1 o3 li3 de3 su3 ! 73 | DUMMY/wavs/natsume/natsume_2633.wav|0|jp|o3 qi1 ŋ3 qi3 ŋ3 ......mo1 Qto3 na3 me1 te3 a3 ge1 lu1 ......le3 lu1 Q,le1 lo3 le3 lo3 le3 le3 lo3 ......qyu3 Qqyu1 Q,le3 lu1 74 | DUMMY/wavs/natsume/natsume_3879.wav|0|jp|wa3 ta1 xi1 no1 xi3 Qte1 lu3 ha3 na1 xi1 da3 to3 ,a3 ka1 i1 wa1 sa1 ma1 wa1 ki3 ji1 ŋ1 to1 fu1 u3 fu3 ni3 na1 Qte3 su3 e1 na1 ga1 ku3 xi3 a1 wa1 se1 ni1 na1 Qta3 to3 . 75 | DUMMY/wavs/paimon/100200325.wav|1|ch|wəi4 , gə1 ʃou3 ! ni3 ba3 tyæn1 koŋ1 ʤi1 qin2 jiə4 ʧu1 lai2 , jyou4 ʃi4 wəi4 lə dæn4 gəi3 zuei4 guei3 tiŋ1 də ma ? 76 | DUMMY/wavs/natsume/natsume_1384.wav|0|jp|ta1 ni3 ,sa3 mu1 i3 to3 ki1 ni3 ta3 be1 ta1 ku3 na1 lu3 yo1 o3 na3 mo3 no1 ka3 a3 ......ko3 ŋ1 po3 ta3 ? 77 | DUMMY/wavs/natsume/natsume_5298.wav|0|jp|ŋ1 Qŋ3 u3 u3 ......ma1 su3 ta3 a3 ......? 78 | DUMMY/wavs/natsume/natsume_0644.wav|0|jp|ho1 la3 ,i3 ku1 wa3 yo3 . 79 | DUMMY/wavs/paimon/202400357.wav|1|ch|duei4 a ! ər2 qiə3 … ər2 qiə3 , qiŋ1 guei3 ʃi4 wəi4 lə raŋ4 guei3 zu2 roŋ2 ru4 rən2 ləi4 cai2 xi1 ʃəŋ1 də ba ! 80 | DUMMY/wavs/paimon/202300075.wav|1|ch|ai1 , dæn4 、 dæn4 ʃi4 —— 81 | DUMMY/wavs/paimon/202700166.wav|1|ch|hai3 cao3 hu2 ʤu4 lə xi1 guæn3 , xi1 qi3 lai2 hao3 fəi4 jin4 … 82 | DUMMY/wavs/natsume/natsume_3770.wav|0|jp|ma1 a3 ......do1 o3 da3 Qta3 no3 ? 83 | DUMMY/wavs/natsume/natsume_7533.wav|0|jp|ko3 ku1 ho1 o1 sa1 ŋ1 ,o3 so1 ku3 na3 Qte3 mo3 o1 xi1 wa1 ke1 a3 li1 ma1 se1 ŋ3 .wa3 ta1 xi1 ta3 qi3 yo3 li3 sa3 ki1 ni1 ,e1 e3 je3 ŋ3 to3 ga3 mu3 ka1 Qte1 i3 lu1 no3 o1 ka1 ŋ3 qi3 xi3 ma1 xi3 te3 . 84 | DUMMY/wavs/paimon/201000293.wav|1|ch|hai2 ji4 də ma ? jyou4 ʃi4 baŋ1 di2 lu2 kə4 lao3 yə2 ti2 lyæn4 guo4 də , na4 gə4 yvæn2 su4 you4 ər3 . 85 | DUMMY/wavs/paimon/400800818.wav|1|ch|ʃi4 you4 qu4 na3 li3 ʤæn4 dou4 lə ma …? 86 | DUMMY/wavs/paimon/400700740.wav|1|ch|ə4 … zoŋ3 juə2 də bu2 huei4 ʃi4 liŋ4 rən2 kai1 xin1 də zuo4 pin3 nə … wo3 ʃən4 ʤi4 you3 dyæn3 jin3 ʤaŋ1 … 87 | DUMMY/wavs/natsume/natsume_5815.wav|0|jp|su3 te1 ki1 de1 su3 ,ma1 su3 ta3 a3 ! 88 | DUMMY/wavs/natsume/natsume_1926.wav|0|jp|to3 me1 te1 .so3 o1 yu1 u1 da3 me1 da3 ka3 la3 . 89 | DUMMY/wavs/paimon/400700373.wav|1|ch|yvæn2 lai2 ʃi4 ʤə4 yaŋ4 , həi1 həi1 , ni3 rən2 ʤən1 bu4 cuo4 ! you1 la1 gaŋ1 gaŋ1 hai2 xyao4 lə , yiŋ1 gai1 ʃi4 li3 jiə3 ni3 də xin1 yi4 lə ba . 90 | DUMMY/wavs/natsume/natsume_0984.wav|0|jp|ku3 li1 su1 ma1 su1 xi1 i3 zu3 ŋ3 da3 ka3 la3 ,i3 lu1 mi1 ne1 e3 xyo3 ŋ3 o3 mi1 lu3 da3 ke3 de3 mo3 de1 e3 to3 Qpo3 ku3 wa3 na1 lu3 to3 o3 mo1 u3 ke3 do3 . 91 | DUMMY/wavs/natsume/natsume_2891.wav|0|jp|so3 o1 yu1 u1 no3 to1 wa1 ,qyo1 Qto3 qi3 ga1 u1 ke3 do3 . 92 | DUMMY/wavs/natsume/natsume_4144.wav|0|jp|ne1 e3 .su3 zu1 ne3 sa3 ŋ3 ,sa3 i1 ki1 ŋ1 zu3 Qto1 a3 ŋ1 na1 ka3 ŋ1 ji1 de1 u3 na1 Qte1 lu3 ke3 do3 ......do1 o3 xi3 ta1 no3 ? 93 | DUMMY/wavs/natsume/natsume_5629.wav|0|jp|a1 Q,ma1 su3 ta3 a3 no3 ko3 su1 le1 lu3 ba3 xyo1 ......ze1 ŋ3 bu3 ,ki3 mo1 qi1 i1 i3 ......de1 su3 ......!ko1 e3 ,de3 qya1 ......a1 a3 a3 ......ŋ3 ŋ1 ...... 94 | DUMMY/wavs/natsume/natsume_3709.wav|0|jp|ni3 ka1 i1 me3 de3 mo3 ......ta1 pu3 ta3 pu3 ...... 95 | DUMMY/wavs/natsume/natsume_3539.wav|0|jp|no3 zo1 mu1 to3 ko1 lo1 . 96 | DUMMY/wavs/natsume/natsume_5349.wav|0|jp|ma1 su3 ta3 a3 no3 ,ka3 ta1 qi1 ......wa3 ka1 li1 ma1 su3 ......ŋ1 ŋ3 Q......wa3 ta1 xi1 no1 na1 ka3 ga3 ,yu3 Qku1 li3 ,hi3 lo1 ga1 Qte1 i3 Qte1 ......fa1 a3 ...... 97 | DUMMY/wavs/natsume/natsume_2245.wav|0|jp|e1 Q?i1 ma3 ha1 Q......a1 Q!?i1 ma3 ,ko3 su1 la3 le3 ta3 la3 ......da3 me1 da3 Qte3 ba3 a1 a3 . 98 | DUMMY/wavs/paimon/202600469.wav|1|ch|ʤə4 ʤoŋ3 yæn2 sə4 … gən1 ʃən2 yiŋ1 ʃu4 po4 sun3 ʤi1 hou4 lu4 ʧu1 lai2 də yæn2 sə4 hən3 xyaŋ4 ! 99 | DUMMY/wavs/natsume/natsume_4241.wav|0|jp|na3 lu1 ho1 do1 ......ma1 da3 ,wa3 ta1 xi1 wa1 ma1 su3 ta3 a3 no3 li3 so1 o1 ni1 to3 do1 i3 te3 i3 na1 i1 ,i3 u1 ko3 to1 de3 su3 ne3 ? 100 | DUMMY/wavs/natsume/natsume_7409.wav|0|jp|ka3 i1 ke1 e1 ka1 ŋ3 sa3 to3 wa3 ,ho3 o1 ko1 ku1 xyo1 ni1 ma3 qi1 ga1 i3 ga3 na3 i3 ka3 ,se3 e1 to1 ka3 i3 ga3 te3 ŋ1 ke1 ŋ1 su3 lu1 ko3 to1 de3 su3 . 101 | DUMMY/wavs/natsume/natsume_3032.wav|0|jp|ŋ1 a3 Q,ha1 a3 Q,ha1 a3 Q......mo1 o3 ,na1 ŋ3 da3 lo3 ......ŋ1 Q,ŋ1 ŋ3 ŋ3 Q. 102 | DUMMY/wavs/natsume/natsume_0727.wav|0|jp|jya1 a3 ,wa3 ta1 xi1 wa1 fu3 lo1 a3 ni3 de1 lu3 ka3 la3 . 103 | DUMMY/wavs/paimon/400400463.wav|1|ch|ba1 ba1 la1 , wo3 mən you3 ʃi4 xyaŋ3 wən4 ni3 ! 104 | DUMMY/wavs/paimon/202200425.wav|1|ch|, ni3 kæn4 na4 kə1 ʃu4 xyaŋ4 bu4 xyaŋ4 xin1 hai3 zai4 jin3 naŋ2 li3 xiə3 də ? 105 | DUMMY/wavs/paimon/400500477.wav|1|ch|zən3 mə lə ? qi2 guai4 də doŋ1 xi1 ʃi4 ʤi3 ʃən2 mə ? 106 | DUMMY/wavs/paimon/400500590.wav|1|ch|duei4 , na4 byæn1 də ji1 guæn1 jyou4 jyao1 gəi3 ni3 la ! 107 | DUMMY/wavs/natsume/natsume_2121.wav|0|jp|a1 Q......ŋ1 Q,so3 le1 ......a1 Q!a1 a3 ,ha1 a3 ,ha1 a3 ,ha1 a3 a3 ......o1 Qpa3 i3 ,xi3 bi1 le1 le3 lu3 . 108 | DUMMY/wavs/paimon/200600050.wav|1|ch|duei4 bu4 qi3 , də you1 mo4 gæn3 you3 ʃi2 hən3 guai4 … 109 | DUMMY/wavs/paimon/201200523.wav|1|ch|ta1 qi2 ʃi2 ʤi3 ʃi4 juə2 də ʤə4 yaŋ4 xya4 qu4 yao4 mæn2 bu2 ʤu4 lə ba … 110 | DUMMY/wavs/natsume/natsume_7077.wav|0|jp|ha1 i3 .ki3 li1 ka3 sa3 ma3 wa3 te3 e1 ki1 te3 ki3 ni3 byo3 o1 i1 ŋ1 ni1 ka3 yo1 wa1 le1 te1 i3 lu1 no3 de1 xi1 ta1 ne3 ? 111 | DUMMY/wavs/natsume/natsume_2327.wav|0|jp|na1 ŋ3 da3 ka3 ,cu3 ka1 le1 te1 na3 i3 ? 112 | DUMMY/wavs/paimon/300200471.wav|1|ch|nuo4 ai4 ər3 ʤə4 ʃi4 yao4 … yi4 kou3 qi4 quæn2 bu4 kæn3 duæn4 ma ! 113 | DUMMY/wavs/natsume/natsume_7574.wav|0|jp|ha1 i3 ,ma1 su3 ta3 a3 ......mo3 qi1 lo3 ŋ3 ,to3 te1 mo1 ki3 mo1 qi1 i1 i3 ,su1 Q.bu3 ŋ1 se1 ki1 o1 ,o3 sa1 e1 ta3 la3 ......yo3 ke1 e1 ......a3 ta1 ma1 ga3 ......ka3 i1 la1 ku1 de1 ,i1 Qpa3 i3 ni3 ......fu1 a3 ,a1 Q,ha1 a3 Q......a3 a1 a3 Q! 114 | DUMMY/wavs/natsume/natsume_1324.wav|0|jp| 115 | DUMMY/wavs/natsume/natsume_5287.wav|0|jp|ŋ1 u3 ......ko3 no1 cu3 ku1 yo1 mi1 wa1 ......ma1 su3 ta3 a3 no3 se3 e1 te1 ki1 xi3 ko1 o1 e1 ka3 ŋ1 pe1 ki1 ni1 sa3 sa1 lu3 ko3 i1 bi1 to1 ,de1 su3 ka3 la3 . 116 | DUMMY/wavs/paimon/400600558.wav|1|ch|wəi4 ——! da2 da2 li4 ya4 ! ni3 yao4 qu4 na3 ər2 a , bu2 huei4 ʃi4 xyaŋ3 tou1 tou1 lyou1 zou3 ba ! 117 | DUMMY/wavs/paimon/100700370.wav|1|ch|n2 , yə3 ʃi4 . yao4 xun2 ʤao3 qi1 ʃən2 , kə3 yi3 ta4 byæn4 qi1 guo2 . dæn4 wu3 bai3 nyæn2 qyæn2 huei3 miə4 də kæn3 ruei4 ya4 , xyæn4 zai4 yi3 jiŋ1 ʤao3 bu2 dao4 lə nə . 118 | DUMMY/wavs/natsume/natsume_4519.wav|0|jp|go3 ka1 i1 de1 su3 ka3 ? 119 | DUMMY/wavs/natsume/natsume_2110.wav|0|jp|ha3 ji1 me3 te3 ,ki3 mi1 no1 ho1 o3 ka3 la3 ki1 su3 xi3 te1 ku3 le1 ta1 . 120 | DUMMY/wavs/paimon/400700444.wav|1|ch|wo3 mən yi2 diŋ4 məi2 wən4 ti2 də la ! 121 | DUMMY/wavs/paimon/400200276.wav|1|ch|a1 bəi4 duo1 , yi3 yi1 ʤoŋ3 hən3 piŋ2 jiŋ4 də faŋ1 ʃi4 ʃəŋ1 qi4 lə nə … 122 | DUMMY/wavs/natsume/natsume_6410.wav|0|jp|hi1 a3 ......ŋ1 Q,ma1 su3 ta3 a3 ......a1 Q,a3 a1 a3 a3 a3 a3 a3 Q! 123 | DUMMY/wavs/paimon/201200184.wav|1|ch|bu4 guo4 tuo1 kə4 , ʤə4 li3 yv2 də gə4 tou2 hao3 xyaŋ4 yi3 jiŋ1 hən3 da4 lə , na4 ni3 yi3 qyæn2 jyæn4 guo4 də yv2 jyou1 jiŋ4 ʃi4 ʃən2 mə yaŋ4 də ? 124 | DUMMY/wavs/paimon/400200300.wav|1|ch|məi2 xyaŋ3 dao4 , tiŋ1 gu4 ʃi4 yə3 ʧəŋ2 lə ti3 li4 huo2 nə … 125 | DUMMY/wavs/natsume/natsume_5257.wav|0|jp|ko3 ko1 ga1 ,o3 mo1 i1 de1 no1 ba3 xyo1 ni1 fu3 sa1 wa1 xi1 i3 to3 o3 mo1 Qte3 i3 ma1 su3 . 126 | DUMMY/wavs/paimon/201600203.wav|1|ch|na4 hai2 ʤən1 ʃi4 , bu4 də2 lə , hən3 jin3 ji2 də qiŋ2 kuaŋ4 lə . 127 | DUMMY/wavs/paimon/300100070.wav|1|ch|… ba1 ba1 la1 xyao3 jiə3 guo3 ræn2 yi3 jiŋ1 li2 kai1 lə , tai4 hao3 lə . 128 | DUMMY/wavs/paimon/100400353.wav|1|ch|jin1 yv2 cao3 , lyæn2 pəŋ2 hə2 dou4 fu3 , dao4 di3 nəŋ2 zuo4 ʧu1 ʃən2 mə cai4 lai2 nə ? 129 | DUMMY/wavs/natsume/natsume_5408.wav|0|jp|ma1 su3 ta3 a3 ......wa3 ta1 xi1 no1 mu3 ne1 ,sa3 wa1 li1 ta1 i3 ŋ1 de3 su3 ka3 ? 130 | DUMMY/wavs/paimon/401101599.wav|1|ch|tiŋ1 qi3 lai2 hao3 ʤuæn1 yə4 də yaŋ4 zɪ ! duei4 lə , ni3 mən lyaŋ3 gə4 ji4 ræn2 dou1 xi3 huæn1 xyao3 ʃuo1 , yao4 bu4 yao4 ʃi4 ʤə yi4 qi3 ʧuaŋ4 zuo4 ? ʃuo1 bu4 diŋ4 hai2 nəŋ2 gai3 byæn4 daŋ1 jin1 dao4 qi1 də wən2 tæn2 ju2 ʃi4 nə . 131 | DUMMY/wavs/natsume/natsume_1616.wav|0|jp|fu1 u3 Q,fu1 u3 Q......ŋ1 Q,ŋ1 ŋ3 ŋ3 ŋ3 ŋ3 ŋ3 ......QQ! 132 | DUMMY/wavs/natsume/natsume_5957.wav|0|jp|la1 i3 ba3 lu3 ga3 i3 xya3 de3 a3 lu3 so3 xi1 e1 ta1 to1 li1 e1 su3 te3 wa3 ,wa3 ta1 xi1 no1 so3 ŋ1 za1 i1 o1 cu3 ka1 Qte1 le1 e3 va3 a3 ku3 u3 ze3 ŋ3 a3 a3 ge3 e3 no3 i3 me1 e1 ji1 da1 u3 ŋ3 o3 ka3 ŋ1 ga1 e3 te3 i3 ma1 su3 . 133 | DUMMY/wavs/natsume/natsume_2282.wav|0|jp|da3 me1 to3 i3 u1 ka3 ,i3 ya1 na3 no3 .ha3 zu1 ka1 xi1 i3 su3 ga1 ta1 i1 Qpa3 i3 mi1 la3 le3 te3 .ha3 zu1 ka1 xi1 i3 ko3 to1 i1 Qpa3 i3 i3 Qqya1 Qte1 . 134 | DUMMY/wavs/paimon/201600190.wav|1|ch|məi2 guæn1 xi4 ! jyao4 xun4 lə yv2 rən2 ʤoŋ4 , jyou4 ʃi4 hao3 ʃi4 ! 135 | DUMMY/wavs/natsume/natsume_5281.wav|0|jp|fa1 a3 ......a1 Q,so3 ko1 ,bi3 ŋ1 ka1 ŋ1 ......ŋ1 u3 ,ya1 Q,so3 ŋ1 na1 ni1 ,sa3 wa1 la1 le1 ta1 la3 ......a1 Q! 136 | DUMMY/wavs/natsume/natsume_1734.wav|0|jp|ha3 i1 ha3 i3 ,ya3 li1 ma1 su3 yo3 o3 . 137 | DUMMY/wavs/natsume/natsume_7415.wav|0|jp|ma1 a3 ......ho3 ŋ1 to1 o1 ni1 ke3 e1 sa1 ŋ1 da1 ke1 na1 la1 ,to3 ku1 ka1 xi3 ta1 su3 u1 pa1 a1 ko1 ŋ1 pyu1 u3 ta3 a3 ni3 ka3 na1 wa1 na3 i3 me3 ŋ1 mo1 a3 li1 ma1 su3 ga3 ...... 138 | DUMMY/wavs/paimon/500100205.wav|1|ch|ai1 ? kə3 ʃi4 , wo3 ji4 də tə4 wa3 lin2 ʧu1 ʃi4 də ʃi2 hou4 , ʃi4 zai4 ji3 bai3 nyæn2 qyæn2 … 139 | DUMMY/wavs/paimon/400400677.wav|1|ch|ʃən2 mə ma ! hən3 də2 yi4 də yaŋ4 zɪ ! 140 | DUMMY/wavs/natsume/natsume_3533.wav|0|jp|ko3 qi1 la1 ko1 so3 ,yo3 lo1 xi1 ku1 o1 ne1 ga1 i1 xi1 ma1 su3 . 141 | DUMMY/wavs/natsume/natsume_4878.wav|0|jp|ha1 i3 ,ma1 su3 ta3 a3 .ta1 i3 o3 ŋ3 ga3 ,jyo3 o1 xyo1 o1 xi3 te1 i3 te1 ......ki3 mo1 qi1 yo1 ku3 na3 Qte3 mo3 la1 e1 te1 lu3 no3 ga1 ,wa3 ka1 li1 ma1 su3 . 142 | DUMMY/wavs/natsume/natsume_8286.wav|0|jp|za3 ŋ1 ne1 ŋ1 na1 ga3 la3 ,ta3 i1 mu1 to1 la1 be3 lu3 no3 li1 lo3 ŋ3 wa3 i3 ma1 da1 ni1 ka3 ŋ1 se1 e1 sa3 le1 te1 i3 ma1 se1 ŋ3 . 143 | DUMMY/wavs/natsume/natsume_7104.wav|0|jp|a3 Qsa1 li3 to3 xyo3 o1 ha1 i1 ga1 cu1 i3 te3 ,ta3 i1 he1 ŋ1 ni1 la3 ku1 na3 ta3 ta1 ka1 i1 ni1 na3 li1 ma1 su3 . 144 | DUMMY/wavs/natsume/natsume_4211.wav|0|jp|a3 la1 ta1 me1 ma1 xi3 te3 ,wa3 ta1 xi1 no1 ko3 to1 wa3 cu3 ku1 yo1 mi1 to1 o3 yo1 bi1 ku1 da1 sa1 i1 ,ma1 su3 ta3 a3 . 145 | DUMMY/wavs/paimon/202000032.wav|1|ch|dæn4 ʤə4 yə3 ʃi4 məi2 bæn4 fa3 də ʃi4 ba … 146 | DUMMY/wavs/paimon/400800869.wav|1|ch|ta1 ʤou1 wəi2 də rən2 yə3 ʃi4 ʤə4 mə xyaŋ3 də , dæn4 məi2 xyaŋ3 dao4 , cai2 guo4 lə bæn4 nyæn2 , ʤə4 jya1 dyæn4 jyou4 wu2 rən2 wən4 jin1 la ! 147 | DUMMY/wavs/paimon/202700104.wav|1|ch|a ? ni3 yao4 ba3 ʤə4 xiə1 faŋ4 jin4 nyou2 nai3 li3 ma ? 148 | DUMMY/wavs/paimon/400100196.wav|1|ch|lin2 ʃi2 ʃou1 roŋ2 dyæn3 ? ʃi4 na4 ʤoŋ3 da4 da4 də ʤaŋ4 pəŋ2 , paŋ2 byæn1 you3 rən2 kæn1 hu4 ? 149 | DUMMY/wavs/paimon/400100445.wav|1|ch|yvn3 ʃi2 də hə2 xin1 , yi2 diŋ4 jyou4 zai4 ʤə4 li3 fu4 jin4 ! 150 | DUMMY/wavs/paimon/200900163.wav|1|ch|mu4 pai2 … hao3 xyaŋ4 nəŋ2 miŋ2 bai2 bao3 wu4 wəi4 ʃən2 mə huei4 ʃi1 zoŋ1 lə . 151 | DUMMY/wavs/paimon/401000319.wav|1|ch|ʃən1 yvæn1 də jya1 huo ? næn2 dao4 ʃi4 … 152 | DUMMY/wavs/paimon/101401388.wav|1|ch|tyæn1 həi1 lə nə , bu4 ru2 zai4 məŋ2 də2 ʧəŋ2 li3 ʤuæn3 ʤuæn3 ba , yvn4 qi4 hao3 də hua4 ʃuo1 bu4 diŋ4 huei4 yv4 ʃaŋ4 æn4 yə4 yiŋ1 xyoŋ2 ? 153 | DUMMY/wavs/paimon/100700345.wav|1|ch|wo3 mən hə2 na4 jya1 huo da4 ʤæn4 lə yi1 fæn1 , ʃuo1 bu4 diŋ4 ta1 xyæn4 zai4 hai2 məi2 zou3 yvæn3 ? 154 | DUMMY/wavs/paimon/201900162.wav|1|ch|jyou4 ʃi4 ni3 ʃuo1 də li3 yi2 wən4 ti2 la . ʃi4 xi1 fəŋ1 qi2 ʃi4 tuæn2 də roŋ2 yv4 qi2 ʃi4 , wo3 mən ʤəŋ4 xyaŋ3 dyao4 ʧa2 yi1 wəi4 miŋ2 jyao4 ʃu1 bo2 tə4 · lao2 lun2 sɪ1 də guei4 zu2 . 155 | DUMMY/wavs/natsume/natsume_4836.wav|0|jp|wa3 ta1 xi1 wa1 ,ma1 su3 ta3 a3 no3 o3 ya1 ku1 ni1 ta3 te1 te3 i3 lu1 ŋ1 de3 su3 ne3 ? 156 | DUMMY/wavs/paimon/200500020.wav|1|ch|… n2 , ə4 , da4 gai4 you3 lyaŋ3 mi3 gao1 ! 157 | DUMMY/wavs/natsume/natsume_2438.wav|0|jp|le3 qya1 ,le3 lo1 ......le3 lu1 ŋ1 Q,qyu1 Q,qyu3 ku1 ,le3 qya1 le1 lo1 ,qyu1 Q,qyu3 lu1 ŋ3 158 | DUMMY/wavs/natsume/natsume_8326.wav|0|jp|qi3 ka1 la1 ka1 ge3 ŋ3 ni3 cu1 i3 te3 wa3 ......ŋ1 Q,qyu3 pa1 qyu3 pa1 ......ma1 su3 ta3 a3 no3 ma3 su1 ta1 a1 be1 e3 xyo3 ŋ3 o3 sa3 ŋ1 ko1 o1 ni1 xi3 te1 i3 ma1 su3 . 159 | DUMMY/wavs/natsume/natsume_7250.wav|0|jp|xyo3 o1 qi1 xi3 te1 i3 ma1 su3 . 160 | DUMMY/wavs/paimon/101403086.wav|1|ch|ta1 hə2 wo3 xyaŋ3 dao4 yi4 qi3 qu4 lə . 161 | DUMMY/wavs/natsume/natsume_4727.wav|0|jp|so3 le1 de1 ,xyo1 Qku3 o3 u3 ke1 ta3 ki3 li1 ka3 sa3 ma3 o3 o3 i1 e1 no1 qi1 ka3 ku3 ma3 de3 o3 ku1 Qta1 ----i3 u1 ko3 to1 de3 su3 ka3 . 162 | DUMMY/wavs/paimon/101400943.wav|1|ch|jyou4 ʃi4 ʤə4 gə4 ʃəŋ1 yin1 ! 163 | DUMMY/wavs/paimon/100600483.wav|1|ch|xyao3 ʃi4 yi1 ʤuaŋ1 ~ xyao3 ʃi4 yi1 ʤuaŋ1 ~ qyæn1 wæn4 ~ bu2 yao4 tai4 gæn3 xiə4 wo3 mən o2 ! 164 | DUMMY/wavs/natsume/natsume_5843.wav|0|jp|u1 ku3 u3 u3 u3 ......ŋ1 ku3 u3 ......ha1 a3 Q,a1 a3 a3 a3 a3 ...... 165 | DUMMY/wavs/paimon/400100135.wav|1|ch|ʤən1 qi2 guai4 … wo3 mən zuei4 hao3 xyao3 xin1 yi1 xiə1 . 166 | DUMMY/wavs/natsume/natsume_0045.wav|0|jp|na1 ŋ3 de3 so3 ko1 de1 ko1 e3 o3 a3 ge1 lu1 ? 167 | DUMMY/wavs/natsume/natsume_3712.wav|0|jp|so3 le1 ni1 wa1 do3 o1 i1 . 168 | DUMMY/wavs/paimon/500100019.wav|1|ch|kæn4 qyæn2 myæn4 , you3 hao3 duo1 mo2 wu4 ju4 ji2 zai4 yi4 qi3 lə ! 169 | DUMMY/wavs/natsume/natsume_1326.wav|0|jp|ŋ1 ŋ3 ?su3 zu1 ne3 sa3 ŋ3 ? 170 | DUMMY/wavs/natsume/natsume_3781.wav|0|jp|o3 to1 ko1 no3 hi3 to1 ni1 da3 i1 ji1 ni1 sa3 le1 te1 ,i3 ya1 ga3 lu3 o3 ŋ1 na1 no3 ko3 na3 ŋ3 te3 i3 na1 i1 to1 o3 mo1 u3 ke3 do3 ne3 . 171 | DUMMY/wavs/paimon/101000222.wav|1|ch|n2 ? wæn2 quæn2 məi2 you3 rən2 huei2 yiŋ4 , tuo1 ma3 pao3 dao4 na3 li3 qu4 lə ? 172 | DUMMY/wavs/paimon/202300585.wav|1|ch|wo3 juə2 də ʤə4 gə4 hao3 ! 173 | DUMMY/wavs/natsume/natsume_3856.wav|0|jp|ka3 ku1 su3 hi3 cu1 yo1 o1 mo1 na1 i3 xi3 ne3 . 174 | DUMMY/wavs/paimon/101000206.wav|1|ch|zoŋ3 juə2 də ni3 hao3 xyaŋ4 duei4 qyæn2 xyæn4 hən3 ʤi2 ʤuo2 … 175 | DUMMY/wavs/paimon/101403179.wav|1|ch|jin1 sə4 yæn3 jiŋ1 də xyæn1 rən2 ? dao4 di3 ʃi4 na3 yi1 wəi4 nə … 176 | DUMMY/wavs/natsume/natsume_7953.wav|0|jp|ha1 zu3 ki3 sa3 ŋ3 !? 177 | DUMMY/wavs/paimon/201700350.wav|1|ch|həi1 həi1 , xiə4 xiə4 ni3 də hao3 yi4 , bu4 guo4 bu4 yoŋ4 dæn1 xin1 la , lyæn4 jin1 tai2 də ʃi3 yoŋ4 yi3 jiŋ1 hən3 ʃu2 xi1 lə , duei4 ba ,? 178 | DUMMY/wavs/natsume/natsume_3360.wav|0|jp|ma1 a3 ......i3 ya1 ,de1 wa3 na1 i3 . 179 | DUMMY/wavs/natsume/natsume_3587.wav|0|jp|do3 o1 se1 ki3 zu1 ka3 le3 lu3 na3 la3 ,u3 na1 gi1 to1 ka1 cu3 ka1 e1 ba3 yo3 ka3 ----Qta3 . 180 | DUMMY/wavs/paimon/201100114.wav|1|ch|dæn4 zən3 mə xyaŋ3 dou1 bu2 ʃi4 ta1 bən3 rən2 , bi4 jiŋ4 ta1 kæn4 qi3 lai2 yi4 dyæn3 yə3 bu4 xyaŋ4 ʧaŋ2 qi1 rən3 ʃou4 ʤə2 mo2 də yaŋ4 zɪ … 181 | DUMMY/wavs/paimon/100700090.wav|1|ch|ʤə4 … ʤə4 ʤoŋ3 ʃi4 yə3 zuo4 də2 dao4 ma ? 182 | DUMMY/wavs/paimon/100500624.wav|1|ch|bu4 yoŋ4 gua4 wəi3 tuo1 la , ʤi3 ʃi4 hən3 xyao3 hən3 xyao3 də yi1 jyæn4 ʃi4 … 183 | DUMMY/wavs/paimon/200900192.wav|1|ch|məi2 cuo4 , wo3 yə3 ʃi4 ʤə4 yaŋ4 xyaŋ3 də ! 184 | DUMMY/wavs/natsume/natsume_1978.wav|0|jp|le3 ŋ1 la1 ku1 o1 mo3 la1 Qto1 ki3 wa3 ho3 ŋ1 to1 o1 ni1 bi3 Qku1 li3 xi3 ta1 ke3 do3 ......yo1 ka3 Qta3 ho3 ŋ1 to1 o1 ni1 . 185 | DUMMY/wavs/paimon/202400138.wav|1|ch|næn2 dao4 , ta1 xyaŋ3 yao4 ʧoŋ2 xyæn4 toŋ2 hua4 li3 də zuo4 fa3 …?! wəi4 lə ʧi4 guei3 ər2 zɪ4 wo3 xi1 ʃəŋ1 … 186 | DUMMY/wavs/paimon/202700670.wav|1|ch|hai1 , wo3 mən you4 jyæn4 myæn4 lə , qyæn1 li3 ! 187 | DUMMY/wavs/natsume/natsume_3816.wav|0|jp|so3 o1 ,za3 ŋ1 ne1 ŋ3 da3 ke3 do3 ......xi3 ka1 ta1 na1 i3 no3 ka1 na1 ? 188 | DUMMY/wavs/natsume/natsume_0527.wav|0|jp| 189 | DUMMY/wavs/natsume/natsume_0074.wav|0|jp|i3 ya1 da3 Qte3 le1 Qcu3 Qte3 xi3 ma1 xyo1 o3 Qte3 ko3 to1 de3 xyo3 o3 ? 190 | DUMMY/wavs/paimon/200200222.wav|1|ch|coŋ2 , coŋ2 gaŋ1 cai2 kai1 ʃi3 … 191 | DUMMY/wavs/paimon/401100928.wav|1|ch|na4 mə , jyou1 jiŋ4 ʃi4 ʃuei2 zai4 zuo4 huai4 ʃi4 nə ? 192 | DUMMY/wavs/natsume/natsume_1020.wav|0|jp|ho1 o3 . 193 | DUMMY/wavs/natsume/natsume_8167.wav|0|jp|ma1 su3 ta3 a3 no3 xya3 xi1 ŋ1 ......ma1 su3 ta3 a3 no3 xya3 xi1 ŋ1 ...... 194 | DUMMY/wavs/paimon/201300088.wav|1|ch|n2 , kæn4 qi3 lai2 ta1 də qiŋ2 xu4 hai2 tiŋ3 wən3 diŋ4 , yə3 xu3 kə3 yi3 ji4 xu4 tæn2 … 195 | DUMMY/wavs/natsume/natsume_6060.wav|0|jp|a3 lu1 i3 wa3 ,su1 de3 ni3 ho3 so1 ku1 sa3 le1 te1 i3 lu1 ka3 no1 o1 se1 e1 mo1 . 196 | DUMMY/wavs/natsume/natsume_7141.wav|0|jp|se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 ga3 li3 cu1 a1 ŋ1 xi3 ta1 mo3 Qto1 mo3 se3 e1 ko1 o1 li3 cu3 no3 ta3 ka1 i3 sa1 ku3 wa3 ,ma1 su3 ta3 a3 no3 mi3 ni1 ki3 ke1 ŋ1 ga1 o3 yo1 bu1 mo3 no1 de3 xi3 ta3 . 197 | DUMMY/wavs/paimon/202300221.wav|1|ch|gæn3 juə2 jyou4 xyaŋ4 zuo4 zai4 hua4 li3 yi1 yaŋ4 . 198 | DUMMY/wavs/paimon/101401048.wav|1|ch|wo3 mən zai4 waŋ3 qyæn2 zou3 yi4 dyæn3 ma ! zai4 hou4 myæn4 ʃən2 mə dou1 kæn4 bu4 qiŋ1 a . 199 | DUMMY/wavs/natsume/natsume_2080.wav|0|jp|da1 ka3 la3 ,kyo1 o3 mi1 ta3 i3 ni3 "o3 ka1 e1 li1 Qte1 i3 Qte1 mo3 la1 e1 ta1 no3 ga1 ......o3 mo1 Qta3 i1 jyo3 o3 ni3 ne3 . 200 | DUMMY/wavs/paimon/401101515.wav|1|ch|yi2 , duei4 o2 , wu3 laŋ2 ta1 zən3 mə tu1 ræn2 bu2 jyæn4 lə … 201 | DUMMY/wavs/natsume/natsume_7164.wav|0|jp|ma1 su3 ta3 a3 to3 wa3 ta1 xi1 de1 a1 le1 ba3 ,so3 o1 mu3 zu1 ka1 xi1 i3 ko3 to1 de3 wa3 na3 i3 ka3 to3 . 202 | DUMMY/wavs/natsume/natsume_2372.wav|0|jp|do1 o3 da3 lo3 ......?wa3 ta1 xi1 mo1 ze3 ŋ1 ze1 ŋ1 ,yo1 ku3 wa3 ka1 Qte1 na3 i3 ka3 la3 . 203 | DUMMY/wavs/paimon/202400570.wav|1|ch|næn2 dao4 toŋ2 hua4 gu4 ʃi4 li3 fa1 ʃəŋ1 də ʃi4 qiŋ2 ʃi4 ʤən1 də ma ? 204 | DUMMY/wavs/natsume/natsume_0972.wav|0|jp|ki3 ki1 ta1 i3 ke3 do3 ......mo3 o1 su1 gu3 ko1 o3 gi3 ga3 ...... 205 | DUMMY/wavs/natsume/natsume_8193.wav|0|jp|ha3 ji1 me1 ma3 xi1 te3 .cu3 ku1 yo1 mi1 to1 mo3 o1 xi1 ma1 su3 . 206 | DUMMY/wavs/paimon/400500762.wav|1|ch|bu4 guo4 qin2 tuæn2 ʤaŋ3 huei4 tə4 yi4 ʤun3 bəi4 xya4 ʤuaŋ1 , ʤən1 jyao4 rən2 yi4 wai4 ya . 207 | DUMMY/wavs/paimon/401000171.wav|1|ch|bu4 guo4 dao4 ʧu4 dou1 məi2 you3 kæn4 dao4 ta1 , ta1 jyou1 jiŋ4 zai4 na3 li3 nə ? 208 | DUMMY/wavs/paimon/400900024.wav|1|ch|ʤi4 yv2 wəi4 ʃən2 mə yao4 jyao4 wən3 ʃən2 mə də … wo3 yə3 bu4 doŋ3 … kə3 nəŋ2 ʃi4 ʃaŋ1 jya1 də hua1 ʤao1 ba , wəi4 lə raŋ4 ta1 gəŋ4 hao3 mai4 ! 209 | DUMMY/wavs/natsume/natsume_7376.wav|0|jp|ma1 su3 ta3 a3 mo3 ki3 mo1 qi1 yo1 ku3 ,na3 le1 lu3 yo1 o3 ni3 ......ŋ1 ŋ3 Q,na3 me1 ma1 su3 ......ŋ1 Q......le1 u3 u3 ,ji1 yu3 ......! 210 | DUMMY/wavs/paimon/202100297.wav|1|ch|lao3 bæn3 , wo3 mən huei2 lai2 la ! 211 | DUMMY/wavs/paimon/201100167.wav|1|ch|ʃu1 ʤoŋ1 ʃuo1 , yv3 mo2 ʃən2 yvæn4 nyæn4 dou4 ʤəŋ1 lə qyæn1 nyæn2 də yə4 ʧa1 mən , yə3 huei4 bəi4 yə4 ʤaŋ4 suo3 kun4 . 212 | DUMMY/wavs/natsume/natsume_1049.wav|0|jp|a1 a3 .a3 no1 ta1 ka1 i1 ya1 cu3 . 213 | DUMMY/wavs/paimon/100800473.wav|1|ch|ʤə4 wəi4 ʃi1 fu4 tiŋ1 qi3 lai2 hən3 li4 hai4 a , ʃi4 hən3 you3 miŋ2 də rən2 ma ? 214 | DUMMY/wavs/paimon/400300256.wav|1|ch|wu1 wa , ni3 xyæn1 biə2 ʤə4 mə ʧoŋ1 doŋ4 . dəŋ3 wo3 mən xyæn1 wən4 miŋ2 bai2 ʤə4 gə4 fu2 hao4 də lai2 li4 zai4 ʃuo1 ba . 215 | DUMMY/wavs/paimon/400500568.wav|1|ch|wəi4 lə bi4 myæn3 kə3 li4 ba3 yv2 ʤa4 dyao4 , lao1 yv2 hai2 ʃi4 jyao1 gəi3 wo3 mən ba . bi4 jiŋ4 , da3 lao1 cai3 ʤai1 ʃən2 mə də , wo3 mən yə3 ʃi4 lao3 ʃou3 lə nə . 216 | DUMMY/wavs/paimon/401101255.wav|1|ch|ni3 ʃi4 bu2 ʃi4 yv4 dao4 ʃən2 mə wəi1 xyæn3 lə cai2 bu4 nəŋ2 ʃuo1 ʤən1 hua4 ? ni3 bu2 yao4 pa4 , wu2 lun4 ʃi4 hai2 ʃi4 a1 bəi4 duo1 , ta1 mən dou1 ʃi4 hən3 li4 hai4 də ! 217 | DUMMY/wavs/natsume/natsume_3021.wav|0|jp|ha1 a3 ......ha1 a3 a3 ......su3 go1 i3 .na1 ka3 de3 ,ka3 ŋ1 ji1 la1 le1 lu1 ......hi1 ku3 hi3 ku3 Qte3 xi3 te1 lu3 ......ŋ1 Q!ŋ1 Q,ŋ1 ŋ3 ...... 218 | DUMMY/wavs/natsume/natsume_0434.wav|0|jp|ji3 cu1 wa3 wa3 ta1 xi1 mo1 ......do3 le1 gu1 la3 i3 na3 no3 ka1 ki3 ni1 na3 Qte1 lu3 . 219 | DUMMY/wavs/paimon/200600373.wav|1|ch|ʤə4 yaŋ4 ya , na4 kæn4 lai2 ʤə4 byæn1 yi3 jiŋ1 məi2 wo3 mən ʃən2 mə ʃi4 lə , na4 wo3 mən jyou4 xyæn1 zou3 la . 220 | DUMMY/wavs/paimon/202800184.wav|1|ch|na4 gə4 … zuei4 jin4 you3 ʃən2 mə yi4 ʧaŋ2 ma ? 221 | DUMMY/wavs/paimon/200800243.wav|1|ch|a ?! miŋ2 miŋ2 zai4 li2 yvə4 gaŋ3 yi1 goŋ4 cai2 hua1 dyao4 lə bu2 dao4 lyaŋ3 bai3 wæn4 mo2 la1 ! 222 | DUMMY/wavs/paimon/400400378.wav|1|ch|hao3 li4 hai4 , yi1 yæn3 jyou4 nəŋ2 kæn4 ʧu1 lai2 … 223 | DUMMY/wavs/paimon/101100564.wav|1|ch|hua4 ʃuo1 huei2 lai2 , ʃən2 zɪ ni3 wəi4 ʃən2 mə ʤi1 dao4 ʤə4 mə duo1 you3 guæn1 ləi2 dyæn4 jyaŋ1 jun1 də ʃi4 ? 224 | DUMMY/wavs/paimon/400100069.wav|1|ch|wo3 də ji4 xiŋ4 bi3 yæn3 li4 gəŋ4 hao3 ! bu4 guo4 , quə4 ʃi2 ʃi4 məi2 ʃən2 mə tə4 ʤəŋ1 nə … you2 qi2 duei4 bi3 ʃən1 paŋ2 ʤə4 wəi4 . 225 | DUMMY/wavs/natsume/natsume_2330.wav|0|jp|u1 ŋ3 .sa3 i1 xyo1 wa1 ya3 su1 ŋ3 de3 ta3 ko3 to1 o3 xi3 ŋ1 pa1 i1 sa3 le1 te1 . 226 | DUMMY/wavs/natsume/natsume_1197.wav|0|jp|ha1 a3 ...... 227 | DUMMY/wavs/paimon/200600218.wav|1|ch|qin2 , ni3 də ʃən1 ti3 guo3 ræn2 hai2 ʃi4 … 228 | DUMMY/wavs/paimon/400800196.wav|1|ch|xyaŋ3 qi3 lai2 lə , xyou1 xi1 ʃi4 wəi4 lə gəŋ4 hao3 di4 goŋ1 zuo4 ! yæn1 fəi1 ʃuo1 də ! 229 | DUMMY/wavs/natsume/natsume_1175.wav|0|jp|na1 ŋ3 te3 ne3 . 230 | DUMMY/wavs/paimon/100600225.wav|1|ch|yvæn2 lai2 ʃi4 ʤə4 yaŋ4 . na4 mə , xyæn4 zai4 da4 jya1 də faŋ2 yv4 faŋ1 æn4 ʃi4 ʃən2 mə ? 231 | DUMMY/wavs/natsume/natsume_1766.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 mo3 ,ke1 a3 xi3 te1 lu3 no3 ? 232 | DUMMY/wavs/paimon/400700787.wav|1|ch|yao4 ʃi4 ʃa1 taŋ2 hə2 a1 bəi4 duo1 yə3 zai4 jyou4 gəŋ4 hao3 lə … dæn4 ta1 lya3 sɪ4 hu1 bi3 jyao4 maŋ2 , bu4 yi2 diŋ4 huei4 ʧu1 xyæn4 … 233 | DUMMY/wavs/paimon/100300063.wav|1|ch|miŋ2 miŋ2 qi2 ta1 qi2 ʃi4 dou1 zai4 xin1 ku3 di4 da3 sao3 ʤæn4 ʧaŋ3 … 234 | DUMMY/wavs/natsume/natsume_7965.wav|0|jp| 235 | DUMMY/wavs/paimon/100900252.wav|1|ch|ʃi4 a , gæn3 juə2 wai4 guo2 rən2 zai4 dao4 qi1 , ʤi3 ʃi4 ʃəŋ1 cun2 jyou4 yi3 jiŋ1 hən3 næn2 lə … 236 | DUMMY/wavs/natsume/natsume_6334.wav|0|jp|a3 no1 ......ma1 su3 ta3 a3 to3 no3 ,e1 Qqi3 no3 o3 mo1 i1 de1 o1 ......ta3 xi1 ka1 me1 na1 ga3 la3 ,xi3 te1 i3 lu1 no3 de3 ......ŋ1 ŋ3 ......xi3 ŋ1 pa1 i1 de1 ...... 237 | DUMMY/wavs/natsume/natsume_4691.wav|0|jp|so3 le1 wa1 ,su3 te1 o1 ke1 ma1 se1 ŋ3 ne3 . 238 | DUMMY/wavs/paimon/202700398.wav|1|ch|hao3 bu4 roŋ2 yi4 yæn4 xya4 qu4 lə … wo3 də nao3 dai4 yi2 pyæn4 koŋ4 bai2 … 239 | DUMMY/wavs/paimon/401200277.wav|1|ch|hao3 , jiə1 xya4 lai2 zai4 qu4 ʤao3 biə2 rən2 wən4 wən4 ba . wən4 guo4 sɪ1 lu4 qi2 tə4 də rən2 、 coŋ2 min2 ʃəŋ1 juə2 du4 ʧu1 fa1 də rən2 … xya4 yi1 bu4 , jyou4 qu4 wən4 wən4 na4 xiə1 kou3 ʃə2 tyao1 ti1 də rən2 ba . 240 | DUMMY/wavs/natsume/natsume_3262.wav|0|jp|ma1 Qte3 .ma1 e3 ni3 mo3 ki1 ta3 ko3 to1 a1 lu3 no3 ? 241 | DUMMY/wavs/paimon/200800164.wav|1|ch|ba3 wəi4 ʤi4 ji4 xya4 lai2 , dəŋ3 huei4 ər raŋ4 fəi1 yvn2 ʃaŋ1 huei4 də rən2 ba3 ta1 yvn4 zou3 ba . 242 | DUMMY/wavs/natsume/natsume_5755.wav|0|jp|so3 le1 na1 la3 ,wa3 ta1 xi1 da1 Qte1 ......do1 ki3 do3 ki3 xi3 te1 ma1 su3 ......ma1 su3 ta3 a3 ......ŋ1 ŋ3 ,ta3 xi1 ka1 me1 te3 ku3 da1 sa1 i3 ...... 243 | DUMMY/wavs/paimon/400600233.wav|1|ch|na4 wo3 mən yə3 gæn3 kuai4 qu4 ʃou3 ʤu4 mi4 jiŋ4 də da4 mən2 ba ! 244 | DUMMY/wavs/paimon/400300042.wav|1|ch|tiŋ1 xun2 bu3 da4 yə2 ʃuo1 , zuei4 fæn4 dou1 xi3 huæn1 huei2 æn4 fa1 di4 dyæn3 kæn4 kæn4 . zuei4 fæn4 də xin1 li3 jyou4 ʃi4 ʤə4 yaŋ4 . 245 | DUMMY/wavs/paimon/400100261.wav|1|ch|ʤə4 li3 jyou4 ʃi4 kai3 sə4 lin2 suo3 ʃuo1 li2 məŋ2 də2 zuei4 jin4 də ʃi4 fa1 di4 dyæn3 , qiŋ1 quæn2 ʤən4 . 246 | DUMMY/wavs/natsume/natsume_8260.wav|0|jp|ko3 le1 ka1 la1 do1 no3 yo1 o3 na3 xyo3 o1 ga1 i1 ga1 a3 la1 wa1 le1 lu3 ka3 ,ma3 Qta1 ku1 wa3 ka1 li1 ma1 se1 ŋ3 ka3 la3 . 247 | DUMMY/wavs/natsume/natsume_4905.wav|0|jp|qyu1 le3 u1 u3 u3 ......ha1 a3 Q,ha1 a3 Q......sa3 ki1 ba1 xi1 li3 ga3 ,ku3 qi1 no1 na1 ka3 de3 ,a3 fu1 le1 te3 ......ha1 a3 Q,xi3 da1 le1 te3 xi3 ma1 i1 ma1 su3 ...... 248 | DUMMY/wavs/natsume/natsume_4308.wav|0|jp|ma1 su3 ta3 a3 to3 ~,ha3 cu1 de1 e3 to3 de3 su3 ~ 249 | DUMMY/wavs/natsume/natsume_5901.wav|0|jp|ka1 i3 to3 ga3 no3 zo1 mu1 no3 de1 a1 le1 ba3 ,wa3 ta1 xi1 mo1 bo3 Qqi1 me3 xi3 o3 ka3 ta1 le1 lu1 yo3 o1 do1 lyo3 ku3 xi3 ta1 i3 to3 o3 mo1 i1 ma1 su3 . 250 | DUMMY/wavs/paimon/400100573.wav|1|ch|hua4 ʃuo1 huei2 lai2 , wo3 mən na3 ʃi4 ər4 rən2 xyao3 duei4 , miŋ2 miŋ2 ʃi4 sɪ4 rən2 xyao3 duei4 a … 251 | DUMMY/wavs/natsume/natsume_1972.wav|0|jp|do1 o3 yu3 u3 i1 mi3 ? 252 | DUMMY/wavs/natsume/natsume_3085.wav|0|jp|de1 mo3 ,na1 ŋ3 de3 qyo3 ko1 le1 e1 to1 so1 no3 mo3 no3 jya3 na3 ku3 te3 ,qyo1 ko3 o3 cu3 ka1 Qta1 o1 ka3 xi3 da3 Qta3 ŋ1 da3 lo3 ? 253 | DUMMY/wavs/paimon/400700220.wav|1|ch|xuə3 di4 ʃaŋ4 də jyao3 yin4 hao3 næn2 ʤao3 , yi2 bu4 xyao3 xin1 jyou4 huei4 kæn4 lou4 nə … 254 | DUMMY/wavs/paimon/400900124.wav|1|ch|wa , duei4 lə na4 mə duo1 ʃuei3 dou1 məi2 ʧa2 juə2 , you1 la1 guo3 ræn2 hə1 duo1 lə . 255 | DUMMY/wavs/paimon/201800271.wav|1|ch|duei4 a ! ʃuo1 lə bu2 ʃi4 guei3 la , wəi4 ʃən2 mə bu4 ləŋ3 jiŋ4 xya4 lai2 tiŋ1 wo3 mən jiə3 ʃi4 . 256 | DUMMY/wavs/paimon/202100386.wav|1|ch|mo4 fəi1 ni3 yə3 xyaŋ3 ʧuæn1 qi2 guai4 də yi1 fu2 ? 257 | DUMMY/wavs/paimon/201000029.wav|1|ch|a , wo3 kə3 məi2 xyaŋ3 ʃən2 mə wai1 ʤu3 yi4 ! wo3 mən kuai4 ba3 ta1 huæn2 gəi3 ʤu1 lao3 bæn3 ba ! 258 | DUMMY/wavs/natsume/natsume_7623.wav|0|jp|ma1 su3 ta3 a3 ga3 me3 da1 cu3 no3 ga1 ni3 ga1 te1 to1 i3 u1 o3 ha1 na1 xi1 de1 xi1 ta1 ka3 la3 . 259 | DUMMY/wavs/natsume/natsume_4362.wav|0|jp|so3 le1 wa1 ha3 ŋ1 za1 i1 de1 su3 . 260 | DUMMY/wavs/natsume/natsume_5983.wav|0|jp|a3 le1 wa1 ,le1 e3 va3 a3 ku3 u3 ze3 ŋ3 a3 a3 ge3 e3 no3 e1 e3 je3 ŋ3 to3 de3 su3 . 261 | DUMMY/wavs/natsume/natsume_7151.wav|0|jp|wa3 ta1 xi1 wa1 ,zu3 Qto1 ma1 su3 ta3 a3 o3 mi1 te3 ki3 ma1 xi3 ta3 .da1 i3 su3 ki3 na3 ma1 su3 ta3 a3 o3 ...... 262 | DUMMY/wavs/paimon/201500476.wav|1|ch|ʧa2 lə bu4 ʃao3 xyæn4 suo3 , gai1 qu4 ʤao3 lao3 dai4 huei4 bao4 la . 263 | DUMMY/wavs/natsume/natsume_7168.wav|0|jp|kyu3 u1 mi1 li1 me1 e3 to3 lu3 pa3 la1 te1 e3 do3 de3 ,ko3 no1 cu3 ku1 yo1 mi1 no1 so3 o1 ko1 o1 wa1 ka3 ŋ1 cu1 u1 de3 ki1 ma1 se1 ŋ3 . 264 | DUMMY/wavs/natsume/natsume_4117.wav|0|jp|ki3 Qto1 ya3 mu1 ni1 ya3 ma1 le1 nu1 ji3 jyo1 o1 ga1 a1 lu3 ŋ1 da3 lo3 o3 ke3 do3 ,wa3 ta1 xi1 ka1 la1 le3 ŋ1 la1 ku1 su3 lu1 to1 ,ho1 la3 ,fu3 hi1 cu3 yo3 o3 ni3 kyo3 o1 xyu1 ku1 sa3 se1 so3 o3 de3 . 265 | DUMMY/wavs/natsume/natsume_3943.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 to3 de1 e3 to3 da3 Qta3 ŋ1 de3 xyo3 o3 ? 266 | DUMMY/wavs/natsume/natsume_3498.wav|0|jp|ŋ1 Q,u1 ŋ3 Q,la3 xi1 te3 ,na3 ka1 de1 la1 xi3 te3 ...... 267 | DUMMY/wavs/paimon/400700693.wav|1|ch|bu2 huei4 ba ? wo3 hai2 xyaŋ3 raŋ4 di4 ma3 wu1 sɪ1 baŋ1 maŋ2 lai2 ʤə ! 268 | DUMMY/wavs/natsume/natsume_6916.wav|0|jp|do1 o3 ya3 la3 ,bu3 ji1 ni1 o3 ha1 na1 xi1 de3 ki1 ta3 yo1 o3 de3 su3 ne3 ? 269 | DUMMY/wavs/paimon/201800274.wav|1|ch|biə2 hai4 pa4 , wo3 mən bu2 huei4 ba3 ni3 zən3 mə yaŋ4 də . 270 | DUMMY/wavs/natsume/natsume_4962.wav|0|jp|ko3 ku1 ho1 o1 sa1 ŋ1 ,a3 na1 ta3 wa3 ......! 271 | DUMMY/wavs/natsume/natsume_0006.wav|0|jp|QQ. 272 | DUMMY/wavs/paimon/300500038.wav|1|ch|məi2 you3 ai1 . 273 | DUMMY/wavs/natsume/natsume_5468.wav|0|jp|ma1 su3 ta3 a3 ......ŋ1 ŋ3 u3 Q,wa3 ta1 xi1 mo1 Q,wa3 ta1 xi1 mo1 i3 ki1 ma1 su3 ...... 274 | DUMMY/wavs/paimon/201700245.wav|1|ch|dæn4 ʃi4 … ʤə4 duei4 ni3 də yæn2 jyou1 you4 you3 ʃən2 mə baŋ1 ʤu4 nə ? 275 | DUMMY/wavs/natsume/natsume_4619.wav|0|jp|a3 ta1 ma1 de3 wa3 na3 ku3 xi1 ŋ3 ta3 i3 de3 li1 ka3 i3 su3 lu1 ko3 to1 mo3 a3 li1 ma1 su3 . 276 | DUMMY/wavs/paimon/101100107.wav|1|ch|na4 wo3 mən jyou4 qu4 ʃi4 ʃi4 hao3 lə … xiə4 xiə4 ni3 la , xyao1 goŋ1 . 277 | DUMMY/wavs/natsume/natsume_6456.wav|0|jp|ha1 i3 . 278 | DUMMY/wavs/paimon/100500511.wav|1|ch|ai1 ! bu2 ʃi4 ʤə4 kuai4 ba , wo3 ji4 də ta1 də guaŋ1 zə2 məi2 you3 hən3 lyaŋ4 də yaŋ4 zɪ … 279 | DUMMY/wavs/paimon/101400758.wav|1|ch|wo3 mən ʤao3 ʤao3 kæn4 ba … wo3 juə2 də zai4 lu4 tai2 də kə3 nəŋ2 xiŋ4 bi3 jyao4 gao1 ! wu2 … ʤi4 ʃao3 bu4 kə3 nəŋ2 zai4 ʧu2 faŋ2 ʃao1 zao4 huo3 ba . 280 | DUMMY/wavs/paimon/101100366.wav|1|ch|suei1 ʃuo1 ʤə4 ʃi4 ta1 zuei4 you3 yiŋ1 də2 , dæn4 hai2 ʃi4 you3 xiə1 gæn3 kai3 . 281 | DUMMY/wavs/natsume/natsume_5401.wav|0|jp|ma1 su3 ta3 a3 ni3 ,so3 no1 hyo3 o1 jyo1 o3 o3 sa3 se1 te1 i3 lu1 no3 ga1 ji3 bu1 ŋ1 da1 to1 o3 mo1 u3 to3 ......xi3 a1 wa1 se1 na1 ki3 mo1 qi1 ni1 na3 li1 ma1 su3 . 282 | DUMMY/wavs/natsume/natsume_5165.wav|0|jp|ha1 i3 !ha1 i3 !ze1 hi3 ! 283 | DUMMY/wavs/natsume/natsume_5777.wav|0|jp|ha1 a3 ,fu1 u3 ......lu1 lu3 ......mu3 ne1 de3 cu3 yo1 ku3 xi3 go3 ku3 to3 ......ŋ1 ŋ3 ,ma1 su3 ta3 a3 no3 ,pe1 ni3 su3 ......u3 le1 xi1 so3 o3 ni3 ,ku3 qi1 bi1 lu1 ni1 su1 li3 su3 li3 xi3 te1 ku3 le1 ma1 su3 ne3 ......fu1 Q. 284 | DUMMY/wavs/paimon/201900336.wav|1|ch|you4 jyæn4 myæn4 lə , æn1 bai3 , wo3 mən ʤən1 ʃi4 you3 yvæn2 a . 285 | DUMMY/wavs/natsume/natsume_2887.wav|0|jp| 286 | DUMMY/wavs/natsume/natsume_4731.wav|0|jp|ha1 i3 .ke3 e1 sa1 cu1 ha1 Qpyo3 o3 de3 mo3 te3 lo1 li1 su3 to3 , 287 | DUMMY/wavs/natsume/natsume_3662.wav|0|jp|ŋ1 Q......le3 lo1 ,le3 lo1 Q......qyu1 Q,le3 lo1 o1 ŋ1 ...... 288 | DUMMY/wavs/natsume/natsume_7138.wav|0|jp|xyo3 o1 sa1 i1 wa1 ha3 bu1 ki1 ma1 su3 ga3 ......ji3 ŋ1 se1 e1 kyo1 o1 yu1 u1 sa3 i3 to3 no3 sa1 a3 ba3 a3 wa3 ,to3 li1 e1 su1 te1 i1 ka1 da1 i1 ga1 ku1 fu1 zo1 ku1 byo1 o3 i3 ŋ3 ni3 a1 lu3 to3 da3 ŋ1 te1 e1 i3 ta1 xi1 ma1 su3 . 289 | DUMMY/wavs/natsume/natsume_3573.wav|0|jp|o3 i1 xi1 ka3 Qta3 ......da3 ke1 ?ta1 ni3 ,na1 ni3 ka3 na1 i3 ?ko1 o3 ,ka3 la1 da1 ga1 mu1 zu3 mu3 zu3 su3 lu1 to1 ka1 . 290 | DUMMY/wavs/natsume/natsume_3488.wav|0|jp|ŋ1 ha3 a3 a3 ......a1 a3 a3 a3 a3 ~~......da3 me1 Qte3 ,i3 Qte1 lu3 no3 ni3 291 | DUMMY/wavs/natsume/natsume_1749.wav|0|jp|na1 ni3 ? 292 | DUMMY/wavs/natsume/natsume_5646.wav|0|jp|ku1 Qa1 a3 a3 ......a1 Q,nu3 ke1 te1 ......a1 a3 a3 ......a3 cu1 i3 no3 ,ko3 su1 le1 lu3 ......qi3 cu1 na3 i3 de3 ,ze1 ŋ3 bu3 ko3 su1 le1 te3 ,ma1 su3 ...... 293 | DUMMY/wavs/paimon/200500104.wav|1|ch|kæn4 , jyou4 ʃi4 ʤə4 —— mə ju4 da4 . 294 | DUMMY/wavs/paimon/400800707.wav|1|ch|caŋ2 yiŋ3 dəŋ1 ? ʃi4 məi2 tiŋ1 guo4 də doŋ1 xi1 nə ! 295 | DUMMY/wavs/natsume/natsume_2326.wav|0|jp|o3 hi1 lu3 ,i3 Qxyo1 ni1 ta3 be1 yo3 o3 .a1 to3 de3 le3 ŋ1 la1 ku1 su3 lu1 ka3 la3 . 296 | DUMMY/wavs/natsume/natsume_1868.wav|0|jp|ku3 wa1 xi1 ku3 wa3 ki3 i1 te1 na1 i1 ke3 do3 ,ta1 bu3 ŋ3 .mo3 to1 mo1 to1 ,so3 o1 yu1 u1 u1 ŋ3 me3 e3 da3 Qta3 Qte3 ko3 to1 ne3 . 297 | DUMMY/wavs/paimon/400700204.wav|1|ch|wa … hao3 duo1 luæn4 qi1 ba1 zao1 də za2 wu4 … li3 myæn4 yiŋ1 gai1 məi2 you3 yao4 ʃi ba ? 298 | DUMMY/wavs/paimon/201800199.wav|1|ch|wo3 gəŋ4 guæn1 xin1 wəi4 ʃən2 mə bu4 nəŋ2 ʤi2 jiə1 gao4 su4 da4 jya1 ʤən1 xyaŋ4 ! 299 | DUMMY/wavs/natsume/natsume_7227.wav|0|jp|sa1 a3 ,ki3 li1 ka3 sa3 ma1 mo3 kyo1 o3 wa3 a3 ŋ1 se1 e1 ni1 su3 lu1 hi3 cu1 yo1 o1 ga1 a3 li1 ma1 su3 xi3 ,ka3 e1 li1 ma1 xyo1 o3 ka3 . 300 | DUMMY/wavs/natsume/natsume_5326.wav|0|jp|ni3 ŋ1 ge1 ŋ1 no1 o3 ŋ1 na1 no3 ko3 mi3 ta3 i3 ni3 ......de1 su3 ka3 ? 301 | DUMMY/wavs/paimon/400700547.wav|1|ch|duei4 lə , gaŋ1 cai2 cai3 də kuaŋ4 yao4 quæn2 bu4 dai4 huei2 qu4 ma ? yao4 bu4 yao4 zai4 ʤə4 li3 xuæn3 yi1 xuæn3 , ba3 məi2 yoŋ4 də rəŋ1 dyao4 ? 302 | DUMMY/wavs/paimon/400400141.wav|1|ch|bu4 guo4 , gou1 gou1 guo3 hə2 pu2 goŋ1 yiŋ1 …? dou1 ʃi4 fəŋ1 ʤi1 hua1 ma ? 303 | DUMMY/wavs/natsume/natsume_6570.wav|0|jp|u3 le1 xi1 i3 ......ma1 su3 ta3 a3 ......wa3 ta1 xi1 ,xi3 a1 wa1 se1 de1 su3 . 304 | DUMMY/wavs/paimon/101100361.wav|1|ch|ʤə4 ʃi4 ʃən2 mə yæn1 hua1 a ! ər3 duo3 dou1 yao4 bəi4 ʤən4 dyao4 lə ! 305 | DUMMY/wavs/natsume/natsume_4116.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 ka3 la3 xi3 te1 mo3 la1 o1 o1 to1 o3 mo1 Qte3 . 306 | DUMMY/wavs/natsume/natsume_0194.wav|0|jp|so3 le1 ni1 ......da3 cu1 sa1 la1 xi3 te1 ka1 fe3 o3 e3 e1 gyo1 o1 xi3 te1 mo1 xi3 Qpa1 i1 xi3 ta1 la3 ......me1 mo3 a3 te1 la1 le1 na1 i1 . 307 | DUMMY/wavs/paimon/100900938.wav|1|ch|tu3 raŋ3 you3 bəi4 doŋ4 guo4 də hən2 ji4 … næn2 dao4 ʃuo1 ʃou3 dao3 xyæn1 ʃəŋ1 ʃi4 zai4 ʤə4 li3 mai2 caŋ2 lə ʃən2 mə bao3 bəi4 , cai2 yi4 ʤi2 lyou2 zai4 ʤə4 li3 də ma ? 308 | DUMMY/wavs/paimon/101300394.wav|1|ch|ʃən1 hə4 ni3 kæn4 , ʤə4 ʃaŋ4 myæn4 ji4 zai3 lə mi4 hua2 ʃi2 də xya4 luo4 nə , ʤi3 yao4 dao4 na4 byæn1 də hu2 ʤoŋ1 xin1 jyou4 kə3 yi3 ʤao3 dao4 lə ! 309 | DUMMY/wavs/natsume/natsume_8187.wav|0|jp|i3 i1 wa1 su1 le1 te1 i3 ma1 xi3 ta3 .ma1 su3 ta3 a3 ,o3 me1 de1 to1 o1 go1 za1 i1 ma1 su3 . 310 | DUMMY/wavs/natsume/natsume_5050.wav|0|jp|xyo3 ku1 i1 ŋ1 xi3 cu3 de3 no3 ka3 i1 wa1 ni1 yo3 le1 ba3 ----hi3 ga1 i1 jyo1 se3 e3 no3 hi3 to1 li3 ga3 ,ta3 ŋ1 ni1 ŋ1 kyo1 o3 xi3 ni3 so3 o1 da1 ŋ1 xi3 ta1 yo1 o3 de3 su3 ne3 . 311 | DUMMY/wavs/paimon/401100626.wav|1|ch|na4 wo3 mən ma3 ʃaŋ4 ʧu1 fa1 ba . 312 | DUMMY/wavs/natsume/natsume_1471.wav|0|jp|he3 e1 .ko3 ŋ1 bi1 ni1 de1 mo1 ,i3 lo1 i1 lo1 to1 qi3 ga1 u1 ŋ1 da3 . 313 | DUMMY/wavs/paimon/100900761.wav|1|ch|yvæn2 lai2 na4 gə4 lao3 tou2 zɪ hai2 you3 ʤə4 yaŋ4 də yi2 myæn4 … na4 hao3 ba . 314 | DUMMY/wavs/paimon/202200140.wav|1|ch|hao4 qi2 guai4 a , zoŋ3 gæn3 juə2 xin1 hai3 bu4 xyaŋ4 ʃi4 na4 ʤoŋ3 huei4 ʧi2 dao4 də rən2 … wo3 mən zai4 duo1 dəŋ3 yi1 huei4 ər ba . 315 | DUMMY/wavs/paimon/100700268.wav|1|ch|ər2 qiə3 , ʃən2 xyaŋ4 ʃou3 li3 … wo3 ji4 də … bən3 lai2 yiŋ1 gai1 pəŋ3 ʤə yi1 kə1 bao3 ʤu1 ba ? 316 | DUMMY/wavs/natsume/natsume_2123.wav|0|jp|ha1 a3 ,ha1 a3 ......ŋ1 ŋ3 Q!a1 Q......so3 ko1 wa1 ......hi1 u3 u3 Q!?hi1 Q,hi1 i3 i3 i3 ..................ŋ1 ŋ3 ŋ3 QQ! 317 | DUMMY/wavs/paimon/202300336.wav|1|ch|kə3 ʃi4 , xiə3 ʤə4 bən3 ʃu1 də rən2 dao4 di3 ʃi4 ʃuei2 , wəi4 ʃən2 mə yao4 ʤə4 yaŋ4 zuo4 ? ʤə4 jyæn4 ʃi4 … jyaŋ1 lai2 huei4 bu2 huei4 wəi1 xiə2 dao4 da4 jya1 də æn1 quæn2 ? 318 | DUMMY/wavs/natsume/natsume_2818.wav|0|jp|a1 Qta3 ka3 a3 ~ 319 | DUMMY/wavs/natsume/natsume_0433.wav|0|jp|mi1 le3 ba3 wa3 ka1 lu3 Qte3 ba3 .de1 mo3 so3 le1 ga1 ke3 ŋ1 ko1 o1 te3 ki3 na3 u3 cu1 ku1 xi1 sa3 o3 da3 xi1 te1 lu3 to3 o3 mo1 u3 . 320 | DUMMY/wavs/paimon/400200181.wav|1|ch|yv4 lyao4 ʤi1 wai4 də ma2 fæn2 ʃi4 , quə4 ʤi3 you3 wo3 mən nəŋ2 jiə3 juə2 . guo3 ræn2 hai2 ʃi4 yin1 wəi4 wo3 mən yvə4 lai2 yvə4 li4 hai4 lə ! 321 | DUMMY/wavs/natsume/natsume_0406.wav|0|jp|wa3 ka1 Qta3 .o3 ne1 ga1 i1 xi3 ma1 su3 . 322 | DUMMY/wavs/natsume/natsume_2918.wav|0|jp|pu1 a3 ,ha1 Q,ha1 a3 a3 Q......ha1 a3 a3 Q...... 323 | DUMMY/wavs/paimon/401000074.wav|1|ch|xyæn4 zai4 wən4 ti2 yə3 suæn4 ʃi4 yvæn2 mæn3 jiə3 juə2 lə . wo3 mən huei2 qu4 gao4 su4 ta1 ba . 324 | DUMMY/wavs/paimon/202800052.wav|1|ch|wa1 juə2 、 goŋ1 ʧəŋ2 、 bao3 zaŋ4 …, wo3 mən ʃi4 bu2 ʃi4 zai4 guei1 hua4 ʃu1 kæn4 guo4 ləi4 sɪ4 də doŋ1 xi1 ? 325 | DUMMY/wavs/natsume/natsume_6647.wav|0|jp|a1 Q,a1 Q......a1 ŋ3 Q,ha1 a3 Q,a1 Q,na1 ka3 a3 ,su3 le1 te3 ......ŋ1 u3 u3 ......! 326 | DUMMY/wavs/paimon/101401782.wav|1|ch|duei4 lə , xyao1 goŋ1 . duei4 ni3 lai2 ʃuo1 , yæn1 hua1 you4 ʃi4 ʃən2 mə nə ? 327 | DUMMY/wavs/natsume/natsume_1355.wav|0|jp|ta1 no3 hi3 to1 no1 he3 ya1 ni3 a3 ga1 lu1 da1 ke1 .so3 o1 o3 mo1 Qte3 ta3 ŋ1 da3 ke3 do3 ne3 ......o3 to1 ko1 no3 ko3 no3 he3 ya1 ni3 a3 ga1 lu1 no3 ,wa3 ta1 xi1 mo1 ha3 ji1 me3 te3 da3 xi1 . 328 | DUMMY/wavs/paimon/202800625.wav|1|ch|wo3 yə3 ʤə4 mə juə2 də ! hə2 qi1 xiŋ1 gao3 hao3 guæn1 xi4 , zoŋ3 bu2 ʃi4 ʃən2 mə huai4 ʃi4 ba ? 329 | DUMMY/wavs/natsume/natsume_2098.wav|0|jp|so3 o1 na1 i3 ke3 do3 .......su3 go1 ku3 ha3 zu3 ka3 xi3 i3 ka3 la3 . 330 | DUMMY/wavs/paimon/400600326.wav|1|ch|wo3 yao1 hao3 hao3 byao3 xyæn4 , kə3 bu4 nəŋ2 ʃu1 gəi3 yi2 gə4 xyao3 ʤi3 rən2 lə ! 331 | DUMMY/wavs/paimon/101100621.wav|1|ch|məi2 cuo4 məi2 cuo4 , ʤə4 dyæn3 rən2 hai2 ʃaŋ1 bu2 dao4 wo3 mən o2 ! 332 | DUMMY/wavs/natsume/natsume_7124.wav|0|jp|ma1 su3 ta3 a3 ......a1 ku3 se3 su3 ga3 xya3 da1 ŋ1 sa3 le1 ma1 xi3 ta3 . 333 | DUMMY/wavs/paimon/101403321.wav|1|ch|ʤə4 hao3 xyaŋ4 bu4 suæn4 ʃən2 mə ji4 ʃu4 ba ! 334 | DUMMY/wavs/natsume/natsume_1707.wav|0|jp|i3 la1 Qxya1 i1 ma1 se3 .a3 li1 ga3 to3 o3 go3 za1 i1 ma1 xi3 ta3 . 335 | DUMMY/wavs/natsume/natsume_5214.wav|0|jp|ko3 le1 i1 jyo3 o3 no3 ``o3 mo1 i1 de1 no1 xi3 na1 ,,wa3 a1 li1 ma1 se1 ŋ3 .zu3 Qto1 ta3 i1 se1 cu1 ni1 xi3 ma1 su3 . 336 | DUMMY/wavs/natsume/natsume_4135.wav|0|jp|su3 zu1 ne3 sa3 ŋ3 ,o3 ko1 lu3 to3 ki1 wa3 mo1 Qto3 a3 ka1 la1 sa1 ma1 ni1 o3 ko1 lu3 xi3 .mo3 o1 su1 ko1 xi3 yo3 o1 su1 o1 mi3 ma1 xyo1 o3 ka3 . 337 | DUMMY/wavs/paimon/400600421.wav|1|ch|xin1 yæn4 suo3 ʃuo1 də pəŋ2 you3 , ʃi4 xyaŋ1 liŋ2 hə2 bəi3 dou3 jiə3 ma ? 338 | DUMMY/wavs/paimon/200200274.wav|1|ch|məi2 cuo4 . æn4 yə4 yiŋ1 xyoŋ2 tai4 tu3 lə ! yiŋ1 gai1 huæn4 yi2 gə4 gəŋ4 ʧoŋ1 mæn3 luo2 mæn4 di4 kə4 qi4 xi1 də ʧəŋ1 hao4 . 339 | DUMMY/wavs/natsume/natsume_1120.wav|0|jp|mo1 xi3 ka3 xi3 te3 ,de1 e3 to3 ni3 sa3 so1 Qte1 lu3 cu3 mo1 li1 ? 340 | DUMMY/wavs/paimon/400700153.wav|1|ch|zai4 ʃuo1 , ni3 kən3 diŋ4 bu4 nəŋ2 ba3 gaŋ1 cai2 na4 xiə1 hua4 gao4 su4 qi2 ta1 məŋ2 də2 rən2 ya , ʃa1 taŋ2 hə2 di4 ma3 wu1 sɪ1 , ta1 mən dou1 hai2 bu4 ʤi1 dao4 ni3 də mi4 mi4 … 341 | DUMMY/wavs/natsume/natsume_3738.wav|0|jp|so3 ko1 Q,so3 ko1 Q,su3 go1 i3 Q,su3 go1 i3 i3 Q!ŋ1 a3 Q,a1 a3 a3 a3 a3 a3 a3 Q! 342 | DUMMY/wavs/paimon/300700754.wav|1|ch|wu2 wa , kuai4 pao3 ! 343 | DUMMY/wavs/natsume/natsume_4036.wav|0|jp|so3 o1 .ko3 ŋ1 go1 no1 ki3 se1 cu1 i1 be3 ŋ3 to3 ni3 cu1 i3 te3 to3 ka3 ,za3 Qku1 li3 344 | DUMMY/wavs/natsume/natsume_1865.wav|0|jp|ji1 ko3 de3 xi3 ŋ1 da1 to1 ki3 ni3 ne3 ,ta3 ma1 xi3 i3 no3 i3 qi1 bu3 ga3 qyo1 o3 to3 na1 Qte3 ko3 bo1 le1 o1 qi1 ta3 ŋ1 da3 Qte3 .da1 ka3 la3 ,wa3 ta1 xi1 wa1 ke1 Qko3 o3 a3 ya1 u1 i1 ŋ1 da3 Qte3 . 345 | DUMMY/wavs/natsume/natsume_4264.wav|0|jp|qi3 na1 mi1 ni1 ,ko3 no1 qyo3 o1 xyo1 ku1 ni1 wa1 se1 e3 lyo3 ku3 o3 zo3 o1 kyo1 o1 su3 lu1 se1 e3 bu3 ŋ3 ga3 ,a3 ŋ1 ze1 ŋ1 se3 Qxyu1 lyo3 u3 jyo3 o1 ge1 ŋ1 ma1 de3 i3 le1 te1 a3 li1 ma1 su3 . 346 | DUMMY/wavs/paimon/100900550.wav|1|ch|hai2 ʃi4 bəi4 fa1 xyæn4 lə ma ! 347 | DUMMY/wavs/natsume/natsume_0227.wav|0|jp|ka3 wa1 i1 i3 o3 ŋ1 na1 no3 ko3 ga3 ta3 yo1 Qte1 lu3 ŋ1 da3 ka3 la3 ,mo1 o3 qyo1 Qto3 ya3 lu1 ki1 o1 mi3 se1 te3 ku3 le1 te1 mo1 i1 i3 to3 o3 mo1 u3 ŋ1 da3 ke3 do3 . 348 | DUMMY/wavs/paimon/100600149.wav|1|ch|kuai4 qu4 sou1 ji2 cai2 lyao4 ! ʃi4 bu4 yi2 ʧi2 , roŋ2 hua2 fu4 guei4 zai4 dəŋ3 ʤə wo3 mən ! 349 | DUMMY/wavs/natsume/natsume_7826.wav|0|jp|ma1 a3 ,o3 ha1 ya1 i1 o3 cu1 ki1 da1 Qta1 no3 de1 su3 ne3 . 350 | DUMMY/wavs/natsume/natsume_4265.wav|0|jp|ma3 qi1 ga1 i3 na3 ku3 ,ba1 ki3 ba3 ki3 ni3 na3 li1 ma1 su3 . 351 | DUMMY/wavs/paimon/201600291.wav|1|ch|ʃuo1 bu4 diŋ4 ʤæn4 ju4 lə lu4 yə2 caŋ1 ku4 də huai4 dæn4 , jyou4 ʃi4 ta1 mən ! 352 | DUMMY/wavs/paimon/401101348.wav|1|ch|wa , hai2 you3 jyaŋ3 pin3 kə3 yi3 na2 , hao3 baŋ4 ya wu3 laŋ2 . 353 | DUMMY/wavs/paimon/400400494.wav|1|ch|o2 ! yv3 bəi4 ya3 tə4 li4 qi2 yi4 jyæn4 yi2 ʤi4 , fəŋ1 ʤi1 hua1 ʃi4 jyao4 wəi2 ləŋ3 mən2 quə4 you3 ʤə jyæn1 diŋ4 yoŋ1 hu4 ʤə3 də sai1 xi1 li4 ya4 hua1 ! 354 | DUMMY/wavs/paimon/200700168.wav|1|ch|ʃən2 mə ʃi2 hou4 byæn4 ʧəŋ2 fu4 ʃou3 lə … 355 | DUMMY/wavs/natsume/natsume_7229.wav|0|jp|ma3 su1 ta1 a1 la1 xi1 ku3 fu3 lu1 ma1 e3 ba3 mo3 ŋ1 da1 i1 na1 i1 ka3 to3 . 356 | DUMMY/wavs/natsume/natsume_4890.wav|0|jp|fu1 a3 a3 Q,su3 go1 i3 ,ta3 ku1 sa1 ŋ1 ......ŋ1 a3 a3 Q!do1 lo3 do3 lo3 xi3 te1 ,a3 cu1 ku3 te3 ......su3 go1 i3 de3 su3 ...... 357 | DUMMY/wavs/natsume/natsume_6969.wav|0|jp|ka3 xi1 ko1 ma1 li1 ma1 xi3 ta3 .ki3 li1 ka3 sa3 ma3 ,na1 ni3 ka3 go3 i1 li1 yo1 o1 na1 mo3 no1 ga3 a3 le1 ba3 o3 i1 te1 i3 ki1 ma1 su3 ga3 . 358 | DUMMY/wavs/paimon/202200334.wav|1|ch|hai3 qi2 dao3 ʃaŋ4 yiŋ1 gai1 yə3 you3 hən3 duo1 byæn4 hua4 ba ! bu4 ru2 wo3 mən xyæn1 qu4 fu4 jin4 ʤuæn3 ʤuæn3 ru2 hə2 ? 359 | DUMMY/wavs/paimon/100500688.wav|1|ch|ʤə4 li3 … məi2 you3 … na4 li3 yə3 məi2 you3 … 360 | DUMMY/wavs/natsume/natsume_6331.wav|0|jp|go3 ho1 o3 xi3 ......ga3 ŋ1 ba1 li1 ma1 su3 . 361 | DUMMY/wavs/natsume/natsume_0300.wav|0|jp| 362 | DUMMY/wavs/natsume/natsume_0840.wav|0|jp|so3 o1 yu1 u1 i1 mi3 jya3 na3 ku3 ne3 ,wa3 ta1 xi1 mo1 e1 ga3 o3 de3 se3 Qkya1 ku1 de3 ki1 lu3 yo1 o3 ni3 wa3 na1 Qta3 ----cu3 mo1 li1 de1 wa1 a1 lu3 . 363 | DUMMY/wavs/paimon/500200284.wav|1|ch|suei1 ræn2 zuei4 hou4 hai2 ʃi4 məi2 you3 ʤao3 dao4 ʧai1 zɪ jyou4 ʃi4 lə … 364 | DUMMY/wavs/natsume/natsume_0997.wav|0|jp|da1 ka3 la3 ki3 mo1 qi1 wa3 lu1 i3 Q!na1 ŋ3 de3 so3 ŋ1 na1 ki3 mo1 qi1 wa3 lu1 i3 ko3 to1 ba3 Qka3 li3 o3 mo1 i1 cu1 ku3 wa1 ke3 ? 365 | DUMMY/wavs/paimon/202500383.wav|1|ch|duei4 o2 , bi4 jiŋ4 hai2 ʃi4 xyao3 ʃuo1 . xi1 waŋ4 zuo4 ʤə3 ʃi4 gə4 hao3 rən2 , xi1 waŋ4 zuo4 ʤə3 ʃi4 gə4 hao3 rən2 , xi1 waŋ4 zuo4 ʤə3 ʃi4 gə4 hao3 rən2 … 366 | DUMMY/wavs/paimon/401101005.wav|1|ch|raŋ4 wo3 kæn4 kæn4 …《 cuei4 guaŋ1 pyæn1 》? dəŋ3 dəŋ3 , cuei4 guaŋ1 bu2 ʃi4 wu3 gə1 xyæn1 ʤi1 yi1 də miŋ2 zɪ4 ma ? 367 | DUMMY/wavs/natsume/natsume_4642.wav|0|jp|ma1 su3 ta3 a3 ......mo3 o1 xi1 wa1 ke1 a3 li1 ma1 se1 ŋ3 ,to3 la1 bu3 lu3 ga3 ha3 Qse1 e1 i3 ta1 xi1 ma1 xi3 ta3 . 368 | DUMMY/wavs/paimon/100800427.wav|1|ch|həi1 həi1 , məi2 you3 la , wo3 ʤi3 ʃi4 ba3 wo3 xyaŋ3 dao4 də ʃi4 gao4 su4 lə ər2 yi3 . 369 | DUMMY/wavs/paimon/100500207.wav|1|ch|wa … yi1 lu4 ʃaŋ4 tiŋ1 dao4 də li2 yvə4 fəŋ1 tu2 rən2 qiŋ2 , hən3 duo1 dou1 ʃi4 zai4 mou3 gə4 ʃi2 qi1 , ʃou4 dao4 guo4 ʃən2 liŋ2 bən3 rən2 də ʤi2 jiə1 guæn1 huai2 nə . 370 | DUMMY/wavs/natsume/natsume_4443.wav|0|jp|so3 no1 yo1 o3 ni3 xyo1 li3 sa3 le1 te1 i3 ma1 su3 . 371 | DUMMY/wavs/paimon/101100586.wav|1|ch|ʤən4 zuo4 yi4 dyæn3 … wo3 mən hai2 ʃi4 gæn3 kuai4 li2 kai1 ba , wo3 you3 … bu4 hao3 də yv4 gæn3 . 372 | DUMMY/wavs/paimon/100700470.wav|1|ch|a ! guo3 ræn2 you3 ʃən1 yvæn1 jyao4 tuæn2 də mo2 wu4 ! 373 | DUMMY/wavs/natsume/natsume_3523.wav|0|jp|so3 le1 wa1 ......be3 cu1 ni1 ,i1 i3 .wa3 ta1 xi1 mo1 ,no3 zo1 ŋ1 da1 ko3 to1 de3 mo3 a1 lu3 ka3 la3 . 374 | DUMMY/wavs/natsume/natsume_4512.wav|0|jp|ko3 no1 cu3 ku1 yo1 mi1 no1 de3 e1 ta1 be1 e3 su3 ni3 wa3 ,do3 o1 kyu1 u3 se3 e3 to3 i3 u1 i1 jyo3 o3 no3 ka3 ŋ1 ke1 e1 se1 e1 wa1 na1 i3 ,to3 ki1 lo3 ku3 sa3 le1 te1 i3 ta1 no3 de1 su3 ga3 ...... 375 | DUMMY/wavs/natsume/natsume_1459.wav|0|jp|so3 ŋ1 na1 ji1 lo3 ji3 lo3 mi1 na3 i3 de3 ku3 le1 ma1 su3 ?ha3 zu1 ka1 xi1 i3 ka3 la3 . 376 | DUMMY/wavs/paimon/400600357.wav|1|ch|xyao3 ʃi4 … da4 ʃi4 ? 377 | DUMMY/wavs/natsume/natsume_1255.wav|0|jp|de1 mo3 .sa1 Qki3 no3 mi1 ko3 no3 ha3 na1 xi1 wa3 ......yo3 i1 no3 i3 ki1 o1 i3 de3 wa3 na3 ku3 ,kyo1 o3 mi3 a1 lu3 . 378 | DUMMY/wavs/paimon/400100224.wav|1|ch|ni3 məi2 ʃi4 ba ? ʃi4 bu2 ʃi4 du4 zɪ ə4 də2 li4 hai4 ? 379 | DUMMY/wavs/natsume/natsume_8106.wav|0|jp|ka3 i1 se1 ki1 xi3 te1 mi3 ma1 su3 ka3 ? 380 | DUMMY/wavs/natsume/natsume_5931.wav|0|jp|ha1 i3 .le1 e3 no3 do3 o1 ga1 ga1 a3 Qpu1 lo1 o3 do3 sa3 le1 ta1 no3 wa1 ,qyo3 o1 do1 ki3 li1 ka3 sa3 ma3 o3 ji3 ta1 ku1 e1 o3 ku1 Qte1 i3 lu1 to1 ki3 de3 xi3 ta3 . 381 | DUMMY/wavs/natsume/natsume_3563.wav|0|jp|na1 ni3 ?qyu1 u3 ka3 no3 ki1 bu3 ŋ3 jya3 na3 ka3 Qta3 ? 382 | DUMMY/wavs/paimon/401200508.wav|1|ch|ta1 hao3 xyaŋ4 hən3 ʃou4 qi3 fa1 , kə3 ʧu2 yi4 hə2 yin1 yvə4 ʤən1 you3 goŋ4 toŋ2 dyæn3 ma ? 383 | DUMMY/wavs/paimon/401200299.wav|1|ch|ni3 ʃuo1 wo3 mən xyæn4 zai4 zai4 jyao4 ta1 , ta1 huei4 ʧu1 xyæn4 ma ? 384 | DUMMY/wavs/natsume/natsume_7100.wav|0|jp|wa3 ta1 xi1 wa1 ,ma1 su3 ta3 a3 to3 ,ma1 su3 ta3 a3 ga3 ta3 i1 se1 cu1 ni1 sa3 le1 te1 i3 lu1 ki3 li1 ka3 sa3 ma3 o3 ,ka3 na1 la1 zu1 o3 mo1 li3 xi3 ma1 su3 . 385 | DUMMY/wavs/paimon/400400028.wav|1|ch|bu4 guo4 , ʧən2 xi1 jyou3 ʤuaŋ1 ? sɪ4 hu1 hə2 gaŋ1 cai2 tiŋ1 jyæn4 də mou3 gə4 di4 miŋ2 bu4 tai4 yi1 yaŋ4 nə … 386 | DUMMY/wavs/paimon/401100153.wav|1|ch|dao4 qi1 you3 hao3 duo1 you3 yi4 sɪ1 də di4 faŋ1 , lyao4 tiŋ2 la , ʃən2 ʃə4 la , dou1 hən3 you3 tə4 sə4 , kə3 li4 xyaŋ3 qu4 na3 li3 nə ? 387 | DUMMY/wavs/paimon/202600486.wav|1|ch|kə3 ʃi4 , ʤou1 wəi2 ʃən2 mə dou1 məi2 you3 a ? 388 | DUMMY/wavs/natsume/natsume_4889.wav|0|jp|fu3 a1 a3 a3 Q,hya1 a3 ,ŋ1 Q......!a3 cu1 i3 ...... 389 | DUMMY/wavs/paimon/200200052.wav|1|ch|wu1 wa ! gaŋ1 gaŋ1 na4 ʃi4 ʃən2 mə ʃəŋ1 yin1 ! 390 | DUMMY/wavs/paimon/200600403.wav|1|ch|həi1 , bai4 tuo1 la ! 391 | DUMMY/wavs/paimon/201200149.wav|1|ch|kə3 ʃi4 , ni3 mən bu2 ʃi4 gaŋ1 fən1 kai1 məi2 duo1 jyou3 ma ? 392 | DUMMY/wavs/paimon/101200199.wav|1|ch|ai1 , ʤə4 gə4 faŋ2 jyæn1 məi2 you3 mən2 zu3 daŋ3 , kæn4 lai2 ʤoŋ1 yv2 kə3 yi3 qyæn2 waŋ3 ʤoŋ1 jyæn1 də na4 gə4 faŋ2 jyæn1 lə . 393 | DUMMY/wavs/natsume/natsume_6301.wav|0|jp|gu1 ŋ3 ta3 i3 de3 mo3 de3 te1 ko1 na3 ke3 le3 ba3 ,wa3 ta1 xi1 wa1 ma3 ke1 ma1 se1 ŋ3 . 394 | DUMMY/wavs/natsume/natsume_5429.wav|0|jp|ŋ1 u3 Q,fa1 a3 ......ma1 su3 ta3 a3 ...... 395 | DUMMY/wavs/natsume/natsume_8298.wav|0|jp|i3 wa1 le1 ta1 to3 o1 li1 no3 xyo1 li3 o3 o3 ko1 na1 i1 ma1 xi3 ta3 . 396 | DUMMY/wavs/natsume/natsume_6927.wav|0|jp|ho1 ŋ3 ji3 cu3 wa3 ki3 li1 ka3 sa3 ma3 no3 o1 he3 ya3 ni3 u3 ka1 ga1 u1 hi3 de1 wa1 ?na1 ze3 so3 no1 yo1 o3 ni3 xi3 ŋ1 ko1 ku1 so3 o3 na3 o1 ka3 o3 o3 ? 397 | DUMMY/wavs/natsume/natsume_0542.wav|0|jp|a3 le1 Qte1 ......a1 Q. 398 | DUMMY/wavs/paimon/200300024.wav|1|ch|æn1 bai3 , kæn4 duei4 myæn4 ! 399 | DUMMY/wavs/natsume/natsume_4184.wav|0|jp|ka3 ku1 pu1 la3 ŋ3 no3 ta3 Qse1 e1 li3 cu3 o3 sa3 ŋ1 xyu1 cu1 ......se3 e1 ko1 o1 li3 cu3 kyu1 u3 jyu3 u3 kyu3 u1 i1 jyo3 o3 o3 ka3 ku1 ni1 ŋ1 . 400 | DUMMY/wavs/natsume/natsume_4678.wav|0|jp|wa3 ta1 xi1 wa1 ,ka1 i3 to3 no3 ko3 to1 ga3 da1 i3 su3 ki3 de3 su3 . 401 | DUMMY/wavs/paimon/201500234.wav|1|ch|ta1 gən1 wo3 mən ʃuo1 qi3 lə kæn3 ruei4 ya4 də xyao1 ʃi1 yv3 ʃən2 miŋ2 mən də ʧəŋ2 fa2 … wo3 mən yə3 ʃi4 dao4 na4 ʃi2 cai2 ʤi1 dao4 , ʤə4 xiə1 ʃi4 yv3 wo3 mən yao4 ʤao3 də rən2 you3 guæn1 . 402 | DUMMY/wavs/natsume/natsume_0835.wav|0|jp|na1 ni3 mo3 ho1 ŋ3 ni3 ŋ3 no3 me3 no1 ma1 e3 de3 i3 wa1 na1 ku1 te1 mo1 .......wa3 ta1 xi1 da1 Qte1 ga3 ŋ1 ba1 Qte3 se3 cu1 me1 e1 o1 xi3 ta1 no3 ni3 . 403 | DUMMY/wavs/paimon/200700155.wav|1|ch|ai1 ai1 ——! rən2 ləi4 kə3 yi3 huo2 ʤə4 mə ʤaŋ3 ʃi2 jyæn1 ma ? 404 | DUMMY/wavs/paimon/100600059.wav|1|ch|ʃi4 a , ni3 jya3 sɪ3 də ʃi4 ʤən1 ʃi4 tai4 guo4 fən4 la ! da4 jya1 bæn4 ʤə yi2 ʃi4 yiŋ2 jiə1 ni3 , tu1 ræn2 tyæn1 ʃaŋ4 pa1 ji1 dyao4 xya4 yi1 tyao2 loŋ2 , ræn2 hou4 li2 yvə4 gaŋ3 jyou4 yi2 pyæn4 hun4 luæn4 , hai2 ʧa4 dyæn3 yin3 lai2 lə da4 zai1 huo4 ! 405 | DUMMY/wavs/natsume/natsume_0047.wav|0|jp|mi1 la3 le3 ta3 no3 ga1 ,xi3 ta1 gi1 su1 ga1 ta1 de1 na3 ke3 le3 ba3 ne3 . 406 | DUMMY/wavs/paimon/401000278.wav|1|ch|a1 qi2 xyao3 jiə3 jyou4 zai4 faŋ2 jyæn1 li3 myæn4 , bəi4 ta1 tiŋ1 dao4 wo3 mən bəi4 hou4 də yi4 lun4 , quə4 ʃi2 bu4 tai4 li3 mao4 ya . 407 | DUMMY/wavs/natsume/natsume_3843.wav|0|jp|ka1 lo3 li3 i3 ga3 ,ka1 lo3 li3 i3 ga3 ......,xi3 xyo1 ku1 wa1 ,mo1 o3 yu3 lu1 xi3 te3 ......,su3 u1 ,su3 u1 ...... 408 | DUMMY/wavs/natsume/natsume_4077.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 o3 ,zu3 Qto1 ga1 ma3 ŋ3 sa3 se1 te1 xi3 ma1 u1 wa1 ke3 ne3 . 409 | DUMMY/wavs/paimon/200900134.wav|1|ch|faŋ4 xin1 , wo3 hai2 ʃi4 hən3 xin4 də2 guo4 ni3 də ʃi2 li4 də ! 410 | DUMMY/wavs/natsume/natsume_2490.wav|0|jp|ma1 a3 ,o3 mi1 se1 ni1 ha1 i3 Qte3 ka3 la3 gu1 qi3 gu3 qi3 i3 Qte1 mo1 xi3 ka1 ta1 na1 i1 ke3 do3 . 411 | DUMMY/wavs/paimon/100300087.wav|1|ch|mai4 ʧaŋ4 də , ʤə4 tai4 wəi1 xyæn3 lə ! 412 | DUMMY/wavs/paimon/401100040.wav|1|ch|wo3 mən zai4 huei4 ʧaŋ3 ʤuæn3 ʤuæn3 ba , ʃuo1 bu4 diŋ4 hai2 nəŋ2 yv4 dao4 da4 jya1 nə . 413 | DUMMY/wavs/natsume/natsume_5357.wav|0|jp|ha1 a3 Q,ki3 mo1 qi1 i1 i3 de3 su3 ......yo1 su3 gi3 te3 ......wa3 ta1 xi1 ,o3 ka1 xi1 ku3 ......na1 Qte3 ,ma1 su3 ......!bi1 ku3 bi3 ku3 ,su3 lu1 no3 ga1 ......to3 ma1 la1 na1 ku1 te1 ...... 414 | DUMMY/wavs/natsume/natsume_3042.wav|0|jp|ŋ1 Q,u1 ŋ3 Q,ze3 ŋ1 ze1 ŋ1 ,ta3 ga1 e1 u3 ......hi1 Q,ku1 u3 u3 u3 ......a3 a1 a1 a1 a3 Q. 415 | DUMMY/wavs/paimon/400400176.wav|1|ch|kə3 ʃi4 , fəŋ1 ʤi1 hua1 jyou1 jiŋ4 ʃi4 na3 ʤoŋ4 hua1 ya ? 416 | DUMMY/wavs/natsume/natsume_5362.wav|0|jp|ha1 a3 ......ha1 a3 ......ma1 su3 ta3 a3 no3 se1 e3 e3 ki3 ......qi3 cu1 na3 i3 ni3 ,ta3 ku1 sa1 ŋ1 ......da3 sa1 le1 te1 lu3 no3 ,wa3 ka1 li1 ma1 su3 ...... 417 | DUMMY/wavs/natsume/natsume_6954.wav|0|jp|he3 ŋ1 kyo1 ku1 ya1 do3 o1 ga1 he1 ŋ3 xyu3 u3 no3 ta3 me1 no3 so3 fu1 to1 we1 a3 wa3 ,se3 ŋ1 e1 cu1 na1 ga3 la3 wa3 ta1 xi1 ga1 xi3 ŋ1 ki1 ka1 i3 ha3 cu3 sa3 se1 te1 i3 ta1 da1 ki1 ma1 xi3 ta3 . 418 | DUMMY/wavs/paimon/400700284.wav|1|ch|wəi4 ! ta1 ʃuo1 də hua4 wæn2 quæn2 məi2 you3 dao4 li3 ba , ni3 wəi4 ʃən2 mə bu4 pi1 piŋ2 ta1 a ! 419 | DUMMY/wavs/natsume/natsume_0447.wav|0|jp|so3 o1 na1 no3 ?da1 ka3 la3 ,su3 ko1 xi3 fu1 u3 mi3 ga3 qi3 ga1 u1 no3 ka1 ...... 420 | DUMMY/wavs/natsume/natsume_7688.wav|0|jp|i1 e3 ,to3 ke1 ma1 xi3 ta3 .ko3 le1 de1 mo3 ŋ1 da1 i1 na1 ku1 xyo1 li3 ga3 su3 su1 mu1 ha3 zu1 de1 su3 . 421 | DUMMY/wavs/natsume/natsume_3998.wav|0|jp|mu1 xi3 xi3 ma1 xyo1 o3 . 422 | DUMMY/wavs/natsume/natsume_3718.wav|0|jp|u1 u3 ......u1 u3 ......le3 lo1 ,le3 lo1 Q......ŋ1 ŋ3 ,ha1 a3 ,ha1 a3 ,le1 lo3 le3 lo3 le1 lo3 le3 lo3 . 423 | DUMMY/wavs/natsume/natsume_8222.wav|0|jp|wa3 ta1 xi1 no1 se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 to3 o3 na1 ji1 yo1 o3 na3 xi1 su3 te3 mu3 de3 su3 ne3 . 424 | DUMMY/wavs/natsume/natsume_3564.wav|0|jp|ŋ3 ŋ1 ......qyo1 Qto3 ne3 e3 . 425 | DUMMY/wavs/natsume/natsume_6976.wav|0|jp|wa3 ta1 xi1 wa1 o3 to1 na1 xi1 ku3 xi3 te3 i3 ma1 su3 no3 de3 ,do1 o3 zo3 yu3 Qku1 li3 . 426 | DUMMY/wavs/paimon/100300230.wav|1|ch|ni3 kæn4 tə4 wa3 lin2 fa1 huo3 də yaŋ4 zɪ , doŋ4 ʃou3 qyæn2 jyou4 huei4 bəi4 tə4 wa3 lin2 yi1 kou3 tun1 dyao4 ba ! 427 | DUMMY/wavs/natsume/natsume_2231.wav|0|jp|wa3 ta1 xi1 no1 ,na1 ka3 de3 ......a1 a3 ŋ3 Q,hi1 ku3 hi3 ku3 Qte3 ......ŋ3 Q,ŋ1 Q,ka3 ki1 ma1 ze1 la1 le1 lu3 wa3 ka1 lu3 ......a3 Qa1 Qa3 Q. 428 | DUMMY/wavs/natsume/natsume_7046.wav|0|jp|hi3 to1 cu3 ,go3 ho1 o3 ko3 ku3 ga3 a3 li1 ma1 su3 . 429 | DUMMY/wavs/natsume/natsume_4523.wav|0|jp|su3 mi1 ma1 se1 ŋ3 .yu3 u1 se1 ŋ1 jyu1 ŋ3 i3 no3 sa3 i1 se1 Qte3 e3 o3 o3 ko1 na1 i1 ma1 su3 . 430 | DUMMY/wavs/natsume/natsume_8026.wav|0|jp|wa3 ka1 li1 ma1 xi3 ta3 ! 431 | DUMMY/wavs/paimon/201700088.wav|1|ch|ʤə4 mə ʃuo1 , ni3 miŋ2 ʤi1 dao4 hə1 lə huei4 hən3 næn2 ʃou4 , ni3 hai2 ʃi4 ba3 ta1 hə1 lə ? 432 | DUMMY/wavs/paimon/101403200.wav|1|ch|ʃi4 qi1 tyæn1 ʃən2 xyaŋ4 ! 433 | DUMMY/wavs/natsume/natsume_6335.wav|0|jp|so3 le1 ni1 ,i1 ma3 wa3 ......ma1 su3 ta3 a3 ni3 go3 ho1 o3 xi3 ......xi3 te1 i3 ma1 su3 ka3 la3 ......go3 ma1 ŋ3 zo3 ku3 ,i3 ta1 da1 ki1 ta1 ku3 te3 ...... 434 | DUMMY/wavs/paimon/400400010.wav|1|ch|n2 n2 , tiŋ1 qi3 lai2 fa1 ʤæn3 də2 hən3 hao3 ya . 435 | DUMMY/wavs/paimon/100900146.wav|1|ch|suo3 yi3 ʃə4 fəŋ4 xiŋ2 yə3 ʃi4 sæn1 fəŋ4 xiŋ2 ʤi1 yi1 ma ? 436 | DUMMY/wavs/natsume/natsume_2748.wav|0|jp|su3 ki1 na3 hi3 to1 to1 su3 ke1 be3 na3 ko3 to1 xi3 ta1 ku3 na1 lu3 no3 mo1 ,fu3 cu1 u1 de1 xyo1 ? 437 | DUMMY/wavs/natsume/natsume_0700.wav|0|jp|o3 to1 ko1 no3 ko3 Qte3 ,he3 ya1 ni3 a3 ge1 ta1 la3 so3 no1 ki3 ni1 na1 Qte3 o3 so1 Qte3 ku1 lu3 ŋ1 de3 xyo3 ? 438 | DUMMY/wavs/natsume/natsume_3472.wav|0|jp|ŋ1 ŋ3 a3 a3 Q,ki3 mo1 qi1 yo1 ku3 Qte3 ,wa3 ta1 xi1 ,ba1 ka3 ni3 na1 li3 so1 o3 ......ŋ1 ŋ3 Q. 439 | DUMMY/wavs/paimon/100700184.wav|1|ch|wu2 , na4 ,, jyou4 wo3 mən lyaŋ3 gə4 rən2 qu4 wən4 wən4 kæn4 ba . 440 | DUMMY/wavs/paimon/401200441.wav|1|ch|yin1 wəi4 kə4 qiŋ2 kæn4 qi3 lai2 hən3 zɪ4 xin4 , you4 hən3 nəŋ2 gæn4 , gæn3 juə2 ʃən2 mə dou1 nəŋ2 zuo4 dao4 . 441 | DUMMY/wavs/paimon/400400125.wav|1|ch|o2 ! yv3 niŋ2 lu4 yi4 jyæn4 yi2 ʤi4 , fəŋ1 ʤi1 hua1 ʃi4 nəŋ2 ʤao4 lyaŋ4 həi1 æn4 də xyao3 dəŋ1 cao3 ! 442 | DUMMY/wavs/paimon/400300355.wav|1|ch|coŋ2 ʤə4 li3 qu4 li2 yvə4 gaŋ3 hən3 yvæn3 o1 , yə3 wai4 yə3 hən3 wəi1 xyæn3 də … duei4 ba , hən3 wəi1 xyæn3 də ! 443 | DUMMY/wavs/paimon/101402752.wav|1|ch|næn2 、 næn2 dao4 ʃuo1 , fəŋ1 yin4 li3 myæn4 you3 ʃən2 mə … 444 | DUMMY/wavs/paimon/200900030.wav|1|ch|hao3 ! ru2 guo3 nəŋ2 gou4 ba3 ʃən1 yvæn1 jyao4 tuæn2 jiə3 juə2 dyao4 də hua4 , də pai2 miŋ2 you4 huei4 ʃaŋ4 ʃəŋ1 yi4 dyæn3 ba . 445 | DUMMY/wavs/natsume/natsume_3258.wav|0|jp|so3 le1 ni1 ko3 no1 o3 mi1 se1 mo1 .o3 kya1 ku1 sa1 ŋ1 ,to3 Qte1 mo1 ta3 no1 xi1 so3 o3 da3 Qta3 mo3 no1 . 446 | DUMMY/wavs/paimon/400100010.wav|1|ch|mo4 na4 ! tuo1 ni3 də fu2 , wo3 mən qiŋ1 lə hao3 xiə1 yvn3 ʃi2 nə ! 447 | DUMMY/wavs/paimon/101300025.wav|1|ch|na4 wo3 mən lya3 dou1 məi2 you3 wən4 ti2 lə , ʃən1 hə4 you3 ʃən2 mə xyaŋ3 wən4 də ma ? 448 | DUMMY/wavs/paimon/101401942.wav|1|ch|ni3 ʃuo1 kæn3 ruei4 ya4 , næn2 dao4 … 449 | DUMMY/wavs/natsume/natsume_1464.wav|0|jp|ha1 mu3 ......ŋ1 mu3 ......u1 ŋ3 ,fu3 cu1 u1 ni1 o3 i1 xi1 i3 . 450 | DUMMY/wavs/natsume/natsume_6122.wav|0|jp|wa3 ta1 xi1 no1 xi3 yo1 o1 ni1 wa1 ,jyu3 u1 da1 i1 na1 ba1 gu3 ga3 a1 lu3 no3 ka1 mo3 xi3 le1 ma1 se1 ŋ3 . 451 | DUMMY/wavs/natsume/natsume_7215.wav|0|jp|o3 cu1 ka1 le1 sa1 ma1 de1 su1 ,ki3 li1 ka3 sa3 ma3 .go3 ki1 bu3 ŋ3 wa3 do1 o3 de3 su3 ka3 ? 452 | DUMMY/wavs/paimon/201200341.wav|1|ch|ʃi4 goŋ1 zɪ æn1 pai2 də rən2 ma ? 453 | DUMMY/wavs/natsume/natsume_6593.wav|0|jp|ma1 su3 ta3 a3 no3 mo3 ,mo1 o3 o3 Qki1 ku3 na3 Qte3 ma3 su3 xi3 ...... 454 | DUMMY/wavs/paimon/202300620.wav|1|ch|yiŋ1 gai1 ʃi4 gən1 xyao3 ʃuo1 you3 guæn1 də ba . 455 | DUMMY/wavs/paimon/101200122.wav|1|ch|yvæn2 lai2 ru2 cɪ3 … bu2 duei4 , wo3 qi2 ʃi2 zao3 jyou4 kæn4 ʧu1 lai2 lə , ni3 yi4 ʤi2 ʃi4 zai4 yiŋ4 ʧəŋ1 ər2 yi3 ! 456 | DUMMY/wavs/paimon/101200177.wav|1|ch|mo4 mo4 dəŋ3 dai4 ʤə zɪ4 ji3 xyao1 ʃi1 də qyou1 qyou1 rən2 mən … xi1 waŋ4 ta1 mən kə3 yi3 ru2 yvæn4 . 457 | DUMMY/wavs/paimon/100900464.wav|1|ch|gən1 ju4 ʃən2 li3 xyao3 jiə3 də qiŋ2 bao4 , di4 ər4 wəi4 bəi4 duo2 qu4 ʃən2 ʤi1 yæn3 də rən2 , hao3 xyaŋ4 ʃi4 yi1 wəi4 tyæn1 liŋ3 fəŋ4 xiŋ2 də wu3 ʃi4 … 458 | DUMMY/wavs/natsume/natsume_2693.wav|0|jp|ŋ1 ŋ3 ŋ3 ......ŋ1 ŋ3 Q!?ŋ1 Q,ŋ1 a3 Q!ku1 hi3 Q,ha1 a3 a3 a3 a3 a3 a3 ......... 459 | DUMMY/wavs/natsume/natsume_5223.wav|0|jp|to3 te1 mo1 u3 le1 xi1 ka3 Qta3 de3 su3 .to3 te1 mo1 ka3 ŋ1 ge1 ki1 xi3 te1 ,xi3 a1 wa1 se1 de1 xi1 ta1 . 460 | DUMMY/wavs/paimon/401101136.wav|1|ch|ʤən1 bu4 kuei4 ʃi4 a1 bəi4 duo1 , ta1 ʤə4 yaŋ4 yi1 jiə3 ʃi4 , li4 kə4 jyou4 raŋ4 you2 kə4 mən xin4 fu2 lə . 461 | DUMMY/wavs/paimon/202300109.wav|1|ch|duei1 、 duei1 duei1 duei1 duei1 mæn3 lə mo2 la1 ?! 462 | DUMMY/wavs/natsume/natsume_6254.wav|0|jp|to3 o1 te1 e1 ,u3 ke1 i1 le1 lu1 ko3 to1 wa3 de3 ki1 na3 i3 ka3 to3 . 463 | DUMMY/wavs/natsume/natsume_4989.wav|0|jp|a3 no1 ......ma1 su3 ta3 a3 ,po1 li3 xi3 i3 wa3 ......i1 i3 no3 de1 xyo1 o1 ka3 ? 464 | DUMMY/wavs/natsume/natsume_4369.wav|0|jp| 465 | DUMMY/wavs/natsume/natsume_2082.wav|0|jp|ha1 a3 ~......wa3 ta1 xi1 ,yo1 Qqya3 Qta3 ka3 mo3 . 466 | DUMMY/wavs/natsume/natsume_5439.wav|0|jp|i1 e3 ,so3 ŋ1 na1 ko3 to1 wa3 ...... 467 | DUMMY/wavs/paimon/401100804.wav|1|ch|ʃa1 luo2 zou3 lə . wo3 mən qu4 ʤao3 piŋ2 ʃæn1 byæn1 ji2 ʤaŋ3 yao4 zɪ1 lyao4 ba . 468 | DUMMY/wavs/paimon/200600159.wav|1|ch|wəi4 ʃən2 mə bao4 byao3 zai4 qin2 na4 li3 , ji4 ʤaŋ4 yə3 ʃi4 qin2 də goŋ1 zuo4 ma ? 469 | DUMMY/wavs/natsume/natsume_0023.wav|0|jp|zu1 i3 bu3 ŋ3 to3 da3 i1 ta1 ŋ3 na3 no3 zo1 ki1 mo1 i3 ta1 mo3 no1 ne3 . 470 | DUMMY/wavs/natsume/natsume_0373.wav|0|jp|u1 Q,u3 lu1 sa1 i3 na3 Q. 471 | DUMMY/wavs/paimon/400300273.wav|1|ch|məi2 guæn1 xi4 ! wo3 mən duei4 ʤə4 ʤoŋ3 ʃi4 kə3 ʃi4 hən3 zai4 haŋ2 də , ʤi1 qyæn2 yə3 baŋ1 guo4 hən3 duo1 ʤə4 yaŋ4 də maŋ2 , bi3 ru2 … 472 | DUMMY/wavs/natsume/natsume_7556.wav|0|jp|ko3 ku1 ho1 o1 sa1 ŋ1 ,so3 le1 wa1 ko3 ma1 li1 ma1 su3 . 473 | DUMMY/wavs/paimon/200200202.wav|1|ch|wu2 … qi2 ʃi4 tuæn2 yə3 you3 zɪ4 ji3 də ku3 ʤoŋ1 a . 474 | DUMMY/wavs/natsume/natsume_7378.wav|0|jp|a1 Q,a1 Q......ha1 a3 Q,qyu1 Q,qyu1 Q,ma1 su3 ta3 a3 ......fu3 gu1 li1 mo1 ,hi1 ku3 hi3 ku3 xi3 te1 ma1 su3 ......ŋ1 ŋ3 Q,xya3 se1 e1 xi1 so3 o3 ,na1 ŋ3 de3 su3 ne3 ......qyu1 Q...... 475 | DUMMY/wavs/natsume/natsume_1653.wav|0|jp|jya1 a3 ,o3 ya1 su1 mi1 . 476 | DUMMY/wavs/paimon/401100078.wav|1|ch|hao3 ni3 gə4 ʃən2 zɪ , dou1 yao4 ju3 bæn4 ji4 dyæn3 lə ni3 yə3 bu4 huei2 miŋ2 ʃən2 da4 ʃə4 , jiŋ4 ræn2 hai2 you3 goŋ1 fu1 zai4 ʤə4 ər2 ʤə1 təŋ2 ni3 də qiŋ1 xyao3 ʃuo1 ʃi4 yə4 . 477 | DUMMY/wavs/natsume/natsume_6464.wav|0|jp|de1 mo3 ......mu1 li3 na3 ŋ1 de3 su3 . 478 | DUMMY/wavs/natsume/natsume_1580.wav|0|jp|ma1 a3 ,ko3 ŋ1 na1 ki1 ka3 i3 wa3 me1 Qta3 ni3 na3 i3 ka3 la3 .ya1 Qte3 mi3 ta1 i3 ke3 do3 ...... 479 | DUMMY/wavs/natsume/natsume_4344.wav|0|jp|de1 wa3 ,ma1 zu3 pa1 ŋ3 cu3 ka3 la3 . 480 | DUMMY/wavs/paimon/202000582.wav|1|ch|gæn3 juə2 yi1 lu4 ʃaŋ4 , hao3 xyaŋ4 dou1 məi2 you3 ʃən2 mə wo3 mən ʃuo1 hua4 də ji1 huei4 . 481 | DUMMY/wavs/natsume/natsume_1243.wav|0|jp|u1 wa3 a3 ...... 482 | DUMMY/wavs/natsume/natsume_4234.wav|0|jp|jyu3 Qto3 ŋ3 o3 mo3 qi1 a1 ge1 lu1 wa1 ŋ3 lyo3 ku3 ,la3 i1 fu1 lu1 da3 ŋ3 ni3 ta3 e1 u1 lu3 kyo1 o3 do3 . 483 | DUMMY/wavs/natsume/natsume_6029.wav|0|jp| 484 | DUMMY/wavs/natsume/natsume_3905.wav|0|jp|ku3 li1 su1 ma1 su1 ge1 ŋ3 te3 e3 no3 jya3 na3 ku3 te3 ,i1 cu3 mo3 ha3 ŋ1 ba1 i1 xi3 te1 i3 lu1 ke1 e3 ki3 o3 ka3 i1 ni1 ki1 te3 ku3 le1 ta1 o3 kya1 ku1 sa1 ŋ1 mo1 o3 o1 ka3 Qta3 ŋ1 da3 ke3 do3 ...... 485 | DUMMY/wavs/natsume/natsume_5829.wav|0|jp|a1 Q,a1 a3 a3 Q!ma1 su3 ta3 a3 ,ma1 su3 ta3 a3 mo1 Q,ki3 mo1 qi1 i1 i3 ,de1 su3 ka3 ......?wa3 ta1 xi1 ,ko3 xi1 ga1 ......ŋ1 a3 u3 Q,ka3 Qte1 ni1 ,u3 go1 i3 qya3 Qte3 ...... 486 | DUMMY/wavs/natsume/natsume_7645.wav|0|jp|xyo3 o1 qi1 i3 ta1 xi1 ma1 xi3 ta3 . 487 | DUMMY/wavs/paimon/202500397.wav|1|ch|məi2 guæn1 xi4 la , gən1 wo3 mən lai2 , qu4 gə4 fəŋ1 jiŋ3 hao3 də di4 faŋ1 ni3 jyou4 ʤi1 dao4 lə . 488 | DUMMY/wavs/natsume/natsume_6615.wav|0|jp|fu1 a3 a3 ......ma1 su3 ta3 a3 Q,u3 le1 xi1 i3 ,su1 u3 ......a1 Q,a1 a3 Qa3 ŋ3 Q. 489 | DUMMY/wavs/natsume/natsume_0334.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 no3 ......o3 sa1 na1 na1 ji3 mi3 ? 490 | DUMMY/wavs/natsume/natsume_1476.wav|0|jp|a1 to3 wa3 a3 ji1 no1 ho3 o1 ko1 o1 se1 e1 ka1 ......ta1 ka3 mi1 ne3 ku3 ŋ3 wa3 do1 o3 ?do1 ko3 no3 ni3 ku1 ma1 ŋ1 ga1 su3 ki1 ? 491 | DUMMY/wavs/paimon/100500197.wav|1|ch|ʤə4 jyou4 ʃi4 you3 qyæn2 rən2 də ʃi4 jiə4 ma … 492 | DUMMY/wavs/paimon/100500614.wav|1|ch|na4 kə3 zən3 mə bæn4 , ʤə4 bu2 ʃi4 yi1 bi3 xyao3 ʃu4 mu4 … a , duei4 lə , goŋ1 zɪ sɪ4 hu1 gəi3 guo4 wo3 mən yi1 bi3 dyæn4 fu4 zɪ1 jin1 lai2 ʤə . 493 | DUMMY/wavs/natsume/natsume_2879.wav|0|jp|so3 le1 de1 wa3 o3 ki1 ma3 li3 ni3 na3 li1 ma1 xi3 ta3 la3 ,ko3 qi1 la1 no1 be1 lu3 de3 o3 yo1 bi1 ku1 da1 sa1 i1 .de1 wa3 ,xi3 cu1 le3 e3 i3 ta1 xi1 ma1 su3 . 494 | DUMMY/wavs/paimon/101200167.wav|1|ch|hao3 də , kai3 sə4 lin2 xyao3 jiə3 , na4 wo3 mən jyou4 doŋ4 ʃən1 la ! 495 | DUMMY/wavs/paimon/202500150.wav|1|ch|ni3 yao4 ʃi4 hən3 xi3 huæn1 ʧu1 lai2 wæn2 , xya4 cɪ4 wo3 mən zai4 lai2 yao1 qiŋ3 ni3 ! 496 | DUMMY/wavs/paimon/200500161.wav|1|ch|ʃuo1 dao4 laŋ2 , æn1 bai3 ni3 rən4 ʃi2 bən1 laŋ2 liŋ3 də næn2 hai2 ma ? 497 | DUMMY/wavs/natsume/natsume_0870.wav|0|jp|a3 ya1 ma1 la3 le3 lu3 ho3 do1 jya1 na1 i1 ka3 la3 ki3 ni1 xi3 na1 i3 de3 . 498 | DUMMY/wavs/paimon/201200254.wav|1|ch|ʤoŋ1 yv2 ʤu4 yi4 dao4 wo3 mən lə ma , goŋ1 zɪ gə1 gə1 ? 499 | DUMMY/wavs/paimon/201900183.wav|1|ch|wo3 yə3 ʃi4 ʤə4 mə xyaŋ3 də , yiŋ1 gai1 huei4 hən3 ʃun4 li4 ba ! 500 | DUMMY/wavs/natsume/natsume_2428.wav|0|jp|so3 le1 wa1 ......ma1 a3 .......to3 ki1 to3 ba3 a1 i1 o1 e3 la1 ŋ3 de3 ku3 le1 le1 ba3 ...... 501 | DUMMY/wavs/natsume/natsume_7494.wav|0|jp|da3 i1 jyo1 o3 bu3 de3 su3 .ko3 o1 ka1 i1 jyo1 o3 ho3 o3 o3 ka3 ku1 ni1 ŋ1 su3 lu1 da1 ke1 de1 su1 . 502 | DUMMY/wavs/paimon/202600518.wav|1|ch|na4 、 na4 wo3 mən hə1 bu2 dao4 ta1 pao4 də ʧa2 lə ma ? 503 | DUMMY/wavs/natsume/natsume_0570.wav|0|jp|a3 li1 ga3 to3 o3 go3 za1 i1 ma1 su3 Q. 504 | DUMMY/wavs/natsume/natsume_0698.wav|0|jp|na3 ŋ1 no1 ka1 ŋ3 no3 to3 li3 yu1 u1 o1 cu3 ke1 te3 ,he3 ya1 ma3 de3 a3 ga1 lo1 o1 to1 su3 lu1 no3 ka1 to1 o3 mo1 Qte3 ta3 . 505 | DUMMY/wavs/paimon/101200170.wav|1|ch|lyæn2 ʧi2 ʃuei3 dou1 ʃi4 dao4 ʤi4 də , hai2 ʤən1 ʃi4 qi2 jiŋ3 . 506 | DUMMY/wavs/paimon/100800030.wav|1|ch|na4 , hao3 ba … xi1 waŋ4 ni3 də ʃi1 xyoŋ1 piŋ2 æn1 wu2 ʃi4 , ni3 yə3 yao4 ʤən4 zuo4 qi3 lai2 ! 507 | DUMMY/wavs/natsume/natsume_3823.wav|0|jp|ko3 ŋ1 ba1 ŋ1 wa1 ,go3 me1 ŋ1 ,ko3 ŋ1 na1 ji3 ka1 ŋ1 ni1 . 508 | DUMMY/wavs/paimon/400400023.wav|1|ch|yi2 ! næn2 dao4 ʃuo1 , fəŋ1 ʤi1 hua1 bu2 ʃi4 zɪ4 ræn2 ʃəŋ1 ʤaŋ3 də ʤi2 wu4 , ər2 ʃi4 lyæn4 jin1 ʧæn3 wu4 ma ? 509 | DUMMY/wavs/paimon/200400216.wav|1|ch|li4 ʃa1 xyao3 jiə3 ! 510 | DUMMY/wavs/natsume/natsume_2773.wav|0|jp|ba1 to3 la3 a1 go3 to3 ka3 do1 o3 ka3 wa3 be3 cu1 to1 xi3 te1 ,a3 no1 ma3 ma1 de3 i1 i3 ŋ1 jya3 na3 i3 ka3 to3 o3 mo1 u3 ŋ1 da3 ke3 do3 . 511 | DUMMY/wavs/paimon/400200022.wav|1|ch|a ! faŋ4 dao4 ʃən2 mi4 də piŋ2 zɪ li3 lə ! 512 | DUMMY/wavs/natsume/natsume_6028.wav|0|jp|so3 le1 wa1 ,so3 o1 te1 e1 ga3 i3 de3 xi3 ta3 . 513 | DUMMY/wavs/paimon/200700003.wav|1|ch|hu1 ha1 … ʧi1 də2 hao3 bao3 . 514 | DUMMY/wavs/paimon/202800735.wav|1|ch|hu1 … zoŋ3 suæn4 bai3 tuo1 lə … 515 | DUMMY/wavs/natsume/natsume_8277.wav|0|jp|ma1 su3 ta3 a3 ga3 sa3 sa1 ya1 ku3 a1 i3 no3 ko3 to1 ba1 mo3 ,so1 fi3 a3 sa3 ma3 no3 a3 e1 gi1 go1 e3 mo3 ,be1 Qdo3 ga3 xi3 ŋ1 do1 o1 su3 lu1 o3 to1 mo3 ma3 lu1 gi1 ko1 e1 de1 su3 . 516 | DUMMY/wavs/paimon/100500341.wav|1|ch|ʤə4 yaŋ4 ya , hao3 yi2 hæn4 o2 . 517 | DUMMY/wavs/paimon/400500299.wav|1|ch|xyæn4 zai4 jyou4 yao4 qiŋ3 jya4 ma ? wo3 mən hai2 bu4 ʤi1 dao4 dao3 zai4 na3 li3 nə ! 518 | DUMMY/wavs/natsume/natsume_4767.wav|0|jp|ki3 o1 ŋ1 to1 xi1 cu3 do3 to3 ni3 sa1 ŋ1 ka1 ta1 ŋ1 so1 no1 o3 do3 na3 do3 ,ku3 u1 ki1 jyo1 o3 ta3 i3 o3 xi3 me1 su3 fu3 ku1 su1 u3 no3 pa3 la1 me1 e3 ta3 ga3 ka3 i1 te1 ki1 jyo3 o1 ke1 ŋ3 o3 mi3 ta1 xi3 te3 o3 li1 ma1 su3 . 519 | DUMMY/wavs/natsume/natsume_3934.wav|0|jp|o3 cu1 ka1 le1 sa1 ma1 . 520 | DUMMY/wavs/paimon/401100968.wav|1|ch|wu3 laŋ2 , ni3 kæn4 qi3 lai2 hao3 xyaŋ4 hai2 ʃi4 you3 dyæn3 jin3 ʤaŋ1 . 521 | DUMMY/wavs/paimon/400200400.wav|1|ch|hao3 ba hao3 ba , na4 jyou4 raŋ4 wo3 mən zou3 yi1 taŋ4 ba ! 522 | DUMMY/wavs/natsume/natsume_2920.wav|0|jp|ho3 ŋ1 to1 o1 ni1 da1 i3 su3 ki3 da3 ka3 la3 ,fu3 a1 ŋ1 ni1 mo1 na1 lu3 xi3 ......xi3 Qto1 mo1 su3 lu1 . 523 | DUMMY/wavs/natsume/natsume_2119.wav|0|jp|ya1 Q..................a1 Q!a1 QQ! 524 | DUMMY/wavs/paimon/202800111.wav|1|ch|tiŋ1 ʃaŋ3 qu4 ʃi4 gə4 hao3 rən2 nə ! ʤə4 xya4 wo3 mən kə3 yi3 faŋ4 xin1 lə . 525 | DUMMY/wavs/natsume/natsume_7044.wav|0|jp| 526 | DUMMY/wavs/natsume/natsume_4549.wav|0|jp|i3 ka1 ga3 de3 su3 ka3 ? 527 | DUMMY/wavs/paimon/101100346.wav|1|ch|jyou3 tyao2 ʃa1 luo2 ʤən1 də hən3 qi4 fən4 nə , kæn4 yaŋ4 zɪ cə4 fæn3 ʧəŋ2 goŋ1 lə . 528 | DUMMY/wavs/natsume/natsume_6013.wav|0|jp|wa3 ta1 xi1 mo1 ......fu3 xi1 gi1 na1 ka3 ŋ1 ka1 ku1 o1 a3 ji1 wa1 i1 ma1 xi3 ta3 . 529 | DUMMY/wavs/natsume/natsume_1308.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 to3 i3 Qxyo1 ni1 xi3 na1 i3 de3 ku3 le1 lu1 ?mi3 ko1 fu3 ku3 ni3 so3 ko1 ma1 de3 no3 o3 mo1 i1 i1 le1 wa1 na1 i1 ka3 la3 . 530 | DUMMY/wavs/natsume/natsume_0547.wav|0|jp|so3 o1 jya1 na1 ku1 Qte1 ,pa3 ŋ1 ke1 e3 ki3 no3 ko3 to1 . 531 | DUMMY/wavs/natsume/natsume_4648.wav|0|jp|hyo3 o1 ge1 ŋ3 wa3 to1 mo3 ka3 ku3 ,ji1 ji3 cu3 to3 xi3 te1 wa3 ta1 xi1 wa1 ......i1 e3 ,se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 wa3 ga1 i3 bu3 ka3 la3 ko3 o1 ge1 ki1 o1 u3 ke1 te3 i3 ma1 su3 . 532 | DUMMY/wavs/paimon/300100050.wav|1|ch|zoŋ3 gæn3 juə2 , ta1 bi3 wo3 mən xyaŋ3 xyaŋ4 ʤoŋ1 də gəŋ4 xin1 ku3 nə … 533 | DUMMY/wavs/paimon/201900364.wav|1|ch|wo3 juə2 də wo3 yiŋ1 gai1 dao4 qyæn4 , bu4 gai1 raŋ4 ni3 qu4 ʃi4 fæn4 də . wo3 bu4 ʤi1 dao4 da4 jya1 duei4 lao2 lun2 sɪ1 jya1 zu2 you3 ʤə4 mə da4 də yi4 jyæn4 … 534 | DUMMY/wavs/natsume/natsume_4994.wav|0|jp|ki3 li1 ka3 sa3 ma3 ,ta1 i3 o3 ŋ3 ga3 jyo3 o1 xyo1 o1 xi3 te1 i3 lu1 yo1 o3 de3 su3 ga3 ,ta3 i1 qyo1 o1 de1 mo1 wa3 lu1 i3 no3 de1 xyo1 o1 ka3 ? 535 | DUMMY/wavs/natsume/natsume_2083.wav|0|jp|go3 me1 ŋ1 .wa3 ka1 Qta3 ,kyo1 o3 wa3 to3 me1 to1 ku3 . 536 | DUMMY/wavs/paimon/201400322.wav|1|ch|a ? wəi4 ʃən2 mə yao4 rəŋ1 jin4 hai3 li3 ? 537 | DUMMY/wavs/natsume/natsume_4578.wav|0|jp|yo3 Qte1 a3 sa1 ku1 la1 ki1 li1 ka1 sa1 ŋ1 ,ki1 jyo3 ga3 sa3 ku1 la1 gi3 a3 ka1 li1 de1 a1 lu1 to1 i3 u1 ka3 se1 cu1 ni1 i3 ki1 cu1 i3 ta3 no3 de1 su3 . 538 | DUMMY/wavs/natsume/natsume_1271.wav|0|jp|go3 me1 ŋ1 . 539 | DUMMY/wavs/paimon/400100287.wav|1|ch|ʤə4 lyaŋ3 gə4 rən2 coŋ2 gaŋ1 cai2 kai1 ʃi3 jyou4 xyaŋ4 ʧaŋ4 ʃuaŋ1 huaŋ2 yi1 yaŋ4 … ʤu3 rən2 ʃən2 mi4 xi1 xi1 də , juæn4 ʃu3 quə4 ʃi2 bu4 ʃi2 ʧai1 tai2 , hao4 qi2 guai4 ! 540 | DUMMY/wavs/paimon/400200173.wav|1|ch|duei4 , ʤə4 yi1 dai4 də qyou1 qyou1 rən2 , bi3 ʃæn1 jyao3 xya4 na4 xiə1 qyou1 qyou1 rən2 qyaŋ2 bu4 ʃao3 nə . 541 | DUMMY/wavs/paimon/100700127.wav|1|ch|yoŋ4 tiə3 yv3 xuə4 qu4 ʤəŋ1 duo2 tu3 di4 ? kæn3 ruei4 ya4 rən2 ju1 ræn2 ʤə4 yaŋ4 li3 jiə3 gəŋ1 di4 … gæn3 juə2 bu2 ʃi4 ʃən2 mə hao3 də hæn2 yi4 nə . 542 | DUMMY/wavs/paimon/100700194.wav|1|ch|ai1 ? ni3 ʃuo1 ʃən2 mə dou1 məi2 fa1 ʃəŋ1 ? miŋ2 miŋ2 wo3 hai2 ʤə4 mə qi1 dai4 … 543 | DUMMY/wavs/paimon/202200483.wav|1|ch|wo3 mən qu4 ʤao3 na4 byæn1 di1 ʃi4 biŋ1 da3 tiŋ1 yi1 xya4 ba ! 544 | DUMMY/wavs/natsume/natsume_8324.wav|0|jp|do1 ko3 ka3 ma3 qi1 ga1 e1 ma1 xi3 ta3 ka3 ?ko3 o1 xi1 te1 xi3 ta1 de3 za3 o1 o3 na3 me1 lu3 to3 ,da3 ŋ1 se1 e1 wa1 se3 e1 te1 ki1 ko3 o1 fu1 ŋ1 o1 o3 bo1 e1 lu3 to3 de1 e3 ta3 ni3 a1 Qta3 no3 de1 su3 ga3 . 545 | DUMMY/wavs/paimon/500100033.wav|1|ch|dai4 yin1 duei4 ʃən1 yvæn1 ʤən1 ʃi4 lyao3 jiə3 . 546 | DUMMY/wavs/paimon/202400392.wav|1|ch|ai1 , ʃao1 wəi1 kua1 lyaŋ3 ju4 jyou4 də2 yi4 waŋ4 xiŋ2 lə … 547 | DUMMY/wavs/natsume/natsume_4750.wav|0|jp|za3 ŋ1 ne1 ŋ1 na1 ga3 la3 ......ka3 ŋ1 ba1 xi1 ku1 a1 li1 ma1 se1 ŋ3 . 548 | DUMMY/wavs/paimon/401200745.wav|1|ch|ta1 hao3 xyaŋ4 zai4 maŋ2 nə , zuei3 li3 hai2 nyæn4 nyæn4 you3 cɪ2 … 549 | DUMMY/wavs/paimon/201300273.wav|1|ch|tiŋ1 wo3 ʃuo1 —— qyæn2 myæn4 də qu1 yv4 , yi3 hou4 zai4 lai2 tæn4 suo3 ba ! 550 | DUMMY/wavs/natsume/natsume_0577.wav|0|jp|ha1 i3 . 551 | DUMMY/wavs/natsume/natsume_4510.wav|0|jp| 552 | DUMMY/wavs/natsume/natsume_3720.wav|0|jp|fu1 fu3 ......so3 no1 ko1 e3 ,ka3 wa1 i1 i3 . 553 | DUMMY/wavs/paimon/400300437.wav|1|ch|ʤə4 hə2 wo3 xyaŋ3 xyaŋ4 də , xyoŋ1 cæn2 you4 xiə2 ə4 də zoŋ4 huo3 həi1 ʃou3 , wæn2 quæn2 bu4 yi2 yaŋ4 ! 554 | DUMMY/wavs/natsume/natsume_6024.wav|0|jp| 555 | DUMMY/wavs/paimon/100500081.wav|1|ch|ai1 … ʤə4 cɪ4 ʤoŋ1 li2 xyæn1 ʃəŋ1 də tai4 du4 , zən3 mə ʃən2 ʃən2 mi4 mi4 də ? 556 | DUMMY/wavs/paimon/101402306.wav|1|ch|wo3 mən bu2 ʃi4 ʤə4 ʤoŋ3 guæn1 xi4 ! 557 | DUMMY/wavs/paimon/400500838.wav|1|ch|bu4 、 bu4 wən4 wən4 wo3 ma ? 558 | DUMMY/wavs/natsume/natsume_7741.wav|0|jp|so3 o1 te1 e1 xi3 te1 i3 ta1 na1 ka3 de3 ,i3 qi1 ba3 ŋ3 wa3 lu1 i3 ke3 Qka1 de1 su3 . 559 | DUMMY/wavs/paimon/100600690.wav|1|ch|wəi1 ji1 ʤi3 kao4 wo3 mən jyou4 xyao1 ʧu2 lə —— suo3 yi3 yæn2 waŋ2 yə2 hai2 ʃi4 məi2 you3 ʧu1 xyæn4 ! 560 | DUMMY/wavs/paimon/101401320.wav|1|ch|ʤə4 ʃi4 zən3 mə huei2 ʃi4 ? 561 | DUMMY/wavs/paimon/201500108.wav|1|ch|ʤə4 xiə1 ʃi4 ti4 huæn4 də yi1 fu2 ba ? ni3 kæn4 , lao3 dai4 ʃən1 ʃaŋ4 yə3 ʧuæn1 ʤə yi1 yaŋ4 də fu2 ʤuaŋ1 . 562 | DUMMY/wavs/paimon/201300084.wav|1|ch|ta1 、 ta1 ʃi4 yi2 gə4 rən2 ʤæn4 ʤə də ba ? 563 | DUMMY/wavs/natsume/natsume_0531.wav|0|jp|na1 ni3 ?ze3 Qku1 su3 lu1 ho1 do1 fu3 xi1 ze3 ŋ3 da3 Qta3 ? 564 | DUMMY/wavs/paimon/400500418.wav|1|ch|zuei4 hou4 yi2 gə4 cɪ2 ʃi4 ʃən3 pæn4 , jyou4 ʃi4 … jyou4 ʃi4 ta1 yao4 duei4 ni3 jya1 yi3 pæn4 juə2 də yi4 sɪ1 . 565 | DUMMY/wavs/natsume/natsume_3525.wav|0|jp|na1 ni3 ? 566 | DUMMY/wavs/paimon/101403643.wav|1|ch|ʤə4 mə duo1 … quæn2 ʃi4 ni3 də zu3 xyæn1 lyou2 xya4 də xin4 xi1 ma ? 567 | DUMMY/wavs/paimon/401200536.wav|1|ch|næn2 dao4 ʃuo1 , na4 ʧaŋ3 bi3 sai4 məi2 nəŋ2 raŋ4 zao4 ʃən2 xyaŋ4 su1 xiŋ3 ma … 568 | DUMMY/wavs/natsume/natsume_7786.wav|0|jp|mo1 xi3 mo3 so3 ŋ1 na1 se1 ka3 i3 da3 Qta3 la3 ,wa3 ta1 xi1 wa1 ,ma1 su3 ta3 a3 to3 wa3 de3 a1 e1 ma1 se1 ŋ3 de3 xi3 ta3 . 569 | DUMMY/wavs/paimon/101402609.wav|1|ch|ni3 bu2 ʃi4 ʃuo1 ta1 yi2 diŋ4 huei4 bao4 ʃaŋ4 miŋ2 hao4 ma ? na4 wəi4 ʃən2 mə bu4 lyou2 xya4 miŋ2 zɪ4 … ta1 zən3 mə lə ? 570 | DUMMY/wavs/natsume/natsume_0783.wav|0|jp|o3 ha1 yo1 o1 . 571 | DUMMY/wavs/paimon/200800072.wav|1|ch|da3 rao3 lə , wo3 mən you3 yi1 ʃi4 xyaŋ1 qyou2 . qiŋ3 xyæn1 du2 yi1 xya4 ʤə4 fəŋ1 xin4 ba . 572 | DUMMY/wavs/natsume/natsume_5971.wav|0|jp|ho3 ŋ1 to1 o1 ni1 ,yo3 lo1 xi1 i3 no3 de1 su3 ka3 ? 573 | DUMMY/wavs/natsume/natsume_3552.wav|0|jp|na1 ŋ3 to3 ka3 na1 lu3 ka3 . 574 | DUMMY/wavs/natsume/natsume_1585.wav|0|jp|sa3 a1 ne1 e1 . 575 | DUMMY/wavs/natsume/natsume_3250.wav|0|jp| 576 | DUMMY/wavs/paimon/202700542.wav|1|ch|na4 jyou4 ʃi4 da4 xi3 ʃi4 a , bu4 guo4 … 577 | DUMMY/wavs/natsume/natsume_7167.wav|0|jp|ma1 su3 ta3 a3 ,ki3 li1 ka3 sa3 ma3 no3 o1 ha3 ta3 ni3 i3 te1 ku3 da1 sa1 i3 . 578 | DUMMY/wavs/natsume/natsume_7023.wav|0|jp|ma1 su3 ta3 a3 ,o3 ha1 yo1 o1 go1 za1 i1 ma1 su3 . 579 | DUMMY/wavs/natsume/natsume_7945.wav|0|jp|ko3 no1 ka1 me3 la3 no3 e3 e1 zo1 o1 da1 to1 ,xyu3 u1 da1 ŋ1 o1 mi1 te3 i3 lu1 ko3 to1 xi3 ka3 wa3 ka1 li1 ma1 se1 ŋ3 ga3 . 580 | DUMMY/wavs/natsume/natsume_2387.wav|0|jp|ka3 ta1 zu1 ke1 wa1 ,wa3 ta1 xi1 ga1 ya3 lu1 . 581 | DUMMY/wavs/paimon/200900081.wav|1|ch|n2 , qin2 tuæn2 ʤaŋ3 gəi3 rən2 də gæn3 juə2 , di2 quə4 hən3 kə3 kao4 . 582 | DUMMY/wavs/paimon/401101541.wav|1|ch|wo3 mən qu4 ʤao3 gaŋ1 gaŋ1 na4 wəi4 hua1 da4 goŋ1 fu1 ʃou1 dao4 də rən2 wən4 wən4 ba ! ʃuo1 bu4 diŋ4 huei4 you3 ʃən2 mə xyæn4 suo3 . 583 | DUMMY/wavs/paimon/500200277.wav|1|ch|wu1 wa … hao3 hou4 də yi1 bən3 ʃu1 , ʤə4 dou1 ji4 lə xiə1 ʃən2 mə a … 584 | DUMMY/wavs/natsume/natsume_6341.wav|0|jp|yo1 ka3 Qta3 de3 su3 ......ma1 su3 ta3 a3 ......i1 Qpa3 i3 ki3 mo1 qi1 yo1 ku3 na3 Qte3 ku3 da1 sa1 i3 ne3 ...... 585 | DUMMY/wavs/natsume/natsume_2900.wav|0|jp|ma1 a3 ,su3 ko1 xi3 wa3 ...... 586 | DUMMY/wavs/natsume/natsume_4881.wav|0|jp|fu1 u3 ,a1 Q......ŋ1 ŋ3 ,ma1 su3 ta3 a3 ga3 ,ko3 ŋ1 na1 ni1 da1 xi3 te3 ku3 da1 sa1 Qte1 lu3 ,no1 ni3 ......ko3 bo1 su3 no3 wa1 ,i3 ke1 na1 i1 ko3 to1 ......de1 su3 yo3 ne3 ...... 587 | DUMMY/wavs/paimon/400400103.wav|1|ch|fəŋ1 hua1 jiə2 …? ʃi4 qi3 fəŋ1 də jiə2 ri4 , hai2 ʃi4 ʤoŋ4 hua1 də jiə2 ri4 ? 588 | DUMMY/wavs/natsume/natsume_2345.wav|0|jp|nyu3 u1 i1 ŋ1 qyu1 u1 no1 ko1 o3 gi3 no3 na3 i1 yo1 o1 o1 o3 xi1 e1 te1 mo3 la1 u1 ka3 wa1 li1 ni1 ,xyo3 ku1 ji1 o1 su3 lu1 jyo3 o1 ke1 ŋ3 o3 da1 sa3 le3 ta3 no3 . 589 | DUMMY/wavs/paimon/401100383.wav|1|ch|xiŋ2 qyou1 yə3 zai4 ʤə4 sou1 ʧuæn2 ʃaŋ4 , ni3 məi2 you3 waŋ4 ji4 ba ? wo3 mən dai4 huei4 kə3 yi2 diŋ4 yao4 xyao3 xin1 , qyæn1 wæn4 biə2 ba3 dyou1 ʃu1 də ʃi4 qiŋ2 ʃuo1 lou4 zuei3 lə . 590 | DUMMY/wavs/paimon/100400427.wav|1|ch|dæn4 yao4 zən3 mə quæn4 ʃuo1 guei3 hun2 nə ? 591 | DUMMY/wavs/natsume/natsume_1574.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 wa3 ,ta3 ko1 ya1 ki1 Qte1 cu3 ku1 Qta3 ko3 to1 a1 lu3 ? 592 | DUMMY/wavs/paimon/202200567.wav|1|ch|qiŋ4 goŋ1 yæn4 ! huei4 you3 hən3 duo1 hao3 ʧi1 də ma ? 593 | DUMMY/wavs/paimon/100900902.wav|1|ch|ʃi4 ʃuo1 … yao4 ni3 wæn3 ʃaŋ4 tou1 tou1 qu4 ʤao3 ta1 ? 594 | DUMMY/wavs/natsume/natsume_7585.wav|0|jp|ma1 su3 ta3 a3 ga3 ......wa3 ta1 xi1 o1 ......su3 ki1 ? 595 | DUMMY/wavs/paimon/201700124.wav|1|ch|ʃuo1 qi3 lai2 gaŋ1 gaŋ1 jyou4 yi4 ʤi2 tiŋ1 dao4 a1 bəi4 duo1 xyæn1 ʃəŋ1 , ta1 yə3 ʃi4 məŋ2 də2 ʧəŋ2 də lyæn4 jin1 ʃu4 ʃi4 ma ? 596 | DUMMY/wavs/paimon/100500115.wav|1|ch|xi1 waŋ4 li2 yvə4 qi1 xiŋ1 nəŋ2 ʤua1 dao4 ʤən1 ʤəŋ4 də xyoŋ1 ʃou3 . 597 | DUMMY/wavs/paimon/201200179.wav|1|ch|yao4 bu4 … xyæn1 qu4 wæn2 ju4 tæn1 ʤuæn3 ʤuæn3 ? 598 | DUMMY/wavs/paimon/401100914.wav|1|ch|xi1 xi1 , wo3 mən yə3 məi2 xyaŋ3 dao4 , wæn4 yə4 jiŋ4 ræn2 huei4 yi3 roŋ2 cai3 ji4 jya1 bin1 də ʃən1 fən4 huei2 dao4 dao4 qi1 . 599 | DUMMY/wavs/paimon/202600408.wav|1|ch|ʤə4 yi1 cɪ4 ʃu4 gən1 də ʃaŋ1 ʃi4 hao3 xyaŋ4 hən3 yæn2 ʤoŋ4 … də2 ba3 ʤə4 jyæn4 ʃi4 yə3 ʤuæn3 gao4 ʃə4 fəŋ4 xiŋ2 də rən2 . 600 | DUMMY/wavs/paimon/400100200.wav|1|ch|a a qiŋ3 bu2 yao4 wu4 huei4 ! wo3 mən ʃi4 mao4 xyæn3 jya1 xiə2 huei4 ʧəŋ2 yvæn2 , ʃou4 wəi3 tuo1 qyæn2 lai2 dyao4 ʧa2 qiŋ2 kuaŋ4 də ! 601 | DUMMY/wavs/natsume/natsume_2349.wav|0|jp|so1 Qka3 ......so3 o1 yu1 u1 ko3 to1 ni3 na1 lu3 no3 ka1 . 602 | DUMMY/wavs/paimon/100900712.wav|1|ch|wu1 … dou1 guai4 ni3 yi1 fu4 ʃi4 bu4 guæn1 ji3 də yaŋ4 zɪ , dæn1 wu4 lə ʃi2 ji1 . 603 | DUMMY/wavs/paimon/200100134.wav|1|ch|ʃi4 lao3 ʃu3 . 604 | DUMMY/wavs/paimon/400100268.wav|1|ch|hə2 qi2 ta1 lyaŋ3 di4 də huæn4 ʤə3 ʤəŋ4 ʤuaŋ4 yi1 yaŋ4 nə . 605 | DUMMY/wavs/natsume/natsume_3354.wav|0|jp|u1 u3 lu3 u3 sa3 a3 i3 . 606 | DUMMY/wavs/natsume/natsume_4345.wav|0|jp|o3 ki1 qya3 Qta3 . 607 | DUMMY/wavs/paimon/202700043.wav|1|ch|ta1 jyou4 ʤə4 mə zou3 lə … ʃi4 qiŋ2 ʤən1 də jyou4 huei4 xyaŋ4 ta1 yv4 lyao4 də na4 yaŋ4 fa1 ʤæn3 ma ? 608 | DUMMY/wavs/natsume/natsume_1943.wav|0|jp|ma3 ta1 ......a3 xi1 ta1 ne3 . 609 | DUMMY/wavs/natsume/natsume_6963.wav|0|jp|ge3 ŋ1 ji1 cu1 to1 mi3 ma1 ga1 u3 ko3 o1 se1 e3 sa3 i3 na3 ma1 su3 ta3 a3 no3 mo1 de3 lu3 o3 ,ko3 no1 o1 he3 ya3 no3 na1 ka3 ni3 hyo3 o1 ji1 de3 ki1 ma1 su3 . 610 | DUMMY/wavs/natsume/natsume_3864.wav|0|jp|ya3 Qpa1 li3 ku3 le1 e3 pu3 no3 do3 o1 nyu1 u1 wa1 ji1 ki3 xyo3 o1 so1 o1 da1 Qta1 ka3 na3 . 611 | DUMMY/wavs/paimon/400700861.wav|1|ch|da4 jya1 mæn4 zou3 —— 612 | DUMMY/wavs/natsume/natsume_0216.wav|0|jp|so3 le1 mo1 so1 Qka3 . 613 | DUMMY/wavs/natsume/natsume_3810.wav|0|jp|so3 ŋ1 na1 wa3 ke1 na3 i3 Qte3 .na1 ŋ3 de3 so3 ko1 de1 ne1 ga3 ti3 bu3 ni3 na1 Qqya3 u3 ka3 na3 . 614 | DUMMY/wavs/natsume/natsume_6955.wav|0|jp|sa1 gyo3 o3 o3 kyo3 ku1 ge1 ŋ1 ma1 de3 ko3 o1 li1 cu1 ka1 sa3 se1 lu1 ko3 to1 o3 ko1 ŋ3 se3 pu3 to3 ni3 ,qyo3 Qka1 ŋ1 te3 ki3 na3 so1 o3 sa3 o3 ka3 no1 o1 ni1 xi3 te1 a3 li1 ma1 su3 . 615 | DUMMY/wavs/natsume/natsume_4230.wav|0|jp|ko3 no1 cu3 ku1 yo1 mi1 wa1 ,lo1 bo3 Qto3 de3 su3 . 616 | DUMMY/wavs/natsume/natsume_0259.wav|0|jp|je3 ne1 li1 Qku3 jya3 na3 ku3 te3 ,fo3 to1 je1 ne1 li1 Qku3 da3 Qte3 ba3 . 617 | DUMMY/wavs/natsume/natsume_1761.wav|0|jp|wa3 ta1 xi1 to1 xi3 te1 mo1 ,u3 le1 xi1 ka3 Qta3 . 618 | DUMMY/wavs/natsume/natsume_3714.wav|0|jp|ku3 su1 .xyo3 o1 ga1 na1 i1 na1 a3 . 619 | DUMMY/wavs/natsume/natsume_2339.wav|0|jp|to1 ni3 ka3 ku3 ,na1 ni3 ka3 i3 wa1 le1 te1 mo1 wa3 ta1 xi1 no1 ka1 le3 xi3 to3 xi3 te1 mu3 ne1 o3 ha3 Qte1 na3 sa1 i3 . 620 | DUMMY/wavs/natsume/natsume_5374.wav|0|jp|i3 ka1 ga3 de3 su3 ka3 ,ma1 su3 ta3 a3 ?wa3 ta1 xi1 no1 hi3 za1 ma1 ku3 la3 ,ki3 mo1 qi1 i1 i3 de3 su3 ka3 ? 621 | DUMMY/wavs/paimon/202300472.wav|1|ch|wəi4 ! ʤə4 wæn2 quæn2 ʃi4 qi1 ʤa4 ba ! 622 | DUMMY/wavs/natsume/natsume_3398.wav|0|jp|i1 cu3 mo3 yo3 li3 ,ko3 o1 fu1 ŋ1 xi3 te1 lu3 ka3 la3 jya3 na3 i3 ? 623 | DUMMY/wavs/natsume/natsume_7189.wav|0|jp|i1 e3 ......wa3 ta1 xi1 ko1 so3 ,o3 ya1 ku1 ni1 ta3 te1 zu3 . 624 | DUMMY/wavs/paimon/101100006.wav|1|ch|wa o2 … ʤə2 piŋ2 , ni3 ʃi4 coŋ2 na3 tiŋ1 lai2 də a ? 625 | DUMMY/wavs/paimon/200600353.wav|1|ch|ba1 ba1 la1 xyao3 jiə3 duei4 qin2 tuæn2 ʤaŋ3 də ʃi4 ʤən1 ʃi4 lyao3 jiə3 , lyæn2 ʤə4 yaŋ4 də ʃi4 dou1 nəŋ2 cai1 dao4 ? 626 | DUMMY/wavs/paimon/401200452.wav|1|ch|ʃi4 wo3 mən də pəŋ2 you3 , xyaŋ1 liŋ2 、 guo1 ba1 , hai2 you3 kə4 qiŋ2 . 627 | DUMMY/wavs/natsume/natsume_4180.wav|0|jp|ha1 i3 ,ma1 su3 ta3 a3 .se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 ga3 ha3 a1 ku1 xi3 te1 i3 lu1 ya1 ku3 lo1 ku3 jyu3 u3 o3 ku1 ni3 ŋ3 no3 na1 ka3 ni3 ga3 i1 to1 o1 xya1 wa1 o3 li1 ma1 se1 ŋ3 . 628 | DUMMY/wavs/natsume/natsume_3235.wav|0|jp|da3 cu1 sa1 la1 xi3 te1 a1 fe1 qya3 o3 hi3 la1 ku3 ko3 to1 wa3 ,ta1 xi3 ka3 ni3 wa3 ta1 xi1 ta3 qi3 no3 yu3 me1 da3 Qta3 . 629 | DUMMY/wavs/paimon/401000056.wav|1|ch|rən2 xiŋ2 də … guai4 wu4 ? 630 | DUMMY/wavs/natsume/natsume_7861.wav|0|jp|me3 zu1 la1 xi1 i3 de3 su3 ne3 ,ma1 su3 ta3 a3 ga3 su3 ma1 ho1 yo3 o3 no3 a1 pu3 li3 o3 mi1 te3 i3 lu1 na3 ŋ3 te3 . 631 | DUMMY/wavs/natsume/natsume_6747.wav|0|jp|mo1 o3 xi3 te3 i3 ma1 su3 ga3 ,do1 o3 xi3 ma1 xyo1 o3 ? 632 | DUMMY/wavs/natsume/natsume_3492.wav|0|jp|a1 Q,a1 a3 a3 a3 ......mi1 na3 i3 de3 wa3 ta1 xi1 no1 ka3 o1 ,mi1 na3 i3 de3 633 | DUMMY/wavs/natsume/natsume_2196.wav|0|jp|hya1 u3 Q!?i1 ma3 ,wa3 ta1 xi1 no1 ......a3 so1 ko1 o1 na3 de1 ta3 . 634 | DUMMY/wavs/paimon/101300026.wav|1|ch|kuai4 kæn4 kuai4 kæn4 ,, qun2 yv4 gə2 fəi1 dao4 tyæn1 ʃaŋ4 qu4 la ! 635 | DUMMY/wavs/paimon/301100177.wav|1|ch|a ! ʃi4 ni3 ! 636 | DUMMY/wavs/natsume/natsume_1005.wav|0|jp|e3 e1 ga1 de1 mo1 wi3 ŋ1 do1 o1 xyo1 Qpi3 ŋ3 gu3 de3 mo3 ,a3 li1 ki1 ta1 li1 de1 i1 i3 ka3 la3 .to1 ni3 ka3 ku3 ta3 no1 xi1 i3 fu3 ŋ1 i1 ki3 o3 i1 ji3 de3 ki1 le3 ba3 i1 i3 637 | DUMMY/wavs/paimon/401101188.wav|1|ch|yvæn2 lai2 na4 gə4 wəi1 xiə2 kuei2 ʤi1 wəŋ1 də jya1 huo , jyou4 ʃi4 xyæn4 hai4 lə ʧi4 rən2 də fæn4 rən2 ! 638 | DUMMY/wavs/paimon/201800186.wav|1|ch|ʤoŋ1 yv2 guo4 lai2 lə , wo3 hai2 yi3 wəi2 wo3 mən bəi4 kun4 zai4 lə guei3 yi4 də koŋ1 jyæn1 li3 myæn4 nə . 639 | DUMMY/wavs/natsume/natsume_5555.wav|0|jp|ku3 li1 ka1 e1 xi1 ni1 na3 li1 ma1 su3 ga3 ,ga3 ku1 e1 ŋ1 de1 no1 ho3 o1 ka1 go1 e1 Qqi3 wa3 te3 Qpa1 ŋ1 de1 su3 . 640 | DUMMY/wavs/paimon/202200474.wav|1|ch|bu4 guo4 , xin1 hai3 quə4 ʃi2 hən3 pi2 bəi4 də yaŋ4 zɪ . ji4 ræn2 hai2 you3 ʃi2 jyæn1 , wo3 mən zai4 pəi2 ta1 yi4 qi3 xyou1 xi1 yi1 xya4 ba . 641 | DUMMY/wavs/natsume/natsume_6705.wav|0|jp|yo3 lo1 ko1 ŋ3 de3 !ma3 i1 ma1 su3 ta3 a3 ! 642 | DUMMY/wavs/natsume/natsume_0899.wav|0|jp|so3 o1 ne1 .ki3 ni1 na1 lu3 no3 wa1 yo3 ya1 ku1 ni1 jyo3 o1 ge1 ŋ1 o1 mo3 o1 ke1 lu3 ka3 do1 o3 ka3 da3 ke3 do3 ......so3 ko1 la3 a3 ta1 li1 wa1 a1 to3 no3 jyo3 o1 kyo1 o1 xi3 da1 i1 Qte1 ko3 to1 de3 . 643 | DUMMY/wavs/natsume/natsume_0242.wav|0|jp|so3 o1 na1 ŋ1 da3 ...... 644 | DUMMY/wavs/natsume/natsume_5955.wav|0|jp|ko3 ŋ1 na1 hi3 jyo1 o3 ji3 ni3 ,xi3 ko1 o1 o1 fu3 li1 i3 zu3 sa3 se1 lu1 yo1 o3 na3 ko3 to1 o3 i3 wa1 na1 i3 de3 ku3 da1 sa1 i3 . 645 | DUMMY/wavs/natsume/natsume_7391.wav|0|jp|su1 gu3 se3 e1 so1 o1 xi3 te1 ma3 i1 li1 ma1 su3 . 646 | DUMMY/wavs/paimon/401000123.wav|1|ch|ʃi4 bu2 ʃi4 xu1 yao4 yoŋ4 dao4 na4 gə4 xu1 jiə4 ta3 də koŋ4 ʤi4 qi4 a ? 647 | DUMMY/wavs/natsume/natsume_6768.wav|0|jp|o3 ma1 ka1 se1 ku1 da1 sa1 i1 ! 648 | DUMMY/wavs/natsume/natsume_4013.wav|0|jp|na3 po1 li1 ta3 ŋ3 da3 . 649 | DUMMY/wavs/paimon/401200832.wav|1|ch|yi2 gə4 ʃaŋ4 cɪ4 ni3 ʧa4 dyæn3 jyæn4 dao4 də rən2 o2 ! 650 | DUMMY/wavs/natsume/natsume_6404.wav|0|jp|ma1 su3 ta3 a3 ......ŋ1 u3 Q,so3 ŋ1 na1 ni1 ,mi1 na3 i3 de3 ......ku3 da1 sa1 i3 Q,ko3 ŋ1 na1 ni1 ka3 ŋ1 ji1 te1 ......wa3 ta1 xi1 ......ha3 zu1 ka1 xi1 ku3 , 651 | DUMMY/wavs/paimon/201300055.wav|1|ch|a , ta1 dyou1 xya4 guaŋ1 yao4 yi4 ʤi4 ʤi1 dun4 pao3 lə . 652 | DUMMY/wavs/paimon/100600184.wav|1|ch|hu1 … hu1 … gæn3 lu4 gæn3 də2 hao3 ləi4 … 653 | DUMMY/wavs/natsume/natsume_8044.wav|0|jp|bi3 Qgu1 xi1 su3 te3 mu3 o3 ke3 e1 yu1 xi3 ta1 ko3 o1 ge1 ki1 o1 so1 xi3 ......so1 o3 qi3 wa3 bu3 ji1 de1 su3 ! 654 | DUMMY/wavs/paimon/401101661.wav|1|ch|o2 —— duei4 duei4 duei4 , ræn2 hou4 zao3 you4 yi1 ʤəŋ3 wæn3 dou1 zai4 dyao4 ʧa2 dyæn4 yvæn2 də di3 xi4 nə ! jiə2 guo3 gæn3 huei2 lai2 də ʃi2 hou4 , gaŋ1 hao3 cuo4 guo4 lə fa1 ʃou4 ʃi2 jyæn1 … 655 | DUMMY/wavs/paimon/202000331.wav|1|ch|ʤə4 jyæn4 ʃi4 ʃaŋ4 , xyao1 goŋ1 byao3 xyæn4 də2 hən3 qyaŋ2 yiŋ4 nə . 656 | DUMMY/wavs/paimon/401101130.wav|1|ch|yi2 , ʃi4 liŋ2 hua2 hə2 wən1 di2 … ni3 mən lyaŋ3 gə4 zən3 mə huei4 zai4 yi4 qi3 ? 657 | DUMMY/wavs/paimon/101402813.wav|1|ch|zou3 kai1 lə nə … miŋ2 miŋ2 hai2 xyaŋ3 gən1 ta1 ʃuo1 ji3 ju4 xiə4 xiə4 də … 658 | DUMMY/wavs/natsume/natsume_1685.wav|0|jp|qyo1 Qto3 ma1 Qte3 .a3 la1 ta1 me3 te3 mo3 ŋ1 da1 i1 .kyo1 o3 wa3 na1 ni3 no3 hi3 de1 xyo1 o1 ka3 ? 659 | DUMMY/wavs/natsume/natsume_7504.wav|0|jp|ma1 su3 ta3 a3 ,ki3 zu1 ka1 zu1 ni1 cu3 ka1 Qte1 i3 ta1 no3 de1 su3 ka3 ? 660 | DUMMY/wavs/natsume/natsume_6384.wav|0|jp|qyu1 Q,u1 u3 ......ma1 su3 ta3 a3 no3 cu1 ba3 ......i1 Qpa3 i3 ,no1 ma3 se3 te3 ku3 da1 sa1 i3 ......u1 u3 ...... 661 | DUMMY/wavs/paimon/401101299.wav|1|ch|duei4 ya , ʤi3 yao4 ʤi1 dao4 xiŋ2 qyou1 məi2 ʃi4 , ʃu1 yə3 məi2 ʃi4 , duei4 yv2 wo3 lai2 ʃuo1 jyou4 zu2 gou4 lə . 662 | DUMMY/wavs/paimon/400600192.wav|1|ch|ru2 guo3 ʃi4 na4 gə4 rən2 də hua4 , ʃuo1 bu4 diŋ4 ʤəŋ4 zai4 tyæn1 liŋ3 fəŋ4 xiŋ2 mən2 kou3 da4 sɪ4 yao2 gun3 nə ! 663 | DUMMY/wavs/paimon/400300125.wav|1|ch|na4 gə4 ʧao1 da4 də miŋ2 xyao1 dəŋ1 , yə3 ʃi4 ʤə4 mə byæn1 ʤi4 ʧu1 lai2 də ma ? 664 | DUMMY/wavs/paimon/202600094.wav|1|ch|tiŋ1 qi3 lai2 , ʧao1 ʧu1 wo3 də li3 jiə3 fæn4 wəi2 lə … 665 | DUMMY/wavs/paimon/400700503.wav|1|ch|zən3 mə bæn4 , wo3 yi3 jiŋ1 kai1 ʃi3 juə2 də you1 la1 hən3 kə3 lyæn2 lə . 666 | DUMMY/wavs/natsume/natsume_7767.wav|0|jp|wa3 ta1 xi1 ga1 ni3 se1 no1 mu3 se1 ŋ1 o1 to3 ba1 xi1 te1 ,xyu3 e1 e1 o1 to3 o1 za1 ke1 te3 i3 lu1 e3 e1 kyo1 o1 mo1 a3 li1 so3 o3 de3 su3 .do1 o3 ka3 go3 xi1 ŋ3 bo3 o3 ku3 da1 sa1 i3 . 667 | DUMMY/wavs/natsume/natsume_7341.wav|0|jp|ha1 a3 ......u1 u3 ,wa3 ta1 xi1 mo1 ......mu3 ne1 ga3 ,ko3 su1 le1 te3 ......ko3 o1 fu1 ŋ1 ,xi3 te1 ki1 te3 xi3 ma1 i1 ma1 xi3 ta3 ......ŋ1 Qŋ3 Q...... 668 | DUMMY/wavs/natsume/natsume_0855.wav|0|jp|he3 e1 ji1 cu1 na1 la1 na3 la1 bu1 ko3 to1 mo3 na1 i3 to3 o3 mo1 u3 ka3 la3 .yo1 ka3 Qta3 la3 ma3 ta1 ki1 te3 . 669 | DUMMY/wavs/paimon/201100247.wav|1|ch|kæn4 ta1 gaŋ1 cai2 zuo4 fa3 , hao3 xyaŋ4 bi3 xyao1 gəŋ4 you3 xyæn1 rən2 də yaŋ4 zɪ nə . bu4 ru2 qu4 gən1 ta1 lyao2 lyao2 ba ? 670 | DUMMY/wavs/natsume/natsume_1402.wav|0|jp|ta1 i3 xi3 ta3 lyo1 o3 li3 de3 mo3 na1 i3 ŋ1 da3 ka3 la3 ,na3 ŋ1 do3 mo3 i3 wa1 na1 ku1 te1 mo1 i1 i3 no3 ni1 . 671 | DUMMY/wavs/natsume/natsume_4195.wav|0|jp|ha1 i3 .sa3 su1 ga1 wa1 ,ma1 su3 ta3 a3 de3 su3 . 672 | DUMMY/wavs/paimon/101403040.wav|1|ch|wəi4 wəi4 , kæn4 ni3 ʃən2 qiŋ2 yæn2 su4 , ʃi4 yao4 zuo4 ʃən2 mə ma ? 673 | DUMMY/wavs/paimon/400500199.wav|1|ch|tyæn1 lyaŋ4 lə , ʧa4 bu4 duo1 ʃi4 ʃi2 hou4 qu4 kæn4 kæn4 yv2 də qiŋ2 kuaŋ4 la . 674 | DUMMY/wavs/natsume/natsume_7764.wav|0|jp|ho3 o1 ga1 ku1 ka1 la1 sa3 Qsu1 lu1 ni1 ,i3 xi1 xi3 cu3 no3 yo1 o3 de3 su3 . 675 | DUMMY/wavs/natsume/natsume_6138.wav|0|jp|ni3 ŋ1 ge1 ŋ1 ni1 to1 Qte3 i3 Qxyu1 ŋ1 no1 de3 ki1 go3 to3 de3 mo3 ,se3 ŋ1 to1 o1 ko1 o1 do1 o1 qyu1 u1 no1 e3 e1 a1 i3 ni3 to1 Qte3 wa3 i3 qi1 ne1 ŋ1 ku1 la3 i3 ka3 ŋ1 ga1 e3 lu3 ji3 ka1 ŋ1 ga1 a1 lu3 ----o3 mo1 Qte3 ku3 da1 sa1 i3 . 676 | DUMMY/wavs/natsume/natsume_7213.wav|0|jp|ma1 su3 ta3 a3 ,wa3 ta1 xi1 no1 ko3 ko1 lo3 o3 ----xi3 ŋ1 ji1 te3 ku3 da1 sa1 i1 ma1 su3 ka3 ? 677 | DUMMY/wavs/paimon/101100150.wav|1|ch|nv3 ʃi4 jyou4 ʤə4 yaŋ4 sɪ3 zai4 lə ləi2 dyæn4 jyaŋ1 jun1 də dao1 xya4 … 678 | DUMMY/wavs/natsume/natsume_7293.wav|0|jp|ko1 ŋ3 ka3 i3 ,ko3 no1 cu3 ku1 yo1 mi1 ga1 ko3 ku1 ho1 o1 hi3 no3 ka1 i3 sa3 ŋ3 ni3 ka3 ŋ1 xi1 ŋ1 o1 mo3 qi1 ,a3 la1 ta1 me3 te3 xi3 la1 be1 ta3 ke3 Qka1 ,ha3 ji1 me3 te3 ha3 Qka1 ku1 xi3 ta1 ko3 to1 de3 su3 . 679 | DUMMY/wavs/paimon/401101729.wav|1|ch|ni3 kæn4 , ma3 tou2 ʃaŋ4 də na4 gə4 ʃən1 yiŋ3 , hao3 xyaŋ4 ʃi4 wæn4 yə4 ! 680 | DUMMY/wavs/paimon/202100091.wav|1|ch|ʃən2 mə ma , xyaŋ3 zuo4 də hua4 hai2 ʃi4 kə3 yi3 zuo4 də ba ! 681 | DUMMY/wavs/natsume/natsume_3254.wav|0|jp|o3 ma1 e1 no1 yu3 me1 da3 yo3 ,ko3 no1 a1 fe1 qya3 wa3 .ke3 Qxi1 te1 o3 le1 ta3 qi3 no3 da3 i1 ya1 ku1 na1 ŋ3 ka3 jya3 na3 i3 . 682 | DUMMY/wavs/paimon/202700456.wav|1|ch|jin3 gua1 guo3 ræn2 bu2 ʃi4 hə2 ʃəŋ1 ʧi1 a ! 683 | DUMMY/wavs/paimon/100600371.wav|1|ch|n2 … na4 wəi4 yv4 həŋ2 xiŋ1 suei1 ræn2 bu4 jiŋ4 xyæn1 ʃən2 , dæn4 wo3 juə2 də ta1 ʃi4 gə4 xyaŋ1 daŋ1 sa4 ʃuaŋ3 də rən2 nə . 684 | DUMMY/wavs/natsume/natsume_5131.wav|0|jp|ha1 i3 ......su3 ba1 la1 xi1 ka3 Qta3 de3 su3 . 685 | DUMMY/wavs/natsume/natsume_0112.wav|0|jp|so3 o1 da1 ke3 do3 ......he1 ŋ3 ? 686 | DUMMY/wavs/natsume/natsume_0754.wav|0|jp|i1 i3 to3 o3 mo1 u3 .ko3 ŋ1 na1 ko3 ga1 qi3 qi1 o1 ya1 no1 ta3 me1 ni3 ga3 ŋ1 ba1 Qte1 lu3 ŋ1 da3 ka3 la3 ......wa3 ta1 xi1 da1 Qte1 qi3 ka1 la1 ni3 na1 Qte3 a3 ge1 ta1 i3 to3 o3 mo1 u3 xi3 ne3 . 687 | DUMMY/wavs/paimon/200400248.wav|1|ch|zao1 lə zao1 lə , li4 ʃa1 huei4 bu2 huei4 zuo4 ʧu1 hən3 kə3 pa4 də ʃi4 lai2 … 688 | DUMMY/wavs/paimon/400600636.wav|1|ch|wu1 … jiŋ4 ræn2 fæn3 guo4 lai2 ba3 næn2 ti2 pao1 gəi3 wo3 mən … 689 | DUMMY/wavs/paimon/200200349.wav|1|ch|ʤi3 ʃi4 ta1 ʃao1 wəi1 xyæn3 də you3 xiə1 … yin1 æn4 ? 690 | DUMMY/wavs/paimon/400900300.wav|1|ch|ni3 hao3 ya ! ai1 , yao4 bu2 ʃi4 lyæn2 xu4 jyæn4 lə na4 mə duo1 pəŋ2 you3 , wo3 kən3 diŋ4 huei4 hən3 jiŋ1 ya4 , lyæn2 ni3 dou1 lai2 lə nə … 691 | DUMMY/wavs/natsume/natsume_4181.wav|0|jp|ma1 su3 ta3 a3 ,pu3 lo1 se3 su3 o3 ...... 692 | DUMMY/wavs/paimon/100100112.wav|1|ch|ʤə4 ʤoŋ3 ʃəŋ1 wu4 , yi4 bæn1 bu2 huei4 zai4 li2 ʧəŋ2 ʃi4 ʤə4 mə jin4 də di4 faŋ1 jyæn4 li4 yiŋ2 di4 ba ? 693 | DUMMY/wavs/paimon/500200095.wav|1|ch|zoŋ3 gæn3 juə2 ʤə4 li3 məi2 ʃən2 mə kə3 yi3 suæn4 zuo4 ʤəŋ4 ju4 də doŋ1 xi1 a … 694 | DUMMY/wavs/natsume/natsume_3617.wav|0|jp|ko3 no1 ,ga3 ma1 ŋ1 ji3 lu3 Qte3 ......se1 e3 e3 ki3 to3 i3 Qxyo1 na1 no3 ?ni3 ŋ1 xi1 ŋ1 su3 lu1 no3 ? 695 | DUMMY/wavs/natsume/natsume_8172.wav|0|jp|o3 sa1 ga1 xi1 no3 ne1 ko3 wa3 kyu1 u3 jyu3 u3 ha3 qi1 pa1 a1 se1 ŋ3 to3 no3 ka3 ku1 li1 cu1 de1 ,ma1 su3 ta3 a3 ga3 ge1 ŋ3 za3 i3 i3 lu1 qi1 te3 ŋ3 ka3 la3 ho3 ku1 ho1 ku1 to1 o1 e1 i3 qi1 te3 ŋ3 lo3 ku1 jyu1 u1 ni3 ki1 lo1 me1 e3 to3 lu3 su3 su1 ŋ1 da1 to3 ko1 lo1 ni1 a1 lu3 ko3 o1 e1 ŋ1 ni1 i3 lu1 to1 su3 i1 so1 ku1 sa3 le1 ma1 su3 . 696 | DUMMY/wavs/paimon/401000240.wav|1|ch|ni3 məi2 you3 bəi4 xya4 dao4 ma ? 697 | DUMMY/wavs/natsume/natsume_2079.wav|0|jp|ha3 le1 mo1 no1 ni1 sa3 wa1 lu1 ----Qte1 ho3 do1 de1 wa1 na1 i1 ke3 do3 .de1 mo3 su3 ko1 xi3 ko3 ma1 Qte3 ta3 yo1 o3 ni3 mi3 e1 ta3 ."do1 o3 ha3 na1 xi1 ka1 ke1 te3 i3 i3 no3 ka1 to1 ka1 ne1 . 698 | DUMMY/wavs/natsume/natsume_7219.wav|0|jp|de1 xi3 ta3 la3 ,ki3 li1 ka3 sa3 ma3 no3 ta3 i1 i1 ŋ1 ni1 a3 wa1 se1 te3 pa1 a3 ti3 i3 mo3 ka3 i1 sa1 i1 i3 ta1 xi1 ma1 xyo1 o3 ! 699 | DUMMY/wavs/natsume/natsume_4207.wav|0|jp|yo1 ka3 Qta3 de3 su3 . 700 | DUMMY/wavs/paimon/201600318.wav|1|ch|hua4 ʃuo1 , gaŋ1 cai2 gæn1 yv3 ʃuo1 də qu4 xyou1 xiŋ2 ʃi4 ʤi3 ʃən2 mə ? 701 | DUMMY/wavs/natsume/natsume_5682.wav|0|jp|ko3 sa1 me1 te1 e3 do3 de3 xi3 ta3 la3 ,ze1 hi3 o3 ne1 ga1 i1 xi3 ta1 i3 to3 o3 mo1 Qte3 i3 ta1 no3 de1 su3 ga3 ...... 702 | DUMMY/wavs/paimon/100800489.wav|1|ch|ai1 ? gaŋ1 gaŋ1 na4 yi1 ʧaŋ3 , hai2 ʃi4 yv4 xuæn3 ba , ʤi2 jiə1 jyou4 dao4 bæn4 juə2 sai4 , yə3 tai4 suei2 yi4 lə ba ? 703 | DUMMY/wavs/natsume/natsume_5142.wav|0|jp|so3 ŋ1 na1 to3 ko1 lo1 mo1 fu3 ku1 me1 te3 ,wa3 ta1 xi1 wa1 ma1 su3 ta3 a3 ga3 da1 i3 su3 ki3 de3 su3 . 704 | DUMMY/wavs/natsume/natsume_0794.wav|0|jp|ta1 ka3 mi1 ne3 ku3 ŋ3 Qte3 ......ko3 su1 pu1 le1 su1 ki1 na1 u3 e1 ni1 ,cu3 ku1 zu1 ku3 o3 ŋ1 na1 zu1 ki1 ? 705 | DUMMY/wavs/natsume/natsume_8131.wav|0|jp|ha1 zu3 ki3 sa3 ŋ3 no3 me3 e1 le1 e1 wa1 ,do1 ŋ3 na3 mo3 no1 da3 Qta3 no3 de1 xyo1 o1 ka3 ? 706 | DUMMY/wavs/natsume/natsume_5406.wav|0|jp|ŋ1 u3 ......yo1 ka3 Qta3 de3 su3 ......fu1 u3 ,fu1 u3 ......wa3 ta1 xi1 ,ga3 ŋ1 ba1 li1 ma1 su3 ne3 ...... 707 | DUMMY/wavs/natsume/natsume_4293.wav|0|jp|so3 o1 te1 e1 ga3 i3 no3 ha3 ŋ1 no1 o1 de1 su3 . 708 | DUMMY/wavs/natsume/natsume_0153.wav|0|jp|i3 qi1 ji1 te3 ki3 ni3 ka3 li1 te1 i3 la1 le1 lu1 ki1 ge3 ŋ3 .ho3 ŋ1 to1 o3 wa3 na3 cu1 ma3 de3 no3 ya3 ku1 so1 ku1 o1 ,na1 ŋ3 to3 ka3 jyu3 u1 ga1 cu1 ma3 de3 no3 ba1 xi3 te3 mo3 la1 Qta1 ŋ1 da3 ke3 do3 ...... 709 | DUMMY/wavs/natsume/natsume_3514.wav|0|jp|so3 le1 wa1 ,ma1 a3 ......u1 ŋ3 . 710 | DUMMY/wavs/natsume/natsume_4501.wav|0|jp|i1 e3 ,da3 i1 jyo1 o3 bu3 de3 su3 . 711 | DUMMY/wavs/paimon/400700652.wav|1|ch|ai1 ? næn2 dao4 na4 gə4 luo4 dæn1 də mao4 xyæn3 jya1 jiə2 la1 də2 yvæn2 bən3 ʃi4 yao4 gən1 ni3 yi1 zu3 də ? 712 | DUMMY/wavs/natsume/natsume_0046.wav|0|jp|do1 ŋ3 ki3 to3 ha1 mo3 no3 da3 to3 ......ya3 Qpa1 li3 do1 ŋ3 ki3 no3 ho1 o3 ga3 la3 ku1 ka3 na3 a3 . 713 | DUMMY/wavs/natsume/natsume_2757.wav|0|jp|a3 li1 ga3 to3 o3 ...... 714 | DUMMY/wavs/paimon/400200090.wav|1|ch|a ! gai1 bu2 huei4 ʃi4 ni3 bəi4 ʤə wo3 qu4 fæn4 lə ʃən2 mə ʃi4 ba ! 715 | DUMMY/wavs/natsume/natsume_2567.wav|0|jp|so3 o1 yu1 u1 wa1 ke3 jya3 na3 i3 ŋ1 da3 ke3 do3 .na1 ŋ3 ka3 ,u3 ma1 ku1 nu1 ga1 se1 la1 le1 na3 ku3 te3 . 716 | DUMMY/wavs/natsume/natsume_1557.wav|0|jp|na1 la3 ,na1 ŋ3 de3 ? 717 | DUMMY/wavs/natsume/natsume_1344.wav|0|jp|cu3 go1 o1 no1 i1 i3 mo3 o1 so1 o1 da1 Qte1 ko3 to1 o3 qya3 ŋ1 to1 li1 ka3 i3 xi3 te1 ku3 le1 te1 lu3 no3 na1 la1 . 718 | DUMMY/wavs/natsume/natsume_5592.wav|0|jp|ku1 Q,fu1 a3 a3 a3 Q!yu3 bi1 ,ha3 ge1 xi1 su1 gi1 ,ma1 su3 ......wa3 ta1 xi1 da1 Qte1 ......ma1 su3 ta3 a3 no3 pe1 ni3 su3 ,a3 i1 xi1 ta1 i3 ,no1 ni3 ...... 719 | DUMMY/wavs/natsume/natsume_8011.wav|0|jp|ho3 ŋ1 to1 o1 ni1 ,so3 le1 da1 ke1 de1 xyo1 o1 ka3 ? 720 | DUMMY/wavs/natsume/natsume_6492.wav|0|jp|so3 le1 mo1 ,fu3 ta1 li1 no3 o3 mo1 i1 de1 de1 su3 . 721 | DUMMY/wavs/paimon/201300140.wav|1|ch|ə4 … ta1 hao3 xyaŋ4 bu4 tai4 kai1 xin1 də yaŋ4 zɪ . 722 | DUMMY/wavs/paimon/100500217.wav|1|ch|ai1 həi1 . 723 | DUMMY/wavs/natsume/natsume_6274.wav|0|jp|ko1 ŋ3 do3 wa3 ,ta3 to1 e1 ta1 i3 na3 i3 ni3 xi3 ko1 ŋ3 de3 i3 ta1 to3 xi3 te1 mo1 ,mi3 o1 to1 xi1 ma1 se1 ŋ3 . 724 | DUMMY/wavs/paimon/201500180.wav|1|ch|na4 gə4 huei4 ʃi4 wo3 mən yao4 ʤao3 də rən2 ma ? jyou4 xya4 lai2 zai4 quə4 rən4 ba ! 725 | DUMMY/wavs/paimon/202300539.wav|1|ch|ta1 da3 guo4 lai2 lə ! xyao3 xin1 ya ,! 726 | DUMMY/wavs/paimon/200200270.wav|1|ch|wu2 … bu4 yoŋ4 ʤə4 mə ʤəŋ4 ʤoŋ4 la … wo3 、 wo3 mən dou1 bu4 hao3 yi4 sɪ1 lə … 727 | DUMMY/wavs/natsume/natsume_3298.wav|0|jp|u1 ŋ3 . 728 | DUMMY/wavs/paimon/400900159.wav|1|ch|dæn4 wo3 mən hən3 maŋ2 , da4 gai4 məi2 you3 ʃi2 jyæn1 qu4 ʧa2 guæn3 da3 liŋ2 goŋ1 ba … 729 | DUMMY/wavs/natsume/natsume_6641.wav|0|jp|kyo1 o3 wa3 ,hi3 to1 li3 de3 i1 ku3 no3 ,i3 ya1 de3 su3 ...... 730 | DUMMY/wavs/paimon/101403476.wav|1|ch|wo3 mən yə3 hao3 hao3 xyaŋ3 ʃou4 pai4 duei4 , hə2 da4 jya1 lyao2 lyao2 tyæn1 ba ~! 731 | DUMMY/wavs/natsume/natsume_0160.wav|0|jp|a3 ji1 mi1 ni1 "a1 a3 ŋ3 wa3 hi3 cu1 yo1 o1 na1 i3 to3 o3 mo1 u3 ke3 do3 . 732 | DUMMY/wavs/natsume/natsume_4437.wav|0|jp|i3 qi1 ni1 qi1 xi3 qi1 ji1 ka3 ŋ3 no3 su3 i1 mi1 ŋ1 wa1 ,ke3 ŋ1 ko1 o1 no1 ki3 ho1 ŋ1 de1 su3 . 733 | DUMMY/wavs/natsume/natsume_6203.wav|0|jp|cu3 ka1 ma1 e1 le1 ba3 ,xyu3 cu1 lyo3 ku3 ga3 ta3 ka1 i3 ho1 o3 ga3 ka3 qi1 ma1 su3 . 734 | DUMMY/wavs/paimon/100500619.wav|1|ch|, wo3 mən dai4 hao3 yaŋ4 pin3 , ræn2 hou4 ʧu1 fa1 ba ? 735 | DUMMY/wavs/paimon/100700040.wav|1|ch|a , wo3 doŋ3 lə ! suo3 yi3 bao4 jun1 də yi2 yvæn4 , qi2 ʃi2 ʃi4 coŋ2 bən1 laŋ2 liŋ3 tao2 zou3 də na4 zuo4 ji1 qi4 , zɪ4 doŋ4 fa1 ʃə4 də dao3 dæn4 ! 736 | DUMMY/wavs/natsume/natsume_4663.wav|0|jp|ma1 su3 ta3 a3 ni3 mo3 ka3 no1 o1 na1 no3 de1 wa3 ? 737 | DUMMY/wavs/natsume/natsume_4142.wav|0|jp|su3 zu1 ne3 sa3 ŋ3 de3 mo3 ......fu3 a1 ŋ1 ni1 na1 lu3 ŋ1 de3 su3 ne3 . 738 | DUMMY/wavs/natsume/natsume_4880.wav|0|jp|ha1 a3 ......do1 ŋ3 do3 ŋ3 ,a3 fu1 le1 te3 ......ma1 su3 ta3 a3 no3 ,na1 no3 ni3 ......mo3 Qta1 i1 na1 i3 de3 su3 ...... 739 | DUMMY/wavs/paimon/101300718.wav|1|ch|wo3 mən zai4 qu4 na4 byæn1 ʤao3 ʤao3 ba ! 740 | DUMMY/wavs/natsume/natsume_1107.wav|0|jp|de1 mo3 sa1 Qki1 ta3 ka3 mi1 ne3 ku3 ŋ3 ga3 i3 Qta1 to3 o1 li1 .ga3 i1 ke1 ŋ1 mo1 a3 ku1 ma3 de3 pu3 la1 su1 no1 za3 i1 lyo1 o3 de3 a3 Qte3 ,su1 be3 te3 de3 wa3 na1 i3 Qte3 ko3 to1 . 741 | DUMMY/wavs/natsume/natsume_5627.wav|0|jp|ha1 a3 u3 u3 ......ŋ1 Q,ŋ1 Q......fu1 u3 , 742 | DUMMY/wavs/natsume/natsume_6338.wav|0|jp|ŋ1 le3 u3 ......ko3 ko1 ......ki3 mo1 qi1 i1 i3 ŋ1 de3 su3 ne3 ,ma1 su3 ta3 a3 ......qyu1 Q. 743 | DUMMY/wavs/paimon/100400116.wav|1|ch|yi2 ?! dəŋ3 , dəŋ3 yi2 xya4 ! ʃən2 mə jyao4 ʤən4 ya1 li2 yvə4 gaŋ3 ? nin2 ʃi4 yao4 ba3 ʤəŋ3 zuo4 li2 yvə4 gaŋ3 gəi3 huei3 dyao4 ma ? 744 | DUMMY/wavs/paimon/400500379.wav|1|ch|zai4 na4 ʤi1 qyæn2 , jyou4 xyæn1 dao4 fu4 jin4 jin4 qiŋ2 sou1 suo3 ba ! 745 | DUMMY/wavs/paimon/401101423.wav|1|ch|zou3 , wo3 mən xyæn4 zai4 jyou4 qu4 jiə1 kai1 ʤən1 xyaŋ4 ! 746 | DUMMY/wavs/natsume/natsume_6082.wav|0|jp|ha1 i3 .su3 ko1 xi3 ku3 fu1 u1 ga1 hi3 cu1 yo1 o1 de1 xi1 ta1 ga3 . 747 | DUMMY/wavs/natsume/natsume_7408.wav|0|jp|bu3 ka1 cu3 do3 o3 ni3 wa3 ,bu3 hi1 o1 do1 no3 yo1 o3 ni3 xi3 yo1 o1 xi3 ta1 ka3 ,xi3 xyu1 cu1 o1 me3 e1 ka1 ku1 ni1 ho3 o1 ko1 ku1 su3 lu1 gi1 mu3 ga3 a3 li1 ma1 su3 . 748 | DUMMY/wavs/natsume/natsume_2036.wav|0|jp|lo3 ku1 jyu1 u1 i3 qi1 ;...... 749 | DUMMY/wavs/natsume/natsume_2169.wav|0|jp|hi1 a3 a3 a3 ŋ1 so3 ŋ1 na1 Q,e1 Qqi3 na3 qyu1 u3 sa3 le1 ta1 la3 ......nu3 le1 te1 mo1 ,xyo3 o1 ga1 na1 i1 ......ŋ1 ŋ3 ŋ3 ŋ3 ŋ3 Q. 750 | DUMMY/wavs/natsume/natsume_6457.wav|0|jp|wa3 ta1 xi1 mo1 ......zu3 Qto1 ,ma1 su3 ta3 a3 to3 i3 Qxyo1 ni1 i3 ta1 i3 de3 su3 ...... 751 | DUMMY/wavs/natsume/natsume_2435.wav|0|jp| 752 | DUMMY/wavs/natsume/natsume_0742.wav|0|jp|ka1 Qpu3 no3 a3 ta1 ta1 me1 wa3 wa3 ta1 xi1 ga1 ya1 Qte3 o3 ku1 ka3 la3 . 753 | DUMMY/wavs/natsume/natsume_4643.wav|0|jp|se1 ŋ3 to3 la3 lu3 e3 e3 a3 i3 ni3 ,na3 ni1 mo1 no1 ka1 ga1 ha1 Qki3 ŋ3 gu3 o3 xi3 ka1 ke1 te1 i3 lu1 yo1 o3 de3 su3 . 754 | DUMMY/wavs/paimon/400100174.wav|1|ch|ni3 hao3 ! qiŋ3 wən4 ni3 you3 jyæn4 guo4 lai2 zɪ4 məŋ2 də2 də ʃaŋ1 duei4 ma ? yvn4 jyou3 də na4 ʤoŋ3 . 755 | DUMMY/wavs/natsume/natsume_2993.wav|0|jp|so3 o1 yu1 u1 ha3 ŋ1 no1 o1 ,ki3 zu1 cu1 ku3 ŋ1 da3 ke3 do3 756 | DUMMY/wavs/paimon/201300133.wav|1|ch|wo3 yvə4 lai2 yvə4 juə2 də , sɪ1 tæn3 li4 xyæn1 ʃəŋ1 kə3 nəŋ2 ʃi4 pyæn4 zɪ lə … 757 | DUMMY/wavs/paimon/100500166.wav|1|ch|dyæn4 yvæn2 gəi3 gu4 kə4 baŋ1 maŋ2 , yvæn2 lai2 ʃi4 bu4 goŋ1 piŋ2 də ʃi4 ma ! 758 | DUMMY/wavs/paimon/201000127.wav|1|ch|, bu2 ʃi4 ʃuo1 hao3 ʃi1 tu2 ʤi3 ʃi4 yæn3 xi4 ər2 yi3 ma ! 759 | DUMMY/wavs/natsume/natsume_4520.wav|0|jp| 760 | DUMMY/wavs/natsume/natsume_3789.wav|0|jp|so3 o1 to1 i3 e1 ba3 ,so3 o1 da1 ke3 do3 . 761 | DUMMY/wavs/natsume/natsume_7065.wav|0|jp|na3 lu1 ho1 do1 .hi1 ge3 ki3 o3 cu3 ku1 li1 da1 su3 ta3 me1 da3 Qta3 ka3 no1 o1 se1 e1 de1 su3 ka3 . 762 | DUMMY/wavs/natsume/natsume_3870.wav|0|jp|e3 ŋ1 lyo1 se1 zu3 na1 ni3 de3 mo3 i3 Qte1 mi1 te3 . 763 | DUMMY/wavs/paimon/202600529.wav|1|ch|wu2 … yi4 sɪ1 ʃi4 ʃuo1 , kæn3 ruei4 ya4 fa1 ʃəŋ1 zai1 næn4 də ʃi2 hou4 , dao4 qi1 yə3 zao1 dao4 lə xi2 ji1 ? 764 | DUMMY/wavs/paimon/202200109.wav|1|ch|kæn4 lai2 fæn3 kaŋ4 jun1 də da4 jya1 dou1 hai2 ji4 də wo3 mən nə ! wo3 mən yə3 baŋ1 ta1 mən hao3 hao3 jiə3 juə2 yi1 xya4 yæn3 qyæn2 də ma2 fæn2 ba ! 765 | DUMMY/wavs/natsume/natsume_2424.wav|0|jp|ka3 Qte1 ni1 o1 ŋ3 ni3 xi3 na1 i1 .o1 fu3 ni3 xi3 na1 sa1 i1 . 766 | DUMMY/wavs/natsume/natsume_5454.wav|0|jp|ma1 su3 ta3 a3 ......mo1 Qto3 o1 ku3 ma3 de3 ,ki1 te3 ku3 da1 sa1 i3 ...... 767 | DUMMY/wavs/natsume/natsume_6141.wav|0|jp|a3 ŋ1 na1 ko3 to1 ,yo1 ku3 ka3 ŋ1 ga1 e1 cu1 ku3 mo3 no1 de3 su3 . 768 | DUMMY/wavs/paimon/401101152.wav|1|ch|o2 yo1 —— ju1 ræn2 nəŋ2 ʃuo1 də2 ʤə4 mə ʧoŋ2 gao1 … 769 | DUMMY/wavs/natsume/natsume_4984.wav|0|jp|ga3 ku1 e1 ŋ1 na3 i3 no3 ka3 i1 wa1 wa1 ,so3 le1 na1 li1 ni1 . 770 | DUMMY/wavs/natsume/natsume_4647.wav|0|jp|ko3 o1 ge1 ki1 ga1 ha3 ji1 ma1 Qta1 no3 wa1 ,a1 sa3 yo3 ji1 ha1 ŋ3 ka3 la3 de3 su3 . 771 | -------------------------------------------------------------------------------- /losses.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch.nn import functional as F 3 | 4 | import commons 5 | 6 | 7 | def feature_loss(fmap_r, fmap_g): 8 | loss = 0 9 | for dr, dg in zip(fmap_r, fmap_g): 10 | for rl, gl in zip(dr, dg): 11 | rl = rl.float().detach() 12 | gl = gl.float() 13 | loss += torch.mean(torch.abs(rl - gl)) 14 | 15 | return loss * 2 16 | 17 | 18 | def discriminator_loss(disc_real_outputs, disc_generated_outputs): 19 | loss = 0 20 | r_losses = [] 21 | g_losses = [] 22 | for dr, dg in zip(disc_real_outputs, disc_generated_outputs): 23 | dr = dr.float() 24 | dg = dg.float() 25 | r_loss = torch.mean((1-dr)**2) 26 | g_loss = torch.mean(dg**2) 27 | loss += (r_loss + g_loss) 28 | r_losses.append(r_loss.item()) 29 | g_losses.append(g_loss.item()) 30 | 31 | return loss, r_losses, g_losses 32 | 33 | 34 | def generator_loss(disc_outputs): 35 | loss = 0 36 | gen_losses = [] 37 | for dg in disc_outputs: 38 | dg = dg.float() 39 | l = torch.mean((1-dg)**2) 40 | gen_losses.append(l) 41 | loss += l 42 | 43 | return loss, gen_losses 44 | 45 | 46 | def kl_loss(z_p, logs_q, m_p, logs_p, z_mask): 47 | """ 48 | z_p, logs_q: [b, h, t_t] 49 | m_p, logs_p: [b, h, t_t] 50 | """ 51 | z_p = z_p.float() 52 | logs_q = logs_q.float() 53 | m_p = m_p.float() 54 | logs_p = logs_p.float() 55 | z_mask = z_mask.float() 56 | 57 | kl = logs_p - logs_q - 0.5 58 | kl += 0.5 * ((z_p - m_p)**2) * torch.exp(-2. * logs_p) 59 | kl = torch.sum(kl * z_mask) 60 | l = kl / torch.sum(z_mask) 61 | return l 62 | -------------------------------------------------------------------------------- /mel_processing.py: -------------------------------------------------------------------------------- 1 | import math 2 | import os 3 | import random 4 | import torch 5 | from torch import nn 6 | import torch.nn.functional as F 7 | import torch.utils.data 8 | import numpy as np 9 | import librosa 10 | import librosa.util as librosa_util 11 | from librosa.util import normalize, pad_center, tiny 12 | from scipy.signal import get_window 13 | from scipy.io.wavfile import read 14 | from librosa.filters import mel as librosa_mel_fn 15 | 16 | MAX_WAV_VALUE = 32768.0 17 | 18 | 19 | def dynamic_range_compression_torch(x, C=1, clip_val=1e-5): 20 | """ 21 | PARAMS 22 | ------ 23 | C: compression factor 24 | """ 25 | return torch.log(torch.clamp(x, min=clip_val) * C) 26 | 27 | 28 | def dynamic_range_decompression_torch(x, C=1): 29 | """ 30 | PARAMS 31 | ------ 32 | C: compression factor used to compress 33 | """ 34 | return torch.exp(x) / C 35 | 36 | 37 | def spectral_normalize_torch(magnitudes): 38 | output = dynamic_range_compression_torch(magnitudes) 39 | return output 40 | 41 | 42 | def spectral_de_normalize_torch(magnitudes): 43 | output = dynamic_range_decompression_torch(magnitudes) 44 | return output 45 | 46 | 47 | mel_basis = {} 48 | hann_window = {} 49 | 50 | 51 | def spectrogram_torch(y, n_fft, sampling_rate, hop_size, win_size, center=False): 52 | if torch.min(y) < -1.: 53 | print('min value is ', torch.min(y)) 54 | if torch.max(y) > 1.: 55 | print('max value is ', torch.max(y)) 56 | 57 | global hann_window 58 | dtype_device = str(y.dtype) + '_' + str(y.device) 59 | wnsize_dtype_device = str(win_size) + '_' + dtype_device 60 | if wnsize_dtype_device not in hann_window: 61 | hann_window[wnsize_dtype_device] = torch.hann_window(win_size).to(dtype=y.dtype, device=y.device) 62 | 63 | y = torch.nn.functional.pad(y.unsqueeze(1), (int((n_fft-hop_size)/2), int((n_fft-hop_size)/2)), mode='reflect') 64 | y = y.squeeze(1) 65 | 66 | spec = torch.stft(y, n_fft, hop_length=hop_size, win_length=win_size, window=hann_window[wnsize_dtype_device], 67 | center=center, pad_mode='reflect', normalized=False, onesided=True) 68 | 69 | spec = torch.sqrt(spec.pow(2).sum(-1) + 1e-6) 70 | return spec 71 | 72 | 73 | def spec_to_mel_torch(spec, n_fft, num_mels, sampling_rate, fmin, fmax): 74 | global mel_basis 75 | dtype_device = str(spec.dtype) + '_' + str(spec.device) 76 | fmax_dtype_device = str(fmax) + '_' + dtype_device 77 | if fmax_dtype_device not in mel_basis: 78 | mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax) 79 | mel_basis[fmax_dtype_device] = torch.from_numpy(mel).to(dtype=spec.dtype, device=spec.device) 80 | spec = torch.matmul(mel_basis[fmax_dtype_device], spec) 81 | spec = spectral_normalize_torch(spec) 82 | return spec 83 | 84 | 85 | def mel_spectrogram_torch(y, n_fft, num_mels, sampling_rate, hop_size, win_size, fmin, fmax, center=False): 86 | if torch.min(y) < -1.: 87 | print('min value is ', torch.min(y)) 88 | if torch.max(y) > 1.: 89 | print('max value is ', torch.max(y)) 90 | 91 | global mel_basis, hann_window 92 | dtype_device = str(y.dtype) + '_' + str(y.device) 93 | fmax_dtype_device = str(fmax) + '_' + dtype_device 94 | wnsize_dtype_device = str(win_size) + '_' + dtype_device 95 | if fmax_dtype_device not in mel_basis: 96 | mel = librosa_mel_fn(sampling_rate, n_fft, num_mels, fmin, fmax) 97 | mel_basis[fmax_dtype_device] = torch.from_numpy(mel).to(dtype=y.dtype, device=y.device) 98 | if wnsize_dtype_device not in hann_window: 99 | hann_window[wnsize_dtype_device] = torch.hann_window(win_size).to(dtype=y.dtype, device=y.device) 100 | 101 | y = torch.nn.functional.pad(y.unsqueeze(1), (int((n_fft-hop_size)/2), int((n_fft-hop_size)/2)), mode='reflect') 102 | y = y.squeeze(1) 103 | 104 | spec = torch.stft(y, n_fft, hop_length=hop_size, win_length=win_size, window=hann_window[wnsize_dtype_device], 105 | center=center, pad_mode='reflect', normalized=False, onesided=True) 106 | 107 | spec = torch.sqrt(spec.pow(2).sum(-1) + 1e-6) 108 | 109 | spec = torch.matmul(mel_basis[fmax_dtype_device], spec) 110 | spec = spectral_normalize_torch(spec) 111 | 112 | return spec 113 | -------------------------------------------------------------------------------- /models.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import math 3 | import torch 4 | from torch import nn 5 | from torch.nn import functional as F 6 | 7 | import commons 8 | import modules 9 | import attentions 10 | import monotonic_align 11 | 12 | from torch.nn import Conv1d, ConvTranspose1d, AvgPool1d, Conv2d 13 | from torch.nn.utils import weight_norm, remove_weight_norm, spectral_norm 14 | from commons import init_weights, get_padding 15 | 16 | 17 | class StochasticDurationPredictor(nn.Module): 18 | def __init__(self, in_channels, filter_channels, kernel_size, p_dropout, n_flows=4, gin_channels=0): 19 | super().__init__() 20 | filter_channels = in_channels # it needs to be removed from future version. 21 | self.in_channels = in_channels 22 | self.filter_channels = filter_channels 23 | self.kernel_size = kernel_size 24 | self.p_dropout = p_dropout 25 | self.n_flows = n_flows 26 | self.gin_channels = gin_channels 27 | 28 | self.log_flow = modules.Log() 29 | self.flows = nn.ModuleList() 30 | self.flows.append(modules.ElementwiseAffine(2)) 31 | for i in range(n_flows): 32 | self.flows.append(modules.ConvFlow(2, filter_channels, kernel_size, n_layers=3)) 33 | self.flows.append(modules.Flip()) 34 | 35 | self.post_pre = nn.Conv1d(1, filter_channels, 1) 36 | self.post_proj = nn.Conv1d(filter_channels, filter_channels, 1) 37 | self.post_convs = modules.DDSConv(filter_channels, kernel_size, n_layers=3, p_dropout=p_dropout) 38 | self.post_flows = nn.ModuleList() 39 | self.post_flows.append(modules.ElementwiseAffine(2)) 40 | for i in range(4): 41 | self.post_flows.append(modules.ConvFlow(2, filter_channels, kernel_size, n_layers=3)) 42 | self.post_flows.append(modules.Flip()) 43 | 44 | self.pre = nn.Conv1d(in_channels, filter_channels, 1) 45 | self.proj = nn.Conv1d(filter_channels, filter_channels, 1) 46 | self.convs = modules.DDSConv(filter_channels, kernel_size, n_layers=3, p_dropout=p_dropout) 47 | if gin_channels != 0: 48 | self.cond = nn.Conv1d(gin_channels, filter_channels, 1) 49 | 50 | def forward(self, x, x_mask, w=None, g=None, reverse=False, noise_scale=1.0): 51 | x = torch.detach(x) 52 | x = self.pre(x) 53 | if g is not None: 54 | g = torch.detach(g) 55 | x = x + self.cond(g) 56 | x = self.convs(x, x_mask) 57 | x = self.proj(x) * x_mask 58 | 59 | if not reverse: 60 | flows = self.flows 61 | assert w is not None 62 | 63 | logdet_tot_q = 0 64 | h_w = self.post_pre(w) 65 | h_w = self.post_convs(h_w, x_mask) 66 | h_w = self.post_proj(h_w) * x_mask 67 | e_q = torch.randn(w.size(0), 2, w.size(2)).to(device=x.device, dtype=x.dtype) * x_mask 68 | z_q = e_q 69 | for flow in self.post_flows: 70 | z_q, logdet_q = flow(z_q, x_mask, g=(x + h_w)) 71 | logdet_tot_q += logdet_q 72 | z_u, z1 = torch.split(z_q, [1, 1], 1) 73 | u = torch.sigmoid(z_u) * x_mask 74 | z0 = (w - u) * x_mask 75 | logdet_tot_q += torch.sum((F.logsigmoid(z_u) + F.logsigmoid(-z_u)) * x_mask, [1,2]) 76 | logq = torch.sum(-0.5 * (math.log(2*math.pi) + (e_q**2)) * x_mask, [1,2]) - logdet_tot_q 77 | 78 | logdet_tot = 0 79 | z0, logdet = self.log_flow(z0, x_mask) 80 | logdet_tot += logdet 81 | z = torch.cat([z0, z1], 1) 82 | for flow in flows: 83 | z, logdet = flow(z, x_mask, g=x, reverse=reverse) 84 | logdet_tot = logdet_tot + logdet 85 | nll = torch.sum(0.5 * (math.log(2*math.pi) + (z**2)) * x_mask, [1,2]) - logdet_tot 86 | return nll + logq # [b] 87 | else: 88 | flows = list(reversed(self.flows)) 89 | flows = flows[:-2] + [flows[-1]] # remove a useless vflow 90 | z = torch.randn(x.size(0), 2, x.size(2)).to(device=x.device, dtype=x.dtype) * noise_scale 91 | for flow in flows: 92 | z = flow(z, x_mask, g=x, reverse=reverse) 93 | z0, z1 = torch.split(z, [1, 1], 1) 94 | logw = z0 95 | return logw 96 | 97 | 98 | class DurationPredictor(nn.Module): 99 | def __init__(self, in_channels, filter_channels, kernel_size, p_dropout, gin_channels=0): 100 | super().__init__() 101 | 102 | self.in_channels = in_channels 103 | self.filter_channels = filter_channels 104 | self.kernel_size = kernel_size 105 | self.p_dropout = p_dropout 106 | self.gin_channels = gin_channels 107 | 108 | self.drop = nn.Dropout(p_dropout) 109 | self.conv_1 = nn.Conv1d(in_channels, filter_channels, kernel_size, padding=kernel_size//2) 110 | self.norm_1 = modules.LayerNorm(filter_channels) 111 | self.conv_2 = nn.Conv1d(filter_channels, filter_channels, kernel_size, padding=kernel_size//2) 112 | self.norm_2 = modules.LayerNorm(filter_channels) 113 | self.proj = nn.Conv1d(filter_channels, 1, 1) 114 | 115 | if gin_channels != 0: 116 | self.cond = nn.Conv1d(gin_channels, in_channels, 1) 117 | 118 | def forward(self, x, x_mask, g=None): 119 | x = torch.detach(x) 120 | if g is not None: 121 | g = torch.detach(g) 122 | x = x + self.cond(g) 123 | x = self.conv_1(x * x_mask) 124 | x = torch.relu(x) 125 | x = self.norm_1(x) 126 | x = self.drop(x) 127 | x = self.conv_2(x * x_mask) 128 | x = torch.relu(x) 129 | x = self.norm_2(x) 130 | x = self.drop(x) 131 | x = self.proj(x * x_mask) 132 | return x * x_mask 133 | 134 | 135 | class TextEncoder(nn.Module): 136 | def __init__(self, 137 | n_vocab, 138 | out_channels, 139 | hidden_channels, 140 | filter_channels, 141 | n_heads, 142 | n_layers, 143 | kernel_size, 144 | p_dropout): 145 | super().__init__() 146 | self.n_vocab = n_vocab 147 | self.out_channels = out_channels 148 | self.hidden_channels = hidden_channels 149 | self.filter_channels = filter_channels 150 | self.n_heads = n_heads 151 | self.n_layers = n_layers 152 | self.kernel_size = kernel_size 153 | self.p_dropout = p_dropout 154 | 155 | self.emb = nn.Embedding(n_vocab, hidden_channels) 156 | nn.init.normal_(self.emb.weight, 0.0, hidden_channels**-0.5) 157 | 158 | self.encoder = attentions.Encoder( 159 | hidden_channels, 160 | filter_channels, 161 | n_heads, 162 | n_layers, 163 | kernel_size, 164 | p_dropout) 165 | self.proj= nn.Conv1d(hidden_channels, out_channels * 2, 1) 166 | 167 | def forward(self, x, x_lengths): 168 | x = self.emb(x) * math.sqrt(self.hidden_channels) # [b, t, h] 169 | x = torch.transpose(x, 1, -1) # [b, h, t] 170 | x_mask = torch.unsqueeze(commons.sequence_mask(x_lengths, x.size(2)), 1).to(x.dtype) 171 | 172 | x = self.encoder(x * x_mask, x_mask) 173 | stats = self.proj(x) * x_mask 174 | 175 | m, logs = torch.split(stats, self.out_channels, dim=1) 176 | return x, m, logs, x_mask 177 | 178 | 179 | class ResidualCouplingBlock(nn.Module): 180 | def __init__(self, 181 | channels, 182 | hidden_channels, 183 | kernel_size, 184 | dilation_rate, 185 | n_layers, 186 | n_flows=4, 187 | gin_channels=0): 188 | super().__init__() 189 | self.channels = channels 190 | self.hidden_channels = hidden_channels 191 | self.kernel_size = kernel_size 192 | self.dilation_rate = dilation_rate 193 | self.n_layers = n_layers 194 | self.n_flows = n_flows 195 | self.gin_channels = gin_channels 196 | 197 | self.flows = nn.ModuleList() 198 | for i in range(n_flows): 199 | self.flows.append(modules.ResidualCouplingLayer(channels, hidden_channels, kernel_size, dilation_rate, n_layers, gin_channels=gin_channels, mean_only=True)) 200 | self.flows.append(modules.Flip()) 201 | 202 | def forward(self, x, x_mask, g=None, reverse=False): 203 | if not reverse: 204 | for flow in self.flows: 205 | x, _ = flow(x, x_mask, g=g, reverse=reverse) 206 | else: 207 | for flow in reversed(self.flows): 208 | x = flow(x, x_mask, g=g, reverse=reverse) 209 | return x 210 | 211 | 212 | class PosteriorEncoder(nn.Module): 213 | def __init__(self, 214 | in_channels, 215 | out_channels, 216 | hidden_channels, 217 | kernel_size, 218 | dilation_rate, 219 | n_layers, 220 | gin_channels=0): 221 | super().__init__() 222 | self.in_channels = in_channels 223 | self.out_channels = out_channels 224 | self.hidden_channels = hidden_channels 225 | self.kernel_size = kernel_size 226 | self.dilation_rate = dilation_rate 227 | self.n_layers = n_layers 228 | self.gin_channels = gin_channels 229 | 230 | self.pre = nn.Conv1d(in_channels, hidden_channels, 1) 231 | self.enc = modules.WN(hidden_channels, kernel_size, dilation_rate, n_layers, gin_channels=gin_channels) 232 | self.proj = nn.Conv1d(hidden_channels, out_channels * 2, 1) 233 | 234 | def forward(self, x, x_lengths, g=None): 235 | x_mask = torch.unsqueeze(commons.sequence_mask(x_lengths, x.size(2)), 1).to(x.dtype) 236 | x = self.pre(x) * x_mask 237 | x = self.enc(x, x_mask, g=g) 238 | stats = self.proj(x) * x_mask 239 | m, logs = torch.split(stats, self.out_channels, dim=1) 240 | z = (m + torch.randn_like(m) * torch.exp(logs)) * x_mask 241 | return z, m, logs, x_mask 242 | 243 | 244 | class Generator(torch.nn.Module): 245 | def __init__(self, initial_channel, resblock, resblock_kernel_sizes, resblock_dilation_sizes, upsample_rates, upsample_initial_channel, upsample_kernel_sizes, gin_channels=0): 246 | super(Generator, self).__init__() 247 | self.num_kernels = len(resblock_kernel_sizes) 248 | self.num_upsamples = len(upsample_rates) 249 | self.conv_pre = Conv1d(initial_channel, upsample_initial_channel, 7, 1, padding=3) 250 | resblock = modules.ResBlock1 if resblock == '1' else modules.ResBlock2 251 | 252 | self.ups = nn.ModuleList() 253 | for i, (u, k) in enumerate(zip(upsample_rates, upsample_kernel_sizes)): 254 | self.ups.append(weight_norm( 255 | ConvTranspose1d(upsample_initial_channel//(2**i), upsample_initial_channel//(2**(i+1)), 256 | k, u, padding=(k-u)//2))) 257 | 258 | self.resblocks = nn.ModuleList() 259 | for i in range(len(self.ups)): 260 | ch = upsample_initial_channel//(2**(i+1)) 261 | for j, (k, d) in enumerate(zip(resblock_kernel_sizes, resblock_dilation_sizes)): 262 | self.resblocks.append(resblock(ch, k, d)) 263 | 264 | self.conv_post = Conv1d(ch, 1, 7, 1, padding=3, bias=False) 265 | self.ups.apply(init_weights) 266 | 267 | if gin_channels != 0: 268 | self.cond = nn.Conv1d(gin_channels, upsample_initial_channel, 1) 269 | 270 | def forward(self, x, g=None): 271 | x = self.conv_pre(x) 272 | if g is not None: 273 | x = x + self.cond(g) 274 | 275 | for i in range(self.num_upsamples): 276 | x = F.leaky_relu(x, modules.LRELU_SLOPE) 277 | x = self.ups[i](x) 278 | xs = None 279 | for j in range(self.num_kernels): 280 | if xs is None: 281 | xs = self.resblocks[i*self.num_kernels+j](x) 282 | else: 283 | xs += self.resblocks[i*self.num_kernels+j](x) 284 | x = xs / self.num_kernels 285 | x = F.leaky_relu(x) 286 | x = self.conv_post(x) 287 | x = torch.tanh(x) 288 | 289 | return x 290 | 291 | def remove_weight_norm(self): 292 | print('Removing weight norm...') 293 | for l in self.ups: 294 | remove_weight_norm(l) 295 | for l in self.resblocks: 296 | l.remove_weight_norm() 297 | 298 | 299 | class DiscriminatorP(torch.nn.Module): 300 | def __init__(self, period, kernel_size=5, stride=3, use_spectral_norm=False): 301 | super(DiscriminatorP, self).__init__() 302 | self.period = period 303 | self.use_spectral_norm = use_spectral_norm 304 | norm_f = weight_norm if use_spectral_norm == False else spectral_norm 305 | self.convs = nn.ModuleList([ 306 | norm_f(Conv2d(1, 32, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), 307 | norm_f(Conv2d(32, 128, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), 308 | norm_f(Conv2d(128, 512, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), 309 | norm_f(Conv2d(512, 1024, (kernel_size, 1), (stride, 1), padding=(get_padding(kernel_size, 1), 0))), 310 | norm_f(Conv2d(1024, 1024, (kernel_size, 1), 1, padding=(get_padding(kernel_size, 1), 0))), 311 | ]) 312 | self.conv_post = norm_f(Conv2d(1024, 1, (3, 1), 1, padding=(1, 0))) 313 | 314 | def forward(self, x): 315 | fmap = [] 316 | 317 | # 1d to 2d 318 | b, c, t = x.shape 319 | if t % self.period != 0: # pad first 320 | n_pad = self.period - (t % self.period) 321 | x = F.pad(x, (0, n_pad), "reflect") 322 | t = t + n_pad 323 | x = x.view(b, c, t // self.period, self.period) 324 | 325 | for l in self.convs: 326 | x = l(x) 327 | x = F.leaky_relu(x, modules.LRELU_SLOPE) 328 | fmap.append(x) 329 | x = self.conv_post(x) 330 | fmap.append(x) 331 | x = torch.flatten(x, 1, -1) 332 | 333 | return x, fmap 334 | 335 | 336 | class DiscriminatorS(torch.nn.Module): 337 | def __init__(self, use_spectral_norm=False): 338 | super(DiscriminatorS, self).__init__() 339 | norm_f = weight_norm if use_spectral_norm == False else spectral_norm 340 | self.convs = nn.ModuleList([ 341 | norm_f(Conv1d(1, 16, 15, 1, padding=7)), 342 | norm_f(Conv1d(16, 64, 41, 4, groups=4, padding=20)), 343 | norm_f(Conv1d(64, 256, 41, 4, groups=16, padding=20)), 344 | norm_f(Conv1d(256, 1024, 41, 4, groups=64, padding=20)), 345 | norm_f(Conv1d(1024, 1024, 41, 4, groups=256, padding=20)), 346 | norm_f(Conv1d(1024, 1024, 5, 1, padding=2)), 347 | ]) 348 | self.conv_post = norm_f(Conv1d(1024, 1, 3, 1, padding=1)) 349 | 350 | def forward(self, x): 351 | fmap = [] 352 | 353 | for l in self.convs: 354 | x = l(x) 355 | x = F.leaky_relu(x, modules.LRELU_SLOPE) 356 | fmap.append(x) 357 | x = self.conv_post(x) 358 | fmap.append(x) 359 | x = torch.flatten(x, 1, -1) 360 | 361 | return x, fmap 362 | 363 | 364 | class MultiPeriodDiscriminator(torch.nn.Module): 365 | def __init__(self, use_spectral_norm=False): 366 | super(MultiPeriodDiscriminator, self).__init__() 367 | periods = [2,3,5,7,11] 368 | 369 | discs = [DiscriminatorS(use_spectral_norm=use_spectral_norm)] 370 | discs = discs + [DiscriminatorP(i, use_spectral_norm=use_spectral_norm) for i in periods] 371 | self.discriminators = nn.ModuleList(discs) 372 | 373 | def forward(self, y, y_hat): 374 | y_d_rs = [] 375 | y_d_gs = [] 376 | fmap_rs = [] 377 | fmap_gs = [] 378 | for i, d in enumerate(self.discriminators): 379 | y_d_r, fmap_r = d(y) 380 | y_d_g, fmap_g = d(y_hat) 381 | y_d_rs.append(y_d_r) 382 | y_d_gs.append(y_d_g) 383 | fmap_rs.append(fmap_r) 384 | fmap_gs.append(fmap_g) 385 | 386 | return y_d_rs, y_d_gs, fmap_rs, fmap_gs 387 | 388 | 389 | 390 | class SynthesizerTrn(nn.Module): 391 | """ 392 | Synthesizer for Training 393 | """ 394 | 395 | def __init__(self, 396 | n_vocab, 397 | spec_channels, 398 | segment_size, 399 | inter_channels, 400 | hidden_channels, 401 | filter_channels, 402 | n_heads, 403 | n_layers, 404 | kernel_size, 405 | p_dropout, 406 | resblock, 407 | resblock_kernel_sizes, 408 | resblock_dilation_sizes, 409 | upsample_rates, 410 | upsample_initial_channel, 411 | upsample_kernel_sizes, 412 | n_speakers=0, 413 | gin_channels=0, 414 | use_sdp=True, 415 | **kwargs): 416 | 417 | super().__init__() 418 | self.n_vocab = n_vocab 419 | self.spec_channels = spec_channels 420 | self.inter_channels = inter_channels 421 | self.hidden_channels = hidden_channels 422 | self.filter_channels = filter_channels 423 | self.n_heads = n_heads 424 | self.n_layers = n_layers 425 | self.kernel_size = kernel_size 426 | self.p_dropout = p_dropout 427 | self.resblock = resblock 428 | self.resblock_kernel_sizes = resblock_kernel_sizes 429 | self.resblock_dilation_sizes = resblock_dilation_sizes 430 | self.upsample_rates = upsample_rates 431 | self.upsample_initial_channel = upsample_initial_channel 432 | self.upsample_kernel_sizes = upsample_kernel_sizes 433 | self.segment_size = segment_size 434 | self.n_speakers = n_speakers 435 | self.gin_channels = gin_channels 436 | 437 | self.use_sdp = use_sdp 438 | 439 | self.enc_p = TextEncoder(n_vocab, 440 | inter_channels, 441 | hidden_channels, 442 | filter_channels, 443 | n_heads, 444 | n_layers, 445 | kernel_size, 446 | p_dropout) 447 | self.dec = Generator(inter_channels, resblock, resblock_kernel_sizes, resblock_dilation_sizes, upsample_rates, upsample_initial_channel, upsample_kernel_sizes, gin_channels=gin_channels) 448 | self.enc_q = PosteriorEncoder(spec_channels, inter_channels, hidden_channels, 5, 1, 16, gin_channels=gin_channels) 449 | self.flow = ResidualCouplingBlock(inter_channels, hidden_channels, 5, 1, 4, gin_channels=gin_channels) 450 | 451 | if use_sdp: 452 | self.dp = StochasticDurationPredictor(hidden_channels, 192, 3, 0.5, 4, gin_channels=gin_channels) 453 | else: 454 | self.dp = DurationPredictor(hidden_channels, 256, 3, 0.5, gin_channels=gin_channels) 455 | 456 | if n_speakers > 1: 457 | self.emb_g = nn.Embedding(n_speakers, gin_channels) 458 | 459 | def forward(self, x, x_lengths, y, y_lengths, sid=None): 460 | 461 | x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths) 462 | if self.n_speakers > 0: 463 | g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] 464 | else: 465 | g = None 466 | 467 | z, m_q, logs_q, y_mask = self.enc_q(y, y_lengths, g=g) 468 | z_p = self.flow(z, y_mask, g=g) 469 | 470 | with torch.no_grad(): 471 | # negative cross-entropy 472 | s_p_sq_r = torch.exp(-2 * logs_p) # [b, d, t] 473 | neg_cent1 = torch.sum(-0.5 * math.log(2 * math.pi) - logs_p, [1], keepdim=True) # [b, 1, t_s] 474 | 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] 475 | 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] 476 | neg_cent4 = torch.sum(-0.5 * (m_p ** 2) * s_p_sq_r, [1], keepdim=True) # [b, 1, t_s] 477 | neg_cent = neg_cent1 + neg_cent2 + neg_cent3 + neg_cent4 478 | 479 | attn_mask = torch.unsqueeze(x_mask, 2) * torch.unsqueeze(y_mask, -1) 480 | attn = monotonic_align.maximum_path(neg_cent, attn_mask.squeeze(1)).unsqueeze(1).detach() 481 | 482 | w = attn.sum(2) 483 | if self.use_sdp: 484 | l_length = self.dp(x, x_mask, w, g=g) 485 | l_length = l_length / torch.sum(x_mask) 486 | else: 487 | logw_ = torch.log(w + 1e-6) * x_mask 488 | logw = self.dp(x, x_mask, g=g) 489 | l_length = torch.sum((logw - logw_)**2, [1,2]) / torch.sum(x_mask) # for averaging 490 | 491 | # expand prior 492 | m_p = torch.matmul(attn.squeeze(1), m_p.transpose(1, 2)).transpose(1, 2) 493 | logs_p = torch.matmul(attn.squeeze(1), logs_p.transpose(1, 2)).transpose(1, 2) 494 | 495 | z_slice, ids_slice = commons.rand_slice_segments(z, y_lengths, self.segment_size) 496 | o = self.dec(z_slice, g=g) 497 | return o, l_length, attn, ids_slice, x_mask, y_mask, (z, z_p, m_p, logs_p, m_q, logs_q) 498 | 499 | def infer(self, x, x_lengths, sid=None, noise_scale=1, length_scale=1, noise_scale_w=1., max_len=None): 500 | x, m_p, logs_p, x_mask = self.enc_p(x, x_lengths) 501 | if self.n_speakers > 0: 502 | g = self.emb_g(sid).unsqueeze(-1) # [b, h, 1] 503 | else: 504 | g = None 505 | 506 | if self.use_sdp: 507 | logw = self.dp(x, x_mask, g=g, reverse=True, noise_scale=noise_scale_w) 508 | else: 509 | logw = self.dp(x, x_mask, g=g) 510 | w = torch.exp(logw) * x_mask * length_scale 511 | w_ceil = torch.ceil(w) 512 | y_lengths = torch.clamp_min(torch.sum(w_ceil, [1, 2]), 1).long() 513 | y_mask = torch.unsqueeze(commons.sequence_mask(y_lengths, None), 1).to(x_mask.dtype) 514 | attn_mask = torch.unsqueeze(x_mask, 2) * torch.unsqueeze(y_mask, -1) 515 | attn = commons.generate_path(w_ceil, attn_mask) 516 | 517 | m_p = torch.matmul(attn.squeeze(1), m_p.transpose(1, 2)).transpose(1, 2) # [b, t', t], [b, t, d] -> [b, d, t'] 518 | logs_p = torch.matmul(attn.squeeze(1), logs_p.transpose(1, 2)).transpose(1, 2) # [b, t', t], [b, t, d] -> [b, d, t'] 519 | 520 | z_p = m_p + torch.randn_like(m_p) * torch.exp(logs_p) * noise_scale 521 | z = self.flow(z_p, y_mask, g=g, reverse=True) 522 | o = self.dec((z * y_mask)[:,:,:max_len], g=g) 523 | return o, attn, y_mask, (z, z_p, m_p, logs_p) 524 | 525 | def voice_conversion(self, y, y_lengths, sid_src, sid_tgt): 526 | assert self.n_speakers > 0, "n_speakers have to be larger than 0." 527 | g_src = self.emb_g(sid_src).unsqueeze(-1) 528 | g_tgt = self.emb_g(sid_tgt).unsqueeze(-1) 529 | z, m_q, logs_q, y_mask = self.enc_q(y, y_lengths, g=g_src) 530 | z_p = self.flow(z, y_mask, g=g_src) 531 | z_hat = self.flow(z_p, y_mask, g=g_tgt, reverse=True) 532 | o_hat = self.dec(z_hat * y_mask, g=g_tgt) 533 | return o_hat, y_mask, (z, z_p, z_hat) 534 | 535 | -------------------------------------------------------------------------------- /modules.py: -------------------------------------------------------------------------------- 1 | import copy 2 | import math 3 | import numpy as np 4 | import scipy 5 | import torch 6 | from torch import nn 7 | from torch.nn import functional as F 8 | 9 | from torch.nn import Conv1d, ConvTranspose1d, AvgPool1d, Conv2d 10 | from torch.nn.utils import weight_norm, remove_weight_norm 11 | 12 | import commons 13 | from commons import init_weights, get_padding 14 | from transforms import piecewise_rational_quadratic_transform 15 | 16 | 17 | LRELU_SLOPE = 0.1 18 | 19 | 20 | class LayerNorm(nn.Module): 21 | def __init__(self, channels, eps=1e-5): 22 | super().__init__() 23 | self.channels = channels 24 | self.eps = eps 25 | 26 | self.gamma = nn.Parameter(torch.ones(channels)) 27 | self.beta = nn.Parameter(torch.zeros(channels)) 28 | 29 | def forward(self, x): 30 | x = x.transpose(1, -1) 31 | x = F.layer_norm(x, (self.channels,), self.gamma, self.beta, self.eps) 32 | return x.transpose(1, -1) 33 | 34 | 35 | class ConvReluNorm(nn.Module): 36 | def __init__(self, in_channels, hidden_channels, out_channels, kernel_size, n_layers, p_dropout): 37 | super().__init__() 38 | self.in_channels = in_channels 39 | self.hidden_channels = hidden_channels 40 | self.out_channels = out_channels 41 | self.kernel_size = kernel_size 42 | self.n_layers = n_layers 43 | self.p_dropout = p_dropout 44 | assert n_layers > 1, "Number of layers should be larger than 0." 45 | 46 | self.conv_layers = nn.ModuleList() 47 | self.norm_layers = nn.ModuleList() 48 | self.conv_layers.append(nn.Conv1d(in_channels, hidden_channels, kernel_size, padding=kernel_size//2)) 49 | self.norm_layers.append(LayerNorm(hidden_channels)) 50 | self.relu_drop = nn.Sequential( 51 | nn.ReLU(), 52 | nn.Dropout(p_dropout)) 53 | for _ in range(n_layers-1): 54 | self.conv_layers.append(nn.Conv1d(hidden_channels, hidden_channels, kernel_size, padding=kernel_size//2)) 55 | self.norm_layers.append(LayerNorm(hidden_channels)) 56 | self.proj = nn.Conv1d(hidden_channels, out_channels, 1) 57 | self.proj.weight.data.zero_() 58 | self.proj.bias.data.zero_() 59 | 60 | def forward(self, x, x_mask): 61 | x_org = x 62 | for i in range(self.n_layers): 63 | x = self.conv_layers[i](x * x_mask) 64 | x = self.norm_layers[i](x) 65 | x = self.relu_drop(x) 66 | x = x_org + self.proj(x) 67 | return x * x_mask 68 | 69 | 70 | class DDSConv(nn.Module): 71 | """ 72 | Dialted and Depth-Separable Convolution 73 | """ 74 | def __init__(self, channels, kernel_size, n_layers, p_dropout=0.): 75 | super().__init__() 76 | self.channels = channels 77 | self.kernel_size = kernel_size 78 | self.n_layers = n_layers 79 | self.p_dropout = p_dropout 80 | 81 | self.drop = nn.Dropout(p_dropout) 82 | self.convs_sep = nn.ModuleList() 83 | self.convs_1x1 = nn.ModuleList() 84 | self.norms_1 = nn.ModuleList() 85 | self.norms_2 = nn.ModuleList() 86 | for i in range(n_layers): 87 | dilation = kernel_size ** i 88 | padding = (kernel_size * dilation - dilation) // 2 89 | self.convs_sep.append(nn.Conv1d(channels, channels, kernel_size, 90 | groups=channels, dilation=dilation, padding=padding 91 | )) 92 | self.convs_1x1.append(nn.Conv1d(channels, channels, 1)) 93 | self.norms_1.append(LayerNorm(channels)) 94 | self.norms_2.append(LayerNorm(channels)) 95 | 96 | def forward(self, x, x_mask, g=None): 97 | if g is not None: 98 | x = x + g 99 | for i in range(self.n_layers): 100 | y = self.convs_sep[i](x * x_mask) 101 | y = self.norms_1[i](y) 102 | y = F.gelu(y) 103 | y = self.convs_1x1[i](y) 104 | y = self.norms_2[i](y) 105 | y = F.gelu(y) 106 | y = self.drop(y) 107 | x = x + y 108 | return x * x_mask 109 | 110 | 111 | class WN(torch.nn.Module): 112 | def __init__(self, hidden_channels, kernel_size, dilation_rate, n_layers, gin_channels=0, p_dropout=0): 113 | super(WN, self).__init__() 114 | assert(kernel_size % 2 == 1) 115 | self.hidden_channels =hidden_channels 116 | self.kernel_size = kernel_size, 117 | self.dilation_rate = dilation_rate 118 | self.n_layers = n_layers 119 | self.gin_channels = gin_channels 120 | self.p_dropout = p_dropout 121 | 122 | self.in_layers = torch.nn.ModuleList() 123 | self.res_skip_layers = torch.nn.ModuleList() 124 | self.drop = nn.Dropout(p_dropout) 125 | 126 | if gin_channels != 0: 127 | cond_layer = torch.nn.Conv1d(gin_channels, 2*hidden_channels*n_layers, 1) 128 | self.cond_layer = torch.nn.utils.weight_norm(cond_layer, name='weight') 129 | 130 | for i in range(n_layers): 131 | dilation = dilation_rate ** i 132 | padding = int((kernel_size * dilation - dilation) / 2) 133 | in_layer = torch.nn.Conv1d(hidden_channels, 2*hidden_channels, kernel_size, 134 | dilation=dilation, padding=padding) 135 | in_layer = torch.nn.utils.weight_norm(in_layer, name='weight') 136 | self.in_layers.append(in_layer) 137 | 138 | # last one is not necessary 139 | if i < n_layers - 1: 140 | res_skip_channels = 2 * hidden_channels 141 | else: 142 | res_skip_channels = hidden_channels 143 | 144 | res_skip_layer = torch.nn.Conv1d(hidden_channels, res_skip_channels, 1) 145 | res_skip_layer = torch.nn.utils.weight_norm(res_skip_layer, name='weight') 146 | self.res_skip_layers.append(res_skip_layer) 147 | 148 | def forward(self, x, x_mask, g=None, **kwargs): 149 | output = torch.zeros_like(x) 150 | n_channels_tensor = torch.IntTensor([self.hidden_channels]) 151 | 152 | if g is not None: 153 | g = self.cond_layer(g) 154 | 155 | for i in range(self.n_layers): 156 | x_in = self.in_layers[i](x) 157 | if g is not None: 158 | cond_offset = i * 2 * self.hidden_channels 159 | g_l = g[:,cond_offset:cond_offset+2*self.hidden_channels,:] 160 | else: 161 | g_l = torch.zeros_like(x_in) 162 | 163 | acts = commons.fused_add_tanh_sigmoid_multiply( 164 | x_in, 165 | g_l, 166 | n_channels_tensor) 167 | acts = self.drop(acts) 168 | 169 | res_skip_acts = self.res_skip_layers[i](acts) 170 | if i < self.n_layers - 1: 171 | res_acts = res_skip_acts[:,:self.hidden_channels,:] 172 | x = (x + res_acts) * x_mask 173 | output = output + res_skip_acts[:,self.hidden_channels:,:] 174 | else: 175 | output = output + res_skip_acts 176 | return output * x_mask 177 | 178 | def remove_weight_norm(self): 179 | if self.gin_channels != 0: 180 | torch.nn.utils.remove_weight_norm(self.cond_layer) 181 | for l in self.in_layers: 182 | torch.nn.utils.remove_weight_norm(l) 183 | for l in self.res_skip_layers: 184 | torch.nn.utils.remove_weight_norm(l) 185 | 186 | 187 | class ResBlock1(torch.nn.Module): 188 | def __init__(self, channels, kernel_size=3, dilation=(1, 3, 5)): 189 | super(ResBlock1, self).__init__() 190 | self.convs1 = nn.ModuleList([ 191 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[0], 192 | padding=get_padding(kernel_size, dilation[0]))), 193 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[1], 194 | padding=get_padding(kernel_size, dilation[1]))), 195 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[2], 196 | padding=get_padding(kernel_size, dilation[2]))) 197 | ]) 198 | self.convs1.apply(init_weights) 199 | 200 | self.convs2 = nn.ModuleList([ 201 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, 202 | padding=get_padding(kernel_size, 1))), 203 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, 204 | padding=get_padding(kernel_size, 1))), 205 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=1, 206 | padding=get_padding(kernel_size, 1))) 207 | ]) 208 | self.convs2.apply(init_weights) 209 | 210 | def forward(self, x, x_mask=None): 211 | for c1, c2 in zip(self.convs1, self.convs2): 212 | xt = F.leaky_relu(x, LRELU_SLOPE) 213 | if x_mask is not None: 214 | xt = xt * x_mask 215 | xt = c1(xt) 216 | xt = F.leaky_relu(xt, LRELU_SLOPE) 217 | if x_mask is not None: 218 | xt = xt * x_mask 219 | xt = c2(xt) 220 | x = xt + x 221 | if x_mask is not None: 222 | x = x * x_mask 223 | return x 224 | 225 | def remove_weight_norm(self): 226 | for l in self.convs1: 227 | remove_weight_norm(l) 228 | for l in self.convs2: 229 | remove_weight_norm(l) 230 | 231 | 232 | class ResBlock2(torch.nn.Module): 233 | def __init__(self, channels, kernel_size=3, dilation=(1, 3)): 234 | super(ResBlock2, self).__init__() 235 | self.convs = nn.ModuleList([ 236 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[0], 237 | padding=get_padding(kernel_size, dilation[0]))), 238 | weight_norm(Conv1d(channels, channels, kernel_size, 1, dilation=dilation[1], 239 | padding=get_padding(kernel_size, dilation[1]))) 240 | ]) 241 | self.convs.apply(init_weights) 242 | 243 | def forward(self, x, x_mask=None): 244 | for c in self.convs: 245 | xt = F.leaky_relu(x, LRELU_SLOPE) 246 | if x_mask is not None: 247 | xt = xt * x_mask 248 | xt = c(xt) 249 | x = xt + x 250 | if x_mask is not None: 251 | x = x * x_mask 252 | return x 253 | 254 | def remove_weight_norm(self): 255 | for l in self.convs: 256 | remove_weight_norm(l) 257 | 258 | 259 | class Log(nn.Module): 260 | def forward(self, x, x_mask, reverse=False, **kwargs): 261 | if not reverse: 262 | y = torch.log(torch.clamp_min(x, 1e-5)) * x_mask 263 | logdet = torch.sum(-y, [1, 2]) 264 | return y, logdet 265 | else: 266 | x = torch.exp(x) * x_mask 267 | return x 268 | 269 | 270 | class Flip(nn.Module): 271 | def forward(self, x, *args, reverse=False, **kwargs): 272 | x = torch.flip(x, [1]) 273 | if not reverse: 274 | logdet = torch.zeros(x.size(0)).to(dtype=x.dtype, device=x.device) 275 | return x, logdet 276 | else: 277 | return x 278 | 279 | 280 | class ElementwiseAffine(nn.Module): 281 | def __init__(self, channels): 282 | super().__init__() 283 | self.channels = channels 284 | self.m = nn.Parameter(torch.zeros(channels,1)) 285 | self.logs = nn.Parameter(torch.zeros(channels,1)) 286 | 287 | def forward(self, x, x_mask, reverse=False, **kwargs): 288 | if not reverse: 289 | y = self.m + torch.exp(self.logs) * x 290 | y = y * x_mask 291 | logdet = torch.sum(self.logs * x_mask, [1,2]) 292 | return y, logdet 293 | else: 294 | x = (x - self.m) * torch.exp(-self.logs) * x_mask 295 | return x 296 | 297 | 298 | class ResidualCouplingLayer(nn.Module): 299 | def __init__(self, 300 | channels, 301 | hidden_channels, 302 | kernel_size, 303 | dilation_rate, 304 | n_layers, 305 | p_dropout=0, 306 | gin_channels=0, 307 | mean_only=False): 308 | assert channels % 2 == 0, "channels should be divisible by 2" 309 | super().__init__() 310 | self.channels = channels 311 | self.hidden_channels = hidden_channels 312 | self.kernel_size = kernel_size 313 | self.dilation_rate = dilation_rate 314 | self.n_layers = n_layers 315 | self.half_channels = channels // 2 316 | self.mean_only = mean_only 317 | 318 | self.pre = nn.Conv1d(self.half_channels, hidden_channels, 1) 319 | self.enc = WN(hidden_channels, kernel_size, dilation_rate, n_layers, p_dropout=p_dropout, gin_channels=gin_channels) 320 | self.post = nn.Conv1d(hidden_channels, self.half_channels * (2 - mean_only), 1) 321 | self.post.weight.data.zero_() 322 | self.post.bias.data.zero_() 323 | 324 | def forward(self, x, x_mask, g=None, reverse=False): 325 | x0, x1 = torch.split(x, [self.half_channels]*2, 1) 326 | h = self.pre(x0) * x_mask 327 | h = self.enc(h, x_mask, g=g) 328 | stats = self.post(h) * x_mask 329 | if not self.mean_only: 330 | m, logs = torch.split(stats, [self.half_channels]*2, 1) 331 | else: 332 | m = stats 333 | logs = torch.zeros_like(m) 334 | 335 | if not reverse: 336 | x1 = m + x1 * torch.exp(logs) * x_mask 337 | x = torch.cat([x0, x1], 1) 338 | logdet = torch.sum(logs, [1,2]) 339 | return x, logdet 340 | else: 341 | x1 = (x1 - m) * torch.exp(-logs) * x_mask 342 | x = torch.cat([x0, x1], 1) 343 | return x 344 | 345 | 346 | class ConvFlow(nn.Module): 347 | def __init__(self, in_channels, filter_channels, kernel_size, n_layers, num_bins=10, tail_bound=5.0): 348 | super().__init__() 349 | self.in_channels = in_channels 350 | self.filter_channels = filter_channels 351 | self.kernel_size = kernel_size 352 | self.n_layers = n_layers 353 | self.num_bins = num_bins 354 | self.tail_bound = tail_bound 355 | self.half_channels = in_channels // 2 356 | 357 | self.pre = nn.Conv1d(self.half_channels, filter_channels, 1) 358 | self.convs = DDSConv(filter_channels, kernel_size, n_layers, p_dropout=0.) 359 | self.proj = nn.Conv1d(filter_channels, self.half_channels * (num_bins * 3 - 1), 1) 360 | self.proj.weight.data.zero_() 361 | self.proj.bias.data.zero_() 362 | 363 | def forward(self, x, x_mask, g=None, reverse=False): 364 | x0, x1 = torch.split(x, [self.half_channels]*2, 1) 365 | h = self.pre(x0) 366 | h = self.convs(h, x_mask, g=g) 367 | h = self.proj(h) * x_mask 368 | 369 | b, c, t = x0.shape 370 | h = h.reshape(b, c, -1, t).permute(0, 1, 3, 2) # [b, cx?, t] -> [b, c, t, ?] 371 | 372 | unnormalized_widths = h[..., :self.num_bins] / math.sqrt(self.filter_channels) 373 | unnormalized_heights = h[..., self.num_bins:2*self.num_bins] / math.sqrt(self.filter_channels) 374 | unnormalized_derivatives = h[..., 2 * self.num_bins:] 375 | 376 | x1, logabsdet = piecewise_rational_quadratic_transform(x1, 377 | unnormalized_widths, 378 | unnormalized_heights, 379 | unnormalized_derivatives, 380 | inverse=reverse, 381 | tails='linear', 382 | tail_bound=self.tail_bound 383 | ) 384 | 385 | x = torch.cat([x0, x1], 1) * x_mask 386 | logdet = torch.sum(logabsdet * x_mask, [1,2]) 387 | if not reverse: 388 | return x, logdet 389 | else: 390 | return x 391 | -------------------------------------------------------------------------------- /monotonic_align/__init__.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | from .monotonic_align.core import maximum_path_c 4 | 5 | 6 | def maximum_path(neg_cent, mask): 7 | """ Cython optimized version. 8 | neg_cent: [b, t_t, t_s] 9 | mask: [b, t_t, t_s] 10 | """ 11 | device = neg_cent.device 12 | dtype = neg_cent.dtype 13 | neg_cent = neg_cent.data.cpu().numpy().astype(np.float32) 14 | path = np.zeros(neg_cent.shape, dtype=np.int32) 15 | 16 | t_t_max = mask.sum(1)[:, 0].data.cpu().numpy().astype(np.int32) 17 | t_s_max = mask.sum(2)[:, 0].data.cpu().numpy().astype(np.int32) 18 | maximum_path_c(path, neg_cent, t_t_max, t_s_max) 19 | return torch.from_numpy(path).to(device=device, dtype=dtype) 20 | -------------------------------------------------------------------------------- /monotonic_align/core.pyx: -------------------------------------------------------------------------------- 1 | cimport cython 2 | from cython.parallel import prange 3 | 4 | 5 | @cython.boundscheck(False) 6 | @cython.wraparound(False) 7 | cdef void maximum_path_each(int[:,::1] path, float[:,::1] value, int t_y, int t_x, float max_neg_val=-1e9) nogil: 8 | cdef int x 9 | cdef int y 10 | cdef float v_prev 11 | cdef float v_cur 12 | cdef float tmp 13 | cdef int index = t_x - 1 14 | 15 | for y in range(t_y): 16 | for x in range(max(0, t_x + y - t_y), min(t_x, y + 1)): 17 | if x == y: 18 | v_cur = max_neg_val 19 | else: 20 | v_cur = value[y-1, x] 21 | if x == 0: 22 | if y == 0: 23 | v_prev = 0. 24 | else: 25 | v_prev = max_neg_val 26 | else: 27 | v_prev = value[y-1, x-1] 28 | value[y, x] += max(v_prev, v_cur) 29 | 30 | for y in range(t_y - 1, -1, -1): 31 | path[y, index] = 1 32 | if index != 0 and (index == y or value[y-1, index] < value[y-1, index-1]): 33 | index = index - 1 34 | 35 | 36 | @cython.boundscheck(False) 37 | @cython.wraparound(False) 38 | cpdef void maximum_path_c(int[:,:,::1] paths, float[:,:,::1] values, int[::1] t_ys, int[::1] t_xs) nogil: 39 | cdef int b = paths.shape[0] 40 | cdef int i 41 | for i in prange(b, nogil=True): 42 | maximum_path_each(paths[i], values[i], t_ys[i], t_xs[i]) 43 | -------------------------------------------------------------------------------- /monotonic_align/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | from Cython.Build import cythonize 3 | import numpy 4 | 5 | setup( 6 | name = 'monotonic_align', 7 | ext_modules = cythonize("core.pyx"), 8 | include_dirs=[numpy.get_include()] 9 | ) 10 | -------------------------------------------------------------------------------- /preprocess.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import text 3 | from utils import load_filepaths_and_text 4 | 5 | if __name__ == '__main__': 6 | parser = argparse.ArgumentParser() 7 | parser.add_argument("--out_extension", default="cleaned") 8 | parser.add_argument("--lang_index", default=2, type=str) 9 | parser.add_argument("--text_index", default=3, type=int) 10 | parser.add_argument("--filelists", nargs="+", type=str, required=True) 11 | parser.add_argument("--text_cleaners", nargs="+", default=["chipanese_cleaners"]) 12 | 13 | args = parser.parse_args() 14 | 15 | 16 | for filelist in args.filelists: 17 | print("START:", filelist) 18 | filepaths_and_text = load_filepaths_and_text(filelist) 19 | for i in range(len(filepaths_and_text)): 20 | original_text = filepaths_and_text[i][args.text_index] 21 | language = filepaths_and_text[i][args.lang_index] 22 | cleaned_text = text._clean_text(original_text, args.text_cleaners, language) 23 | filepaths_and_text[i][args.text_index] = cleaned_text 24 | 25 | new_filelist = filelist + "." + args.out_extension 26 | with open(new_filelist, "w", encoding="utf-8") as f: 27 | f.writelines(["|".join(x) + "\n" for x in filepaths_and_text]) 28 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Cython==0.29.21 2 | librosa==0.8.0 3 | matplotlib==3.3.1 4 | numpy==1.21.6 5 | phonemizer==2.2.1 6 | scipy==1.5.2 7 | tensorboard==2.3.0 8 | Unidecode==1.1.1 9 | pyopenjtalk==0.2.0 10 | pypinyin 11 | -------------------------------------------------------------------------------- /text/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017 Keith Ito 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /text/__init__.py: -------------------------------------------------------------------------------- 1 | """ from https://github.com/keithito/tacotron """ 2 | from text import cleaners 3 | from text.symbols import symbols 4 | 5 | 6 | # Mappings from symbol to numeric ID and vice versa: 7 | _symbol_to_id = {s: i for i, s in enumerate(symbols)} 8 | _id_to_symbol = {i: s for i, s in enumerate(symbols)} 9 | 10 | 11 | def text_to_sequence(text, cleaner_names, lang): 12 | '''Converts a string of text to a sequence of IDs corresponding to the symbols in the text. 13 | Args: 14 | text: string to convert to a sequence 15 | cleaner_names: names of the cleaner functions to run the text through 16 | Returns: 17 | List of integers corresponding to the symbols in the text 18 | ''' 19 | sequence = [] 20 | 21 | clean_text = _clean_text(text, cleaner_names, lang) 22 | for symbol in clean_text: 23 | if symbol not in _symbol_to_id.keys(): 24 | continue 25 | symbol_id = _symbol_to_id[symbol] 26 | sequence += [symbol_id] 27 | return sequence 28 | 29 | 30 | def cleaned_text_to_sequence(cleaned_text): 31 | '''Converts a string of text to a sequence of IDs corresponding to the symbols in the text. 32 | Args: 33 | text: string to convert to a sequence 34 | Returns: 35 | List of integers corresponding to the symbols in the text 36 | ''' 37 | sequence = [_symbol_to_id[symbol] for symbol in cleaned_text if symbol in _symbol_to_id.keys()] 38 | return sequence 39 | 40 | 41 | def sequence_to_text(sequence): 42 | '''Converts a sequence of IDs back to a string''' 43 | result = '' 44 | for symbol_id in sequence: 45 | s = _id_to_symbol[symbol_id] 46 | result += s 47 | return result 48 | 49 | 50 | def _clean_text(text, cleaner_names, lang): 51 | for name in cleaner_names: 52 | cleaner = getattr(cleaners, name) 53 | if not cleaner: 54 | raise Exception('Unknown cleaner: %s' % name) 55 | text = cleaner(text, lang) 56 | return text 57 | -------------------------------------------------------------------------------- /text/cleaners.py: -------------------------------------------------------------------------------- 1 | import pyopenjtalk 2 | import re 3 | from unidecode import unidecode 4 | from pypinyin import pinyin, Style 5 | 6 | # Regular expression matching Japanese without punctuation marks: 7 | _japanese_characters = re.compile(r'[A-Za-z\d\u3005\u3040-\u30ff\u4e00-\u9fff\uff11-\uff19\uff21-\uff3a\uff41-\uff5a\uff66-\uff9d]') 8 | 9 | # Regular expression matching non-Japanese characters or punctuation marks: 10 | _japanese_marks = re.compile(r'[^A-Za-z\d\u3005\u3040-\u30ff\u4e00-\u9fff\uff11-\uff19\uff21-\uff3a\uff41-\uff5a\uff66-\uff9d]') 11 | 12 | _japanese_vowels = ['a', 'i', 'u', 'e', 'o'] 13 | 14 | _hatsuon = ['N'] 15 | 16 | _revision_jp = { 17 | 'shi': 'xi', 18 | 'sha': 'xya', 19 | 'shu': 'xyu', 20 | 'sho': 'xyo', 21 | 'chi': 'qi', 22 | 'tsu': 'cu', 23 | 'cha': 'qya', 24 | 'chu': 'qyu', 25 | 'cho': 'qyo', 26 | 'r': 'l', 27 | 'ja': 'jya', 28 | 'ju': 'jyu', 29 | 'jo': 'jyo', 30 | 'N': 'ŋ', 31 | } 32 | 33 | _revision_ch = { 34 | 'e': 'ə', 35 | 'ie': 'ye', 36 | 'ia': 'ya', 37 | 'iu': 'you', 38 | 'ui': 'uei', 39 | 'io': 'yo', 40 | 'ng': 'ŋ', 41 | 'an': 'æn', 42 | 'zh': 'ʤ', 43 | 'ch': 'ʧ', 44 | 'sh': 'ʃ', 45 | 'yu': 'yv', 46 | 'zi': 'zɪ', 47 | 'ci': 'cɪ', 48 | 'si': 'sɪ', 49 | '。': '.', 50 | ',': ',', 51 | '?': '?', 52 | '!': '!', 53 | } 54 | 55 | def japanese_cleaner_1(text): 56 | '''Pipeline for notating accent in Japanese text.''' 57 | '''Reference https://r9y9.github.io/ttslearn/latest/notebooks/ch10_Recipe-Tacotron.html''' 58 | sentences = re.split(_japanese_marks, text) 59 | marks = re.findall(_japanese_marks, text) 60 | text = '' 61 | for i, sentence in enumerate(sentences): 62 | if re.match(_japanese_characters, sentence): 63 | if text!='': 64 | text+='#' 65 | labels = pyopenjtalk.extract_fullcontext(sentence) 66 | for n, label in enumerate(labels): 67 | phoneme = re.search(r'\-([^\+]*)\+', label).group(1) 68 | if phoneme not in ['sil','pau']: 69 | text += phoneme.replace('cl','Q') 70 | else: 71 | continue 72 | n_moras = int(re.search(r'/F:(\d+)_', label).group(1)) 73 | a1 = int(re.search(r"/A:(\-?[0-9]+)\+", label).group(1)) 74 | a2 = int(re.search(r"\+(\d+)\+", label).group(1)) 75 | a3 = int(re.search(r"\+(\d+)/", label).group(1)) 76 | if re.search(r'\-([^\+]*)\+', labels[n + 1]).group(1) in ['sil','pau']: 77 | a2_next=-1 78 | else: 79 | a2_next = int(re.search(r"\+(\d+)\+", labels[n + 1]).group(1)) 80 | # Accent phrase boundary 81 | if a3 == 1 and a2_next == 1: 82 | text += '#' 83 | # Falling 84 | elif a1 == 0 and a2_next == a2 + 1 and a2 != n_moras: 85 | text += '↓' 86 | # Rising 87 | elif a2 == 1 and a2_next == 2: 88 | text += '↑' 89 | if i Epoch: {}'.format(epoch)) 238 | 239 | 240 | def evaluate(hps, generator, eval_loader, writer_eval): 241 | generator.eval() 242 | with torch.no_grad(): 243 | for batch_idx, (x, x_lengths, spec, spec_lengths, y, y_lengths, speakers) in enumerate(eval_loader): 244 | x, x_lengths = x.cuda(0), x_lengths.cuda(0) 245 | spec, spec_lengths = spec.cuda(0), spec_lengths.cuda(0) 246 | y, y_lengths = y.cuda(0), y_lengths.cuda(0) 247 | speakers = speakers.cuda(0) 248 | 249 | # remove else 250 | x = x[:1] 251 | x_lengths = x_lengths[:1] 252 | spec = spec[:1] 253 | spec_lengths = spec_lengths[:1] 254 | y = y[:1] 255 | y_lengths = y_lengths[:1] 256 | speakers = speakers[:1] 257 | break 258 | y_hat, attn, mask, *_ = generator.module.infer(x, x_lengths, speakers, max_len=1000) 259 | y_hat_lengths = mask.sum([1,2]).long() * hps.data.hop_length 260 | 261 | mel = spec_to_mel_torch( 262 | spec, 263 | hps.data.filter_length, 264 | hps.data.n_mel_channels, 265 | hps.data.sampling_rate, 266 | hps.data.mel_fmin, 267 | hps.data.mel_fmax) 268 | y_hat_mel = mel_spectrogram_torch( 269 | y_hat.squeeze(1).float(), 270 | hps.data.filter_length, 271 | hps.data.n_mel_channels, 272 | hps.data.sampling_rate, 273 | hps.data.hop_length, 274 | hps.data.win_length, 275 | hps.data.mel_fmin, 276 | hps.data.mel_fmax 277 | ) 278 | image_dict = { 279 | "gen/mel": utils.plot_spectrogram_to_numpy(y_hat_mel[0].cpu().numpy()) 280 | } 281 | audio_dict = { 282 | "gen/audio": y_hat[0,:,:y_hat_lengths[0]] 283 | } 284 | if global_step == 0: 285 | image_dict.update({"gt/mel": utils.plot_spectrogram_to_numpy(mel[0].cpu().numpy())}) 286 | audio_dict.update({"gt/audio": y[0,:,:y_lengths[0]]}) 287 | 288 | utils.summarize( 289 | writer=writer_eval, 290 | global_step=global_step, 291 | images=image_dict, 292 | audios=audio_dict, 293 | audio_sampling_rate=hps.data.sampling_rate 294 | ) 295 | generator.train() 296 | 297 | 298 | if __name__ == "__main__": 299 | main() 300 | -------------------------------------------------------------------------------- /transforms.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch.nn import functional as F 3 | 4 | import numpy as np 5 | 6 | 7 | DEFAULT_MIN_BIN_WIDTH = 1e-3 8 | DEFAULT_MIN_BIN_HEIGHT = 1e-3 9 | DEFAULT_MIN_DERIVATIVE = 1e-3 10 | 11 | 12 | def piecewise_rational_quadratic_transform(inputs, 13 | unnormalized_widths, 14 | unnormalized_heights, 15 | unnormalized_derivatives, 16 | inverse=False, 17 | tails=None, 18 | tail_bound=1., 19 | min_bin_width=DEFAULT_MIN_BIN_WIDTH, 20 | min_bin_height=DEFAULT_MIN_BIN_HEIGHT, 21 | min_derivative=DEFAULT_MIN_DERIVATIVE): 22 | 23 | if tails is None: 24 | spline_fn = rational_quadratic_spline 25 | spline_kwargs = {} 26 | else: 27 | spline_fn = unconstrained_rational_quadratic_spline 28 | spline_kwargs = { 29 | 'tails': tails, 30 | 'tail_bound': tail_bound 31 | } 32 | 33 | outputs, logabsdet = spline_fn( 34 | inputs=inputs, 35 | unnormalized_widths=unnormalized_widths, 36 | unnormalized_heights=unnormalized_heights, 37 | unnormalized_derivatives=unnormalized_derivatives, 38 | inverse=inverse, 39 | min_bin_width=min_bin_width, 40 | min_bin_height=min_bin_height, 41 | min_derivative=min_derivative, 42 | **spline_kwargs 43 | ) 44 | return outputs, logabsdet 45 | 46 | 47 | def searchsorted(bin_locations, inputs, eps=1e-6): 48 | bin_locations[..., -1] += eps 49 | return torch.sum( 50 | inputs[..., None] >= bin_locations, 51 | dim=-1 52 | ) - 1 53 | 54 | 55 | def unconstrained_rational_quadratic_spline(inputs, 56 | unnormalized_widths, 57 | unnormalized_heights, 58 | unnormalized_derivatives, 59 | inverse=False, 60 | tails='linear', 61 | tail_bound=1., 62 | min_bin_width=DEFAULT_MIN_BIN_WIDTH, 63 | min_bin_height=DEFAULT_MIN_BIN_HEIGHT, 64 | min_derivative=DEFAULT_MIN_DERIVATIVE): 65 | inside_interval_mask = (inputs >= -tail_bound) & (inputs <= tail_bound) 66 | outside_interval_mask = ~inside_interval_mask 67 | 68 | outputs = torch.zeros_like(inputs) 69 | logabsdet = torch.zeros_like(inputs) 70 | 71 | if tails == 'linear': 72 | unnormalized_derivatives = F.pad(unnormalized_derivatives, pad=(1, 1)) 73 | constant = np.log(np.exp(1 - min_derivative) - 1) 74 | unnormalized_derivatives[..., 0] = constant 75 | unnormalized_derivatives[..., -1] = constant 76 | 77 | outputs[outside_interval_mask] = inputs[outside_interval_mask] 78 | logabsdet[outside_interval_mask] = 0 79 | else: 80 | raise RuntimeError('{} tails are not implemented.'.format(tails)) 81 | 82 | outputs[inside_interval_mask], logabsdet[inside_interval_mask] = rational_quadratic_spline( 83 | inputs=inputs[inside_interval_mask], 84 | unnormalized_widths=unnormalized_widths[inside_interval_mask, :], 85 | unnormalized_heights=unnormalized_heights[inside_interval_mask, :], 86 | unnormalized_derivatives=unnormalized_derivatives[inside_interval_mask, :], 87 | inverse=inverse, 88 | left=-tail_bound, right=tail_bound, bottom=-tail_bound, top=tail_bound, 89 | min_bin_width=min_bin_width, 90 | min_bin_height=min_bin_height, 91 | min_derivative=min_derivative 92 | ) 93 | 94 | return outputs, logabsdet 95 | 96 | def rational_quadratic_spline(inputs, 97 | unnormalized_widths, 98 | unnormalized_heights, 99 | unnormalized_derivatives, 100 | inverse=False, 101 | left=0., right=1., bottom=0., top=1., 102 | min_bin_width=DEFAULT_MIN_BIN_WIDTH, 103 | min_bin_height=DEFAULT_MIN_BIN_HEIGHT, 104 | min_derivative=DEFAULT_MIN_DERIVATIVE): 105 | if torch.min(inputs) < left or torch.max(inputs) > right: 106 | raise ValueError('Input to a transform is not within its domain') 107 | 108 | num_bins = unnormalized_widths.shape[-1] 109 | 110 | if min_bin_width * num_bins > 1.0: 111 | raise ValueError('Minimal bin width too large for the number of bins') 112 | if min_bin_height * num_bins > 1.0: 113 | raise ValueError('Minimal bin height too large for the number of bins') 114 | 115 | widths = F.softmax(unnormalized_widths, dim=-1) 116 | widths = min_bin_width + (1 - min_bin_width * num_bins) * widths 117 | cumwidths = torch.cumsum(widths, dim=-1) 118 | cumwidths = F.pad(cumwidths, pad=(1, 0), mode='constant', value=0.0) 119 | cumwidths = (right - left) * cumwidths + left 120 | cumwidths[..., 0] = left 121 | cumwidths[..., -1] = right 122 | widths = cumwidths[..., 1:] - cumwidths[..., :-1] 123 | 124 | derivatives = min_derivative + F.softplus(unnormalized_derivatives) 125 | 126 | heights = F.softmax(unnormalized_heights, dim=-1) 127 | heights = min_bin_height + (1 - min_bin_height * num_bins) * heights 128 | cumheights = torch.cumsum(heights, dim=-1) 129 | cumheights = F.pad(cumheights, pad=(1, 0), mode='constant', value=0.0) 130 | cumheights = (top - bottom) * cumheights + bottom 131 | cumheights[..., 0] = bottom 132 | cumheights[..., -1] = top 133 | heights = cumheights[..., 1:] - cumheights[..., :-1] 134 | 135 | if inverse: 136 | bin_idx = searchsorted(cumheights, inputs)[..., None] 137 | else: 138 | bin_idx = searchsorted(cumwidths, inputs)[..., None] 139 | 140 | input_cumwidths = cumwidths.gather(-1, bin_idx)[..., 0] 141 | input_bin_widths = widths.gather(-1, bin_idx)[..., 0] 142 | 143 | input_cumheights = cumheights.gather(-1, bin_idx)[..., 0] 144 | delta = heights / widths 145 | input_delta = delta.gather(-1, bin_idx)[..., 0] 146 | 147 | input_derivatives = derivatives.gather(-1, bin_idx)[..., 0] 148 | input_derivatives_plus_one = derivatives[..., 1:].gather(-1, bin_idx)[..., 0] 149 | 150 | input_heights = heights.gather(-1, bin_idx)[..., 0] 151 | 152 | if inverse: 153 | a = (((inputs - input_cumheights) * (input_derivatives 154 | + input_derivatives_plus_one 155 | - 2 * input_delta) 156 | + input_heights * (input_delta - input_derivatives))) 157 | b = (input_heights * input_derivatives 158 | - (inputs - input_cumheights) * (input_derivatives 159 | + input_derivatives_plus_one 160 | - 2 * input_delta)) 161 | c = - input_delta * (inputs - input_cumheights) 162 | 163 | discriminant = b.pow(2) - 4 * a * c 164 | assert (discriminant >= 0).all() 165 | 166 | root = (2 * c) / (-b - torch.sqrt(discriminant)) 167 | outputs = root * input_bin_widths + input_cumwidths 168 | 169 | theta_one_minus_theta = root * (1 - root) 170 | denominator = input_delta + ((input_derivatives + input_derivatives_plus_one - 2 * input_delta) 171 | * theta_one_minus_theta) 172 | derivative_numerator = input_delta.pow(2) * (input_derivatives_plus_one * root.pow(2) 173 | + 2 * input_delta * theta_one_minus_theta 174 | + input_derivatives * (1 - root).pow(2)) 175 | logabsdet = torch.log(derivative_numerator) - 2 * torch.log(denominator) 176 | 177 | return outputs, -logabsdet 178 | else: 179 | theta = (inputs - input_cumwidths) / input_bin_widths 180 | theta_one_minus_theta = theta * (1 - theta) 181 | 182 | numerator = input_heights * (input_delta * theta.pow(2) 183 | + input_derivatives * theta_one_minus_theta) 184 | denominator = input_delta + ((input_derivatives + input_derivatives_plus_one - 2 * input_delta) 185 | * theta_one_minus_theta) 186 | outputs = input_cumheights + numerator / denominator 187 | 188 | derivative_numerator = input_delta.pow(2) * (input_derivatives_plus_one * theta.pow(2) 189 | + 2 * input_delta * theta_one_minus_theta 190 | + input_derivatives * (1 - theta).pow(2)) 191 | logabsdet = torch.log(derivative_numerator) - 2 * torch.log(denominator) 192 | 193 | return outputs, logabsdet 194 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | import os 2 | import glob 3 | import sys 4 | import argparse 5 | import logging 6 | import json 7 | import subprocess 8 | import numpy as np 9 | from scipy.io.wavfile import read 10 | import torch 11 | 12 | MATPLOTLIB_FLAG = False 13 | 14 | logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) 15 | logger = logging 16 | 17 | 18 | def load_checkpoint(checkpoint_path, model, optimizer=None): 19 | assert os.path.isfile(checkpoint_path) 20 | checkpoint_dict = torch.load(checkpoint_path, map_location='cpu') 21 | iteration = checkpoint_dict['iteration'] 22 | learning_rate = checkpoint_dict['learning_rate'] 23 | if optimizer is not None: 24 | optimizer.load_state_dict(checkpoint_dict['optimizer']) 25 | saved_state_dict = checkpoint_dict['model'] 26 | if hasattr(model, 'module'): 27 | state_dict = model.module.state_dict() 28 | else: 29 | state_dict = model.state_dict() 30 | new_state_dict= {} 31 | for k, v in state_dict.items(): 32 | try: 33 | new_state_dict[k] = saved_state_dict[k] 34 | except: 35 | logger.info("%s is not in the checkpoint" % k) 36 | new_state_dict[k] = v 37 | if hasattr(model, 'module'): 38 | model.module.load_state_dict(new_state_dict) 39 | else: 40 | model.load_state_dict(new_state_dict) 41 | logger.info("Loaded checkpoint '{}' (iteration {})" .format( 42 | checkpoint_path, iteration)) 43 | return model, optimizer, learning_rate, iteration 44 | 45 | 46 | def save_checkpoint(model, optimizer, learning_rate, iteration, checkpoint_path): 47 | logger.info("Saving model and optimizer state at iteration {} to {}".format( 48 | iteration, checkpoint_path)) 49 | if hasattr(model, 'module'): 50 | state_dict = model.module.state_dict() 51 | else: 52 | state_dict = model.state_dict() 53 | torch.save({'model': state_dict, 54 | 'iteration': iteration, 55 | 'optimizer': optimizer.state_dict(), 56 | 'learning_rate': learning_rate}, checkpoint_path) 57 | 58 | 59 | def summarize(writer, global_step, scalars={}, histograms={}, images={}, audios={}, audio_sampling_rate=22050): 60 | for k, v in scalars.items(): 61 | writer.add_scalar(k, v, global_step) 62 | for k, v in histograms.items(): 63 | writer.add_histogram(k, v, global_step) 64 | for k, v in images.items(): 65 | writer.add_image(k, v, global_step, dataformats='HWC') 66 | for k, v in audios.items(): 67 | writer.add_audio(k, v, global_step, audio_sampling_rate) 68 | 69 | 70 | def latest_checkpoint_path(dir_path, regex="G_*.pth"): 71 | f_list = glob.glob(os.path.join(dir_path, regex)) 72 | f_list.sort(key=lambda f: int("".join(filter(str.isdigit, f)))) 73 | x = f_list[-1] 74 | print(x) 75 | return x 76 | 77 | 78 | def plot_spectrogram_to_numpy(spectrogram): 79 | global MATPLOTLIB_FLAG 80 | if not MATPLOTLIB_FLAG: 81 | import matplotlib 82 | matplotlib.use("Agg") 83 | MATPLOTLIB_FLAG = True 84 | mpl_logger = logging.getLogger('matplotlib') 85 | mpl_logger.setLevel(logging.WARNING) 86 | import matplotlib.pylab as plt 87 | import numpy as np 88 | 89 | fig, ax = plt.subplots(figsize=(10,2)) 90 | im = ax.imshow(spectrogram, aspect="auto", origin="lower", 91 | interpolation='none') 92 | plt.colorbar(im, ax=ax) 93 | plt.xlabel("Frames") 94 | plt.ylabel("Channels") 95 | plt.tight_layout() 96 | 97 | fig.canvas.draw() 98 | data = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep='') 99 | data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,)) 100 | plt.close() 101 | return data 102 | 103 | 104 | def plot_alignment_to_numpy(alignment, info=None): 105 | global MATPLOTLIB_FLAG 106 | if not MATPLOTLIB_FLAG: 107 | import matplotlib 108 | matplotlib.use("Agg") 109 | MATPLOTLIB_FLAG = True 110 | mpl_logger = logging.getLogger('matplotlib') 111 | mpl_logger.setLevel(logging.WARNING) 112 | import matplotlib.pylab as plt 113 | import numpy as np 114 | 115 | fig, ax = plt.subplots(figsize=(6, 4)) 116 | im = ax.imshow(alignment.transpose(), aspect='auto', origin='lower', 117 | interpolation='none') 118 | fig.colorbar(im, ax=ax) 119 | xlabel = 'Decoder timestep' 120 | if info is not None: 121 | xlabel += '\n\n' + info 122 | plt.xlabel(xlabel) 123 | plt.ylabel('Encoder timestep') 124 | plt.tight_layout() 125 | 126 | fig.canvas.draw() 127 | data = np.fromstring(fig.canvas.tostring_rgb(), dtype=np.uint8, sep='') 128 | data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,)) 129 | plt.close() 130 | return data 131 | 132 | 133 | def load_wav_to_torch(full_path): 134 | sampling_rate, data = read(full_path) 135 | return torch.FloatTensor(data.astype(np.float32)), sampling_rate 136 | 137 | 138 | def load_filepaths_and_text(filename, split="|"): 139 | with open(filename, encoding='utf-8') as f: 140 | filepaths_and_text = [line.strip().split(split) for line in f] 141 | return filepaths_and_text 142 | 143 | 144 | def get_hparams(init=True): 145 | parser = argparse.ArgumentParser() 146 | parser.add_argument('-c', '--config', type=str, default="./configs/base.json", 147 | help='JSON file for configuration') 148 | parser.add_argument('-m', '--model', type=str, required=True, 149 | help='Model name') 150 | 151 | args = parser.parse_args() 152 | 153 | model_dir = os.path.join("./logs", args.model) 154 | if not os.path.exists(model_dir): 155 | os.makedirs(model_dir) 156 | 157 | config_path = args.config 158 | config_save_path = os.path.join(model_dir, "config.json") 159 | if init: 160 | with open(config_path, "r") as f: 161 | data = f.read() 162 | with open(config_save_path, "w") as f: 163 | f.write(data) 164 | else: 165 | with open(config_save_path, "r") as f: 166 | data = f.read() 167 | config = json.loads(data) 168 | 169 | hparams = HParams(**config) 170 | hparams.model_dir = model_dir 171 | return hparams 172 | 173 | 174 | def get_hparams_from_dir(model_dir): 175 | config_save_path = os.path.join(model_dir, "config.json") 176 | with open(config_save_path, "r") as f: 177 | data = f.read() 178 | config = json.loads(data) 179 | 180 | hparams =HParams(**config) 181 | hparams.model_dir = model_dir 182 | return hparams 183 | 184 | 185 | def get_hparams_from_file(config_path): 186 | with open(config_path, "r") as f: 187 | data = f.read() 188 | config = json.loads(data) 189 | 190 | hparams =HParams(**config) 191 | return hparams 192 | 193 | 194 | def check_git_hash(model_dir): 195 | source_dir = os.path.dirname(os.path.realpath(__file__)) 196 | if not os.path.exists(os.path.join(source_dir, ".git")): 197 | logger.warn("{} is not a git repository, therefore hash value comparison will be ignored.".format( 198 | source_dir 199 | )) 200 | return 201 | 202 | cur_hash = subprocess.getoutput("git rev-parse HEAD") 203 | 204 | path = os.path.join(model_dir, "githash") 205 | if os.path.exists(path): 206 | saved_hash = open(path).read() 207 | if saved_hash != cur_hash: 208 | logger.warn("git hash values are different. {}(saved) != {}(current)".format( 209 | saved_hash[:8], cur_hash[:8])) 210 | else: 211 | open(path, "w").write(cur_hash) 212 | 213 | 214 | def get_logger(model_dir, filename="train.log"): 215 | global logger 216 | logger = logging.getLogger(os.path.basename(model_dir)) 217 | logger.setLevel(logging.DEBUG) 218 | 219 | formatter = logging.Formatter("%(asctime)s\t%(name)s\t%(levelname)s\t%(message)s") 220 | if not os.path.exists(model_dir): 221 | os.makedirs(model_dir) 222 | h = logging.FileHandler(os.path.join(model_dir, filename)) 223 | h.setLevel(logging.DEBUG) 224 | h.setFormatter(formatter) 225 | logger.addHandler(h) 226 | return logger 227 | 228 | 229 | class HParams(): 230 | def __init__(self, **kwargs): 231 | for k, v in kwargs.items(): 232 | if type(v) == dict: 233 | v = HParams(**v) 234 | self[k] = v 235 | 236 | def keys(self): 237 | return self.__dict__.keys() 238 | 239 | def items(self): 240 | return self.__dict__.items() 241 | 242 | def values(self): 243 | return self.__dict__.values() 244 | 245 | def __len__(self): 246 | return len(self.__dict__) 247 | 248 | def __getitem__(self, key): 249 | return getattr(self, key) 250 | 251 | def __setitem__(self, key, value): 252 | return setattr(self, key, value) 253 | 254 | def __contains__(self, key): 255 | return key in self.__dict__ 256 | 257 | def __repr__(self): 258 | return self.__dict__.__repr__() 259 | --------------------------------------------------------------------------------