[
  {
    "path": ".gitignore",
    "content": "model.ckpt\nweights/\nft_local/\n__pycache__/\n*.pyc\n*.pyo\n*.pyd"
  },
  {
    "path": "CLUB_modules/__init__.py",
    "content": ""
  },
  {
    "path": "CLUB_modules/mi_estimators.py",
    "content": "\"\"\"\nAdapted from https://github.com/Linear95/CLUB/blob/master/mi_estimators.py\n\"\"\"\n\nimport numpy as np\nimport math\n\nimport torch \nimport torch.nn as nn\n\n\n\nclass CLUBVec2Seq(nn.Module):\n    \"\"\" The CLUB estimator for vector-to-sequence pairs.\n    \"\"\"\n    def __init__(\n        self,\n        seq_dim: int,\n        vec_dim: int,\n        hidden_size: int,\n        is_sampled_version: bool = False,\n    ):\n        super().__init__()\n        self.is_sampled_version = is_sampled_version\n\n        self.seq_prenet = nn.Sequential(\n            nn.Conv1d(seq_dim, hidden_size, kernel_size=5, padding=2),\n            nn.ReLU(),\n            nn.Conv1d(hidden_size, hidden_size, kernel_size=5, padding=2),\n            nn.ReLU(),\n            nn.Conv1d(hidden_size, hidden_size, kernel_size=5, padding=2),\n        )\n        # mu net\n        self.p_mu = nn.Sequential(\n            nn.Linear(hidden_size, hidden_size),\n            nn.ReLU(),\n            nn.Linear(hidden_size, vec_dim)\n        )\n        # variance net\n        self.p_logvar = nn.Sequential(\n            nn.Linear(hidden_size, hidden_size),\n            nn.ReLU(),\n            nn.Linear(hidden_size, vec_dim),\n            nn.Tanh()\n        )\n\n    def temporal_avg_pool(self, x, mask=None):\n        \"\"\"\n        Args:\n            x (tensor): shape [B, T, D]\n            mask (bool tensor): padding parts with ones\n        \"\"\"\n        if mask is None:\n            out = torch.mean(x, dim=1)\n        else:\n            len_ = (~mask).sum(dim=1).unsqueeze(1)\n            x = x.masked_fill(mask.unsqueeze(-1), 0)\n            x = x.sum(dim=1)\n            out = torch.div(x, len_)\n        return out\n\n    def get_mu_logvar(self, seq, mask):\n        # [B, T, D]\n        h = self.seq_prenet(seq.transpose(1, 2)).transpose(1, 2)\n        # [B, D]\n        h = self.temporal_avg_pool(h, mask)\n        mu = self.p_mu(h)\n        logvar = self.p_logvar(h)\n        return mu, logvar\n        \n    def loglikeli(self, seq, vec, mask=None):\n        \"\"\" Compute un-normalized log-likelihood\n        Args:\n            seq (tensor): sequence feature, shape [B, T, D].\n            vec (tensor): vector feature, shape [B, D].\n            mask (tensor): padding parts with ones, [B, T].\n        \"\"\"\n        # mu/logvar: (bs, vec_dim)\n        mu, logvar = self.get_mu_logvar(seq, mask)\n        return (-(mu - vec)**2 /logvar.exp() - logvar).sum(dim=1).mean(dim=0) \n\n    def forward(self, seq, vec, mask=None):\n        \"\"\" Estimate mutual information CLUB upper bound.\n        Args:\n            seq (tensor): sequence feature, shape [B, T, D].\n            vec (tensor): vector feature, shape [B, D].\n            mask (tensor): padding parts with ones, [B, T].\n        \"\"\"\n\n        mu, logvar = self.get_mu_logvar(seq, mask)\n\n        if self.is_sampled_version:\n            sample_size = seq.shape[0]\n            #random_index = torch.randint(sample_size, (sample_size,)).long()\n            random_index = torch.randperm(sample_size).long()\n\n            positive = - (mu - vec)**2 / logvar.exp()\n            negative = - (mu - vec[random_index])**2 / logvar.exp()\n            upper_bound = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n            \n            mi_upper = upper_bound / 2.\n        else:\n            # log of conditional probability of positive sample pairs, [B, D]\n            positive = - (mu - vec)**2 /2./logvar.exp()\n            # [B, 1, D]\n            prediction_1 = mu.unsqueeze(1)\n            # [1, B, D]\n            y_samples_1 = vec.unsqueeze(0)\n\n            # log of conditional probability of negative sample pairs, [B, D]\n            negative = - ((y_samples_1 - prediction_1)**2).mean(dim=1)/2./logvar.exp() \n\n            mi_upper = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n        # print(mi_upper)\n        \n        return mi_upper\n\n    def learning_loss(self, seq, vec, mask=None):\n        return - self.loglikeli(seq, vec, mask)\n\n\nclass CLUBForCategorical(nn.Module): # Update 04/27/2022\n    \"\"\"\n    This class provide a CLUB estimator to calculate MI upper bound between \n    vector-like embeddings and categorical labels.\n    Estimate I(X,Y), where X is continuous vector and Y is discrete label.\n    \"\"\"\n    def __init__(self, input_dim, label_num, hidden_size=None):\n        '''\n        input_dim : the dimension of input embeddings\n        label_num : the number of categorical labels \n        '''\n        super().__init__()\n        \n        if hidden_size is None:\n            self.variational_net = nn.Linear(input_dim, label_num)\n        else:\n            self.variational_net = nn.Sequential(\n                nn.Linear(input_dim, hidden_size),\n                nn.ReLU(),\n                nn.Linear(hidden_size, label_num)\n            )\n            \n    def forward(self, inputs, labels):\n        '''\n        inputs : shape [batch_size, input_dim], a batch of embeddings\n        labels : shape [batch_size], a batch of label index\n        '''\n        logits = self.variational_net(inputs)  #[sample_size, label_num]\n        \n        # log of conditional probability of positive sample pairs\n        #positive = - nn.functional.cross_entropy(logits, labels, reduction='none')    \n        sample_size, label_num = logits.shape\n        \n        # shape [sample_size, sample_size, label_num]\n        logits_extend = logits.unsqueeze(1).repeat(1, sample_size, 1)\n        # shape [sample_size, sample_size]\n        labels_extend = labels.unsqueeze(0).repeat(sample_size, 1)\n\n        # log of conditional probability of negative sample pairs\n        log_mat = - nn.functional.cross_entropy(\n            logits_extend.reshape(-1, label_num),\n            labels_extend.reshape(-1, ),\n            reduction='none'\n        )\n        \n        log_mat = log_mat.reshape(sample_size, sample_size)\n        positive = torch.diag(log_mat).mean()\n        negative = log_mat.mean()\n        return positive - negative\n\n    def loglikeli(self, inputs, labels):\n        logits = self.variational_net(inputs)\n        return - nn.functional.cross_entropy(logits, labels)\n    \n    def learning_loss(self, inputs, labels):\n        return - self.loglikeli(inputs, labels)\n    \n\nclass CLUB(nn.Module):  # CLUB: Mutual Information Contrastive Learning Upper Bound\n    '''\n        This class provides the CLUB estimation to I(X,Y)\n        Method:\n            forward() :      provides the estimation with input samples  \n            loglikeli() :   provides the log-likelihood of the approximation q(Y|X) with input samples\n        Arguments:\n            x_dim, y_dim :         the dimensions of samples from X, Y respectively\n            hidden_size :          the dimension of the hidden layer of the approximation network q(Y|X)\n            x_samples, y_samples : samples from X and Y, having shape [sample_size, x_dim/y_dim] \n    '''\n    def __init__(self, x_dim, y_dim, hidden_size, is_sampled_version=False):\n        super(CLUB, self).__init__()\n        self.is_sampled_version = is_sampled_version\n        # p_mu outputs mean of q(Y|X)\n        #print(\"create CLUB with dim {}, {}, hiddensize {}\".format(x_dim, y_dim, hidden_size))\n        self.p_mu = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim))\n        # p_logvar outputs log of variance of q(Y|X)\n        self.p_logvar = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim),\n                                       nn.Tanh())\n\n    def get_mu_logvar(self, x_samples):\n        mu = self.p_mu(x_samples)\n        logvar = self.p_logvar(x_samples)\n        return mu, logvar\n    \n    def forward(self, x_samples, y_samples): \n        mu, logvar = self.get_mu_logvar(x_samples)\n\n        if self.is_sampled_version:\n            sample_size = x_samples.shape[0]\n            #random_index = torch.randint(sample_size, (sample_size,)).long()\n            random_index = torch.randperm(sample_size).long()\n            \n            positive = - (mu - y_samples)**2 / logvar.exp()\n            negative = - (mu - y_samples[random_index])**2 / logvar.exp()\n            upper_bound = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n\n            mi_upper = upper_bound / 2.\n        else:\n            \n            # log of conditional probability of positive sample pairs\n            positive = - (mu - y_samples)**2 /2./logvar.exp()  \n            \n            prediction_1 = mu.unsqueeze(1)          # shape [nsample,1,dim]\n            y_samples_1 = y_samples.unsqueeze(0)    # shape [1,nsample,dim]\n\n            # log of conditional probability of negative sample pairs\n            negative = - ((y_samples_1 - prediction_1)**2).mean(dim=1)/2./logvar.exp() \n\n            mi_upper = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n        return mi_upper   \n\n    def loglikeli(self, x_samples, y_samples): # unnormalized loglikelihood \n        mu, logvar = self.get_mu_logvar(x_samples)\n        return (-(mu - y_samples)**2 /logvar.exp()-logvar).sum(dim=1).mean(dim=0)\n    \n    def learning_loss(self, x_samples, y_samples):\n        return - self.loglikeli(x_samples, y_samples)\n \n\nclass MINE(nn.Module):\n    def __init__(self, x_dim, y_dim, hidden_size):\n        super(MINE, self).__init__()\n        self.T_func = nn.Sequential(nn.Linear(x_dim + y_dim, hidden_size),\n                                    nn.ReLU(),\n                                    nn.Linear(hidden_size, 1))\n    \n    def forward(self, x_samples, y_samples):  # samples have shape [sample_size, dim]\n        # shuffle and concatenate\n        sample_size = y_samples.shape[0]\n        random_index = torch.randint(sample_size, (sample_size,)).long()\n\n        y_shuffle = y_samples[random_index]\n\n        T0 = self.T_func(torch.cat([x_samples,y_samples], dim = -1))\n        T1 = self.T_func(torch.cat([x_samples,y_shuffle], dim = -1))\n\n        lower_bound = T0.mean() - torch.log(T1.exp().mean())\n\n        # compute the negative loss (maximise loss == minimise -loss)\n        return lower_bound\n    \n    def learning_loss(self, x_samples, y_samples):\n        return -self.forward(x_samples, y_samples)\n\n\nclass NWJ(nn.Module):   \n    def __init__(self, x_dim, y_dim, hidden_size):\n        super(NWJ, self).__init__()\n        self.F_func = nn.Sequential(nn.Linear(x_dim + y_dim, hidden_size),\n                                    nn.ReLU(),\n                                    nn.Linear(hidden_size, 1))\n                                    \n    def forward(self, x_samples, y_samples): \n        # shuffle and concatenate\n        sample_size = y_samples.shape[0]\n\n        x_tile = x_samples.unsqueeze(0).repeat((sample_size, 1, 1))\n        y_tile = y_samples.unsqueeze(1).repeat((1, sample_size, 1))\n\n        T0 = self.F_func(torch.cat([x_samples,y_samples], dim = -1))\n        T1 = self.F_func(torch.cat([x_tile, y_tile], dim = -1))-1.  #shape [sample_size, sample_size, 1]\n\n        lower_bound = T0.mean() - (T1.logsumexp(dim = 1) - np.log(sample_size)).exp().mean() \n        return lower_bound\n    \n    def learning_loss(self, x_samples, y_samples):\n        return -self.forward(x_samples, y_samples)\n\n    \nclass InfoNCE(nn.Module):\n    def __init__(self, x_dim, y_dim, hidden_size):\n        super(InfoNCE, self).__init__()\n        self.F_func = nn.Sequential(nn.Linear(x_dim + y_dim, hidden_size),\n                                    nn.ReLU(),\n                                    nn.Linear(hidden_size, 1),\n                                    nn.Softplus())\n    \n    def forward(self, x_samples, y_samples):  # samples have shape [sample_size, dim]\n        # shuffle and concatenate\n        sample_size = y_samples.shape[0]\n\n        x_tile = x_samples.unsqueeze(0).repeat((sample_size, 1, 1))\n        y_tile = y_samples.unsqueeze(1).repeat((1, sample_size, 1))\n\n        T0 = self.F_func(torch.cat([x_samples,y_samples], dim = -1))\n        T1 = self.F_func(torch.cat([x_tile, y_tile], dim = -1))  #[sample_size, sample_size, 1]\n\n        lower_bound = T0.mean() - (T1.logsumexp(dim = 1).mean() - np.log(sample_size)) \n        return lower_bound\n\n    def learning_loss(self, x_samples, y_samples):\n        return -self.forward(x_samples, y_samples)\n\n\ndef log_sum_exp(value, dim=None, keepdim=False):\n    \"\"\"Numerically stable implementation of the operation\n    value.exp().sum(dim, keepdim).log()\n    \"\"\"\n    # TODO: torch.max(value, dim=None) threw an error at time of writing\n    if dim is not None:\n        m, _ = torch.max(value, dim=dim, keepdim=True)\n        value0 = value - m\n        if keepdim is False:\n            m = m.squeeze(dim)\n        return m + torch.log(torch.sum(torch.exp(value0),\n                                       dim=dim, keepdim=keepdim))\n    else:\n        m = torch.max(value)\n        sum_exp = torch.sum(torch.exp(value - m))\n        if isinstance(sum_exp, Number):\n            return m + math.log(sum_exp)\n        else:\n            return m + torch.log(sum_exp)\n\n\nclass L1OutUB(nn.Module):  # naive upper bound\n    def __init__(self, x_dim, y_dim, hidden_size):\n        super(L1OutUB, self).__init__()\n        self.p_mu = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim))\n\n        self.p_logvar = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim),\n                                       nn.Tanh())\n\n    def get_mu_logvar(self, x_samples):\n        mu = self.p_mu(x_samples)\n        logvar = self.p_logvar(x_samples)\n        return mu, logvar\n\n    def forward(self, x_samples, y_samples): \n        batch_size = y_samples.shape[0]\n        mu, logvar = self.get_mu_logvar(x_samples)\n\n        positive = (- (mu - y_samples)**2 /2./logvar.exp() - logvar/2.).sum(dim = -1) #[nsample]\n\n        mu_1 = mu.unsqueeze(1)          # [nsample,1,dim]\n        logvar_1 = logvar.unsqueeze(1)\n        y_samples_1 = y_samples.unsqueeze(0)            # [1,nsample,dim]\n        all_probs =  (- (y_samples_1 - mu_1)**2/2./logvar_1.exp()- logvar_1/2.).sum(dim = -1)  #[nsample, nsample]\n\n        diag_mask =  torch.ones([batch_size]).diag().unsqueeze(-1).cuda() * (-20.)\n        negative = log_sum_exp(all_probs + diag_mask,dim=0) - np.log(batch_size-1.) #[nsample]\n      \n        return (positive - negative).mean()\n        \n    def loglikeli(self, x_samples, y_samples):\n        mu, logvar = self.get_mu_logvar(x_samples)\n        return (-(mu - y_samples)**2 /logvar.exp()-logvar).sum(dim=1).mean(dim=0)\n\n    def learning_loss(self, x_samples, y_samples):\n        return - self.loglikeli(x_samples, y_samples)\n\n    \nclass VarUB(nn.Module):  #    variational upper bound\n    def __init__(self, x_dim, y_dim, hidden_size):\n        super(VarUB, self).__init__()\n        self.p_mu = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim))\n\n        self.p_logvar = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim),\n                                       nn.Tanh())\n\n    def get_mu_logvar(self, x_samples):\n        mu = self.p_mu(x_samples)\n        logvar = self.p_logvar(x_samples)\n        return mu, logvar\n            \n    def forward(self, x_samples, y_samples): #[nsample, 1]\n        mu, logvar = self.get_mu_logvar(x_samples)\n        return 1./2.*(mu**2 + logvar.exp() - 1. - logvar).mean()\n        \n    def loglikeli(self, x_samples, y_samples):\n        mu, logvar = self.get_mu_logvar(x_samples)\n        return (-(mu - y_samples)**2 /logvar.exp()-logvar).sum(dim=1).mean(dim=0)\n\n    def learning_loss(self, x_samples, y_samples):\n        return - self.loglikeli(x_samples, y_samples)\n"
  },
  {
    "path": "CLUB_modules/mi_estimators_dist.py",
    "content": "\"\"\"\nAdapted from https://github.com/Linear95/CLUB/blob/master/mi_estimators.py\n\"\"\"\n\nimport numpy as np\nimport math\n\nimport torch \nimport torch.nn as nn\n\nfrom src.utils.ddp_utils import SyncFunction\n\n\nclass CLUBVec2Seq(nn.Module):\n    \"\"\" The CLUB estimator for vector-to-sequence pairs.\n    \"\"\"\n    def __init__(\n        self,\n        seq_dim: int,\n        vec_dim: int,\n        hidden_size: int,\n        is_sampled_version: bool = False,\n    ):\n        super().__init__()\n        self.is_sampled_version = is_sampled_version\n\n        self.seq_prenet = nn.Sequential(\n            nn.Conv1d(seq_dim, hidden_size, kernel_size=5, padding=2),\n            nn.ReLU(),\n            nn.Conv1d(hidden_size, hidden_size, kernel_size=5, padding=2),\n            nn.ReLU(),\n            nn.Conv1d(hidden_size, hidden_size, kernel_size=5, padding=2),\n        )\n        # mu net\n        self.p_mu = nn.Sequential(\n            nn.Linear(hidden_size, hidden_size),\n            nn.ReLU(),\n            nn.Linear(hidden_size, vec_dim)\n        )\n        # variance net\n        self.p_logvar = nn.Sequential(\n            nn.Linear(hidden_size, hidden_size),\n            nn.ReLU(),\n            nn.Linear(hidden_size, vec_dim),\n            nn.Tanh()\n        )\n\n    def temporal_avg_pool(self, x, mask=None):\n        \"\"\"\n        Args:\n            x (tensor): shape [B, T, D]\n            mask (bool tensor): padding parts with ones\n        \"\"\"\n        if mask is None:\n            out = torch.mean(x, dim=1)\n        else:\n            len_ = (~mask).sum(dim=1).unsqueeze(1)\n            x = x.masked_fill(mask.unsqueeze(-1), 0)\n            x = x.sum(dim=1)\n            out = torch.div(x, len_)\n        return out\n\n    def get_mu_logvar(self, seq, mask):\n        # [B, T, D]\n        h = self.seq_prenet(seq.transpose(1, 2)).transpose(1, 2)\n        # [B, D]\n        h = self.temporal_avg_pool(h, mask)\n        mu = self.p_mu(h)\n        logvar = self.p_logvar(h)\n        return mu, logvar\n        \n    def loglikeli(self, seq, vec, mask=None):\n        \"\"\" Compute un-normalized log-likelihood\n        Args:\n            seq (tensor): sequence feature, shape [B, T, D].\n            vec (tensor): vector feature, shape [B, D].\n            mask (tensor): padding parts with ones, [B, T].\n        \"\"\"\n        # mu/logvar: (bs, vec_dim)\n        mu, logvar = self.get_mu_logvar(seq, mask)\n        return (-(mu - vec)**2 /logvar.exp() - logvar).sum(dim=1).mean(dim=0) \n\n    def forward(self, seq, vec, mask=None):\n        \"\"\" Estimate mutual information CLUB upper bound.\n        Args:\n            seq (tensor): sequence feature, shape [B, T, D].\n            vec (tensor): vector feature, shape [B, D].\n            mask (tensor): padding parts with ones, [B, T].\n        \"\"\"\n\n        mu, logvar = self.get_mu_logvar(seq, mask)\n\n        if self.is_sampled_version:\n            sample_size = seq.shape[0]\n            #random_index = torch.randint(sample_size, (sample_size,)).long()\n            random_index = torch.randperm(sample_size).long()\n\n            positive = - (mu - vec)**2 / logvar.exp()\n            negative = - (mu - vec[random_index])**2 / logvar.exp()\n            upper_bound = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n            \n            mi_upper = upper_bound / 2.\n        else:\n            # log of conditional probability of positive sample pairs, [B, D]\n            positive = - (mu - vec)**2 /2./logvar.exp()\n            # [B, 1, D]\n            prediction_1 = mu.unsqueeze(1)\n            ## gather representations in case of distributed training\n            if torch.distributed.is_available() and torch.distributed.is_initialized():\n                # [B * world_size, D]\n                y_samples_1_dist = SyncFunction.apply(vec)\n                # [1, B * world_size, D]\n                y_samples_1 = y_samples_1_dist.unsqueeze(0)\n            else:\n                # [1, B, D]\n                y_samples_1 = vec.unsqueeze(0)\n\n            # log of conditional probability of negative sample pairs, [B, D]\n            negative = - ((y_samples_1 - prediction_1)**2).mean(dim=1)/2./logvar.exp() \n\n            mi_upper = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n        # print(mi_upper)\n        \n        return mi_upper\n\n    def learning_loss(self, seq, vec, mask=None):\n        return - self.loglikeli(seq, vec, mask)\n\n\nclass CLUBForCategorical(nn.Module):\n    \"\"\"\n    This class provide a CLUB estimator to calculate MI upper bound between \n    vector-like embeddings and categorical labels.\n    \n    Estimate I(X,Y), where X is continuous vector and Y is discrete label.\n\n    \"\"\"\n    def __init__(self, input_dim, label_num, hidden_size=None):\n        '''\n        input_dim : the dimension of input embeddings\n        label_num : the number of categorical labels \n        '''\n        super().__init__()\n        \n        if hidden_size is None:\n            self.variational_net = nn.Linear(input_dim, label_num)\n        else:\n            self.variational_net = nn.Sequential(\n                nn.Linear(input_dim, hidden_size),\n                nn.ReLU(),\n                nn.Linear(hidden_size, label_num)\n            )\n            \n    def forward(self, inputs, labels):\n        \"\"\"\n        Args:\n            inputs : shape [batch_size, input_dim], a batch of embeddings\n            labels : shape [batch_size], a batch of label index\n        \"\"\"\n        logits = self.variational_net(inputs)  #[sample_size, label_num]\n        \n        # log of conditional probability of positive sample pairs\n        #positive = - nn.functional.cross_entropy(logits, labels, reduction='none')    \n        sample_size, label_num = logits.shape\n        \n        # shape [B, B, label_num]\n        logits_extend = logits.unsqueeze(1).repeat(1, sample_size, 1)\n        # shape [B, B]\n        labels_extend = labels.unsqueeze(0).repeat(sample_size, 1)\n        # log of conditional probability of negative sample pairs\n        log_mat = - nn.functional.cross_entropy(\n            logits_extend.reshape(-1, label_num),\n            labels_extend.reshape(-1, ),\n            reduction='none'\n        )\n        log_mat = log_mat.reshape(sample_size, sample_size)\n        positive = torch.diag(log_mat).mean()\n        ## gather representations in case of distributed training\n        if torch.distributed.is_available() and torch.distributed.is_initialized():\n            # [B * world_size, label_num]\n            logits_dist = SyncFunction.apply(logits)\n            world_size = torch.distributed.get_world_size()\n            # [B * world_size, B, label_num]\n            logits_dist_exp = logits_dist.unsqueeze(1).repeat(1, sample_size, 1)\n            # [B * world_size]\n            labels_dist = labels.unsqueeze(0).repeat(world_size, 1).reshape(-1)\n            # [B, B * world_size]\n            labels_dist_exp = labels_dist.unsqueeze(0).repeat(sample_size, 1)\n            log_mat_dist = - nn.functional.cross_entropy(\n                logits_dist_exp.reshape(-1, label_num),\n                labels_dist_exp.reshape(-1, ),\n                reduction='none'\n            )\n            # [B, B * world_size]\n            log_mat_dist = log_mat_dist.reshape(sample_size, -1)\n            negative = log_mat_dist.mean()\n        else:\n            negative = log_mat.mean()\n        return positive - negative\n\n    def loglikeli(self, inputs, labels):\n        logits = self.variational_net(inputs)\n        return - nn.functional.cross_entropy(logits, labels)\n    \n    def learning_loss(self, inputs, labels):\n        return - self.loglikeli(inputs, labels)\n    \n\nclass CLUB(nn.Module):  # CLUB: Mutual Information Contrastive Learning Upper Bound\n    '''\n        This class provides the CLUB estimation to I(X,Y)\n        Method:\n            forward() :      provides the estimation with input samples  \n            loglikeli() :   provides the log-likelihood of the approximation q(Y|X) with input samples\n        Arguments:\n            x_dim, y_dim :         the dimensions of samples from X, Y respectively\n            hidden_size :          the dimension of the hidden layer of the approximation network q(Y|X)\n            x_samples, y_samples : samples from X and Y, having shape [sample_size, x_dim/y_dim] \n    '''\n    def __init__(self, x_dim, y_dim, hidden_size, is_sampled_version=False):\n        super(CLUB, self).__init__()\n        self.is_sampled_version = is_sampled_version\n        # p_mu outputs mean of q(Y|X)\n        #print(\"create CLUB with dim {}, {}, hiddensize {}\".format(x_dim, y_dim, hidden_size))\n        self.p_mu = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim))\n        # p_logvar outputs log of variance of q(Y|X)\n        self.p_logvar = nn.Sequential(nn.Linear(x_dim, hidden_size//2),\n                                       nn.ReLU(),\n                                       nn.Linear(hidden_size//2, y_dim),\n                                       nn.Tanh())\n\n    def get_mu_logvar(self, x_samples):\n        mu = self.p_mu(x_samples)\n        logvar = self.p_logvar(x_samples)\n        return mu, logvar\n    \n    def forward(self, x_samples, y_samples): \n        mu, logvar = self.get_mu_logvar(x_samples)\n\n        if self.is_sampled_version:\n            sample_size = x_samples.shape[0]\n            #random_index = torch.randint(sample_size, (sample_size,)).long()\n            random_index = torch.randperm(sample_size).long()\n            \n            positive = - (mu - y_samples)**2 / logvar.exp()\n            negative = - (mu - y_samples[random_index])**2 / logvar.exp()\n            upper_bound = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n\n            mi_upper = upper_bound / 2.\n        else:\n            \n            # log of conditional probability of positive sample pairs\n            positive = - (mu - y_samples)**2 /2./logvar.exp()  \n            \n            prediction_1 = mu.unsqueeze(1)          # shape [nsample,1,dim]\n            # y_samples_1 = y_samples.unsqueeze(0)    # shape [1,nsample,dim]\n            ## gather representations in case of distributed training\n            if torch.distributed.is_available() and torch.distributed.is_initialized():\n                # [B * world_size, D]\n                y_samples_1_dist = SyncFunction.apply(y_samples)\n                # [1, B * world_size, D]\n                y_samples_1 = y_samples_1_dist.unsqueeze(0)\n            else:\n                # [1, B, D]\n                y_samples_1 = y_samples.unsqueeze(0)\n\n            # log of conditional probability of negative sample pairs\n            negative = - ((y_samples_1 - prediction_1)**2).mean(dim=1)/2./logvar.exp() \n\n            mi_upper = (positive.sum(dim = -1) - negative.sum(dim = -1)).mean()\n        return mi_upper   \n\n    def loglikeli(self, x_samples, y_samples): # unnormalized loglikelihood \n        mu, logvar = self.get_mu_logvar(x_samples)\n        return (-(mu - y_samples)**2 /logvar.exp()-logvar).sum(dim=1).mean(dim=0)\n    \n    def learning_loss(self, x_samples, y_samples):\n        return - self.loglikeli(x_samples, y_samples)\n"
  },
  {
    "path": "dataloader/dataloader.py",
    "content": "import torch\nimport torchaudio\nfrom torch.utils.data import Dataset, DataLoader\nimport json\nimport random\nimport os\nclass AudioMotionDataset(Dataset):\n    def __init__(self, text_file, wav_scp_file,description_file):\n        self.transcriptions = {}\n        with open(text_file, 'r') as f:\n            for line in f:\n                parts = line.strip().split(maxsplit=1)\n                utt_id = parts[0]\n                transcription = parts[1]\n                self.transcriptions[utt_id] = transcription\n        with open(description_file, 'r') as f:\n            self.description = json.load(f)\n\n        self.wav_paths = []\n        path=os.path.dirname(os.path.abspath(__file__))\n        path=os.path.dirname(path)\n        with open(wav_scp_file, 'r') as f:\n            for line in f:\n                parts = line.strip().split()\n                utt_id = parts[0]\n                wav_path = os.path.join(path,parts[1])\n                if utt_id in self.description:\n                    self.wav_paths.append((utt_id, wav_path))\n\n    def __getitem__(self, index):\n        utt_id, wav_path = self.wav_paths[index]\n        describs=self.description[utt_id]\n        describ=describs\n        transcription = self.transcriptions[utt_id]\n        return wav_path, transcription,describ\n\n    def __len__(self):\n        return len(self.wav_paths)\nimport soundfile as sf\n\n\ndef collate_fn(batch):\n    wav_paths, transcriptions,describ = zip(*batch)\n    waveforms = []\n    trans=[]\n    describs=[]\n    paths=[]\n    for wav,tran,des in zip(wav_paths,transcriptions,describ):\n        path=wav.split('/')[-1]\n        paths.append(path)\n        waveform, sample_rate = sf.read(wav)\n        if sample_rate != 16000:\n            waveform = torchaudio.transforms.Resample(sample_rate, 16000)(torch.tensor(waveform).unsqueeze(0).to(torch.float32)).squeeze(0).numpy()        #print(sample_rate)\n        waveforms.append(waveform)\n        trans.append(tran)\n        describs.append(des)    \n    return waveforms,trans,describs, paths\nimport time\nif __name__ == '__main__':\n    batch_size = 32\n    time1=time.time()\n    AM_Dataset = AudioMotionDataset(\"../dataset/text.txt\",\"../dataset/wav.scp\",\"../dataset/fid2captions.json\")\n    AM_Dataloader = DataLoader(AM_Dataset, batch_size=batch_size, shuffle=True, collate_fn=collate_fn)\n    data=[]\n    wavforms=[]\n    trans=[]\n    describs=[]\n    for batch_idx, (waveforms,trans,describs,_) in enumerate(AM_Dataloader):\n        print(batch_idx, trans,describs)\n    print(time.time()-time1)\n        \n    \n    \n"
  },
  {
    "path": "dataset/fid2captions.json",
    "content": "{\n    \"tx_emotion_00201000015\": \"悲伤逆流成河\",\n    \"tx_emotion_00201000107\": \"伤心难过，声音颤抖，情绪激动失望\",\n    \"tx_emotion_00201000148\": \"伤心难过，又无能为力\",\n    \"tx_emotion_00201000209\": \"内心对他人感到抱歉，责怪自己\",\n    \"tx_emotion_00201000220\": \"悲痛到无法自拔\",\n    \"tx_emotion_00201000274\": \"伤心不已，悲伤凄凉\",\n    \"tx_emotion_00201000323\": \"心里无比疼痛，伤心\",\n    \"tx_emotion_00201000340\": \"心里委屈，烦恼，窝火\",\n    \"tx_emotion_00201000467\": \"透漏出的是无法掩饰的悲伤\",\n    \"tx_emotion_00202000047\": \"心情平静，不心急，不急躁。\",\n    \"tx_emotion_00202000118\": \"发泄积在心中的委屈和气愤\",\n    \"tx_emotion_00202000136\": \"说话很没有耐心，很浮躁的内心\",\n    \"tx_emotion_00202000301\": \"怜惜又愤恨，泣不成声，难以控制情绪。\",\n    \"tx_emotion_00202000395\": \"教育别人，充满坚定的语气，还带有愤怒\",\n    \"tx_emotion_00202000425\": \"嫉妒，不满，生出怨恨情绪。\",\n    \"tx_emotion_00202000429\": \"声音高亢、清越，情绪激昂、强烈\",\n    \"tx_emotion_00202000436\": \"急切，激动，表示立场分明。\",\n    \"tx_emotion_00203000019\": \"喜悦的心情，喜悦的言辞\",\n    \"tx_emotion_00203000031\": \"因高兴或受某种刺激而精神激奋\",\n    \"tx_emotion_00203000034\": \"心情快乐舒畅\",\n    \"tx_emotion_00203000050\": \"某个节日的到来，倍感开心和欢喜\",\n    \"tx_emotion_00203000065\": \"语调间掩饰不住的开心快乐的喜悦\",\n    \"tx_emotion_00203000066\": \"言语间的喜悦和开心很明显\",\n    \"tx_emotion_00203000069\": \"对什么感到很喜欢，心里很是欢喜\",\n    \"tx_emotion_00203000072\": \"语气充斥着开心\",\n    \"tx_emotion_00203000086\": \"心情喜悦无比，兴高采烈\",\n    \"tx_emotion_00203000095\": \"想起过去的温馨场面，心里很是温暖，开心\",\n    \"tx_emotion_00203000111\": \"兴致高，情绪热烈，兴致勃勃\",\n    \"tx_emotion_00203000128\": \"言语中尽是喜悦欢喜之意\",\n    \"tx_emotion_00203000273\": \"感到幸福和满意\",\n    \"tx_emotion_00203000352\": \"感到幸福和满意\",\n    \"tx_emotion_00203000357\": \"因高兴或受某种刺激而精神激奋\",\n    \"tx_emotion_00203000364\": \"因高兴或受某种刺激而精神激奋\",\n    \"tx_emotion_00203000372\": \"心里高兴，言语间表现出欢喜\",\n    \"tx_emotion_00203000379\": \"因得到某个东西，非常开心激动\",\n    \"tx_emotion_00203000399\": \"心情快乐舒畅\",\n    \"tx_emotion_00203000412\": \"心花怒放、欢天喜地、欣喜若狂的样子\",\n    \"tx_emotion_00203000425\": \"无法言喻的开心快乐\",\n    \"tx_emotion_00203000448\": \"心里开心愉悦，还有一丝甜蜜\",\n    \"tx_emotion_00203000470\": \"言语间的喜悦和开心很明显\",\n    \"tx_emotion_00203000485\": \"心情十分愉快，畅快\",\n    \"tx_emotion_00203000486\": \"因某事的如意而高兴无比\",\n    \"tx_emotion_00204000391\": \"心里生气，不爽\",\n    \"tx_emotion_00204000426\": \"心中醋意正浓，觉得有被抛弃之感\",\n    \"tx_emotion_00204000458\": \"嫉妒，不满，生出怨恨情绪\",\n    \"tx_emotion_00204000494\": \"心生不满，厌恶。\",\n    \"tx_emotion_00205000062\": \"怒火重重，满是气愤\",\n    \"tx_emotion_00205000069\": \"心里难受，不舒服\",\n    \"tx_emotion_00205000105\": \"心里苦楚，内心悲伤，悲痛，委屈\",\n    \"tx_emotion_00205000110\": \"心里苦楚，内心悲伤，悲痛，委屈\",\n    \"tx_emotion_00205000119\": \"心里苦楚，内心悲伤，悲痛，委屈\",\n    \"tx_emotion_00205000127\": \"情绪激动警惕为保护她而着急\",\n    \"tx_emotion_00205000198\": \"怜惜又愤恨，泣不成声，难以控制情绪\",\n    \"tx_emotion_00205000265\": \"傲气十足，对自己有信心\",\n    \"tx_emotion_00206000061\": \"好奇心所致，保持疑惑，想要知道答案。\",\n    \"tx_emotion_00206000149\": \"不解的问\",\n    \"tx_emotion_00206000167\": \"意想不到，感到惊讶奇怪。\",\n    \"tx_emotion_00206000186\": \"感到疑惑，不知该怎么办\",\n    \"tx_emotion_00206000235\": \"充满疑问的语气，和不解的语调\",\n    \"tx_emotion_00206000240\": \"好奇心所致，保持疑惑，想要知道答案。\",\n    \"tx_emotion_00206000315\": \"百思不得其解\",\n    \"tx_emotion_00206000337\": \"好奇心所致，保持疑惑，想要知道答案。\",\n    \"tx_emotion_00206000380\": \"为他人担心害怕\",\n    \"tx_emotion_00206000458\": \"内心愉悦，开心\",\n    \"tx_emotion_00206000480\": \"充满疑问的语气，和不解的语调\",\n    \"tx_emotion_00207000018\": \"抱着希望，结果却是深深的失望\",\n    \"tx_emotion_00207000080\": \"悲哀痛苦，悲伤难过\",\n    \"tx_emotion_00207000113\": \"悲哀痛苦，悲伤难过\",\n    \"tx_emotion_00207000162\": \"内心内疚，泣不成声，情绪无法控制\",\n    \"tx_emotion_00207000211\": \"抱着希望，结果却是深深的失望\",\n    \"tx_emotion_00207000252\": \"心境十分悲伤\",\n    \"tx_emotion_00208000087\": \"心里苦楚，内心悲伤，悲痛，委屈\",\n    \"tx_emotion_00208000257\": \"愤愤的感慨\",\n    \"tx_emotion_00208000303\": \"气愤像野火一样在心里烧\",\n    \"tx_emotion_00208000327\": \"感到不满，很愤怒，打抱不平的样子\",\n    \"tx_emotion_00208000390\": \"心里生气，恼怒且气愤\",\n    \"tx_emotion_00209000005\": \"充满疑问，很好奇\",\n    \"tx_emotion_00209000026\": \"心情愉悦，开心极了\",\n    \"tx_emotion_00209000060\": \"情绪激动警惕为保护她而着急\",\n    \"tx_emotion_00209000215\": \"悲哀痛苦，悲伤难过\",\n    \"tx_emotion_00209000269\": \"非常愉快、高兴\",\n    \"tx_emotion_00209000346\": \"目瞪口呆、桥舌不下、惊讶的样子\",\n    \"tx_emotion_00210000049\": \"声音断断续续，口齿不清，难过得哭泣，充满怜悯之心\",\n    \"tx_emotion_00210000124\": \"内心内疚，泣不成声，情绪无法控制\",\n    \"tx_emotion_00210000249\": \"声音断断续续，口齿不清，难过得哭泣，充满怜悯之心\",\n    \"tx_emotion_00210000272\": \"奔溃大哭，无法控制自己的情绪\",\n    \"tx_emotion_00210000419\": \"情绪激动警惕为保护她而着急\",\n    \"tx_emotion_00210000453\": \"不满，生出怨恨情绪\",\n    \"tx_emotion_00210000476\": \"声音颤抖，充满悲伤，凄凉\",\n    \"tx_emotion_00301000019\": \"不堪忍受，十分难过，情绪激动难以控制，声音忽上忽下\",\n    \"tx_emotion_00301000036\": \"悲哀痛苦，悲伤难过。\",\n    \"tx_emotion_00301000052\": \"悲哀痛苦，悲伤难过。\",\n    \"tx_emotion_00301000185\": \"对往事的追忆中带着一丝甜蜜，还有伤感\",\n    \"tx_emotion_00301000203\": \"极端的伤心，心里悲痛，心如刀割\",\n    \"tx_emotion_00301000457\": \"伤心难过，声音颤抖，情绪激动失望\",\n    \"tx_emotion_00301000461\": \"因不如意的事心里悲痛，伤心难过。\",\n    \"tx_emotion_00301000494\": \"伤心难过，又无能为力\",\n    \"tx_emotion_00302000016\": \"心生不满，厌恶。\",\n    \"tx_emotion_00302000027\": \"心生不满，厌恶。\",\n    \"tx_emotion_00302000054\": \"因不如意的事心里悲痛，伤心难过\",\n    \"tx_emotion_00302000090\": \"情绪激动警惕为保护她而着急。\",\n    \"tx_emotion_00302000107\": \"充满正气，情绪激动\",\n    \"tx_emotion_00302000216\": \"心情平静，不急躁。\",\n    \"tx_emotion_00302000224\": \"情绪失控，随时会爆发\",\n    \"tx_emotion_00302000304\": \"急切，激动，表示立场分明\",\n    \"tx_emotion_00302000356\": \"不堪忍受，十分难过，情绪激动难以控制，声音忽上忽下\",\n    \"tx_emotion_00302000470\": \"事事埋怨的感觉\",\n    \"tx_emotion_00303000023\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000046\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000052\": \"非常愉快、高兴\",\n    \"tx_emotion_00303000056\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000080\": \"说话从容不迫\",\n    \"tx_emotion_00303000082\": \"感到幸福和满意\",\n    \"tx_emotion_00303000117\": \"愉快高兴，心情舒畅\",\n    \"tx_emotion_00303000119\": \"形容内心十分开心，高兴\",\n    \"tx_emotion_00303000127\": \"喜事临门，心情美好而快乐。\",\n    \"tx_emotion_00303000129\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000130\": \"心情十分高兴，乐在其中。\",\n    \"tx_emotion_00303000148\": \"听到开心的事，心情舒畅\",\n    \"tx_emotion_00303000158\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000167\": \"听到开心的事，愉快高兴\",\n    \"tx_emotion_00303000173\": \"愉快高兴，心情舒畅\",\n    \"tx_emotion_00303000182\": \"丝毫不加节制地表露欢乐、热情和惊奇\",\n    \"tx_emotion_00303000198\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000211\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000236\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000260\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000298\": \"听到开心的事，心情舒畅\",\n    \"tx_emotion_00303000310\": \"出乎意料的高兴\",\n    \"tx_emotion_00303000354\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000360\": \"愉快高兴，心情舒畅\",\n    \"tx_emotion_00303000363\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000389\": \"心情快乐舒畅\",\n    \"tx_emotion_00303000396\": \"感到满足时的高兴心情\",\n    \"tx_emotion_00303000421\": \"听到开心的事，心情舒畅\",\n    \"tx_emotion_00303000433\": \"形容内心十分开心，高兴\",\n    \"tx_emotion_00303000457\": \"很兴奋心情很激动\",\n    \"tx_emotion_00303000462\": \"愉快高兴，心情舒畅\",\n    \"tx_emotion_00303000465\": \"很开心很愉悦\",\n    \"tx_emotion_00303000474\": \"非常愉快、高兴\",\n    \"tx_emotion_00304000049\": \"语气激动，语调愤怒，声音洪亮，怒不可遏\",\n    \"tx_emotion_00304000079\": \"心里激愤\",\n    \"tx_emotion_00304000169\": \"对事情的气愤\",\n    \"tx_emotion_00304000235\": \"语气激动，语调忿忿不平\",\n    \"tx_emotion_00304000459\": \"感觉怒火中烧，无法压抑\",\n    \"tx_emotion_00305000005\": \"急切，激动，表示立场分明。\",\n    \"tx_emotion_00305000009\": \"怒气很大，控制不住了\",\n    \"tx_emotion_00305000014\": \"内心很愤怒，快要爆发出来了\",\n    \"tx_emotion_00305000119\": \"悲伤难过\",\n    \"tx_emotion_00305000164\": \"激动而愤怒，发怒，恼怒\",\n    \"tx_emotion_00305000183\": \"心生不满，厌恶。\",\n    \"tx_emotion_00305000280\": \"平缓的情绪，不骄不躁\",\n    \"tx_emotion_00305000283\": \"对往事的追忆中带有心酸，还有一丝伤感。\",\n    \"tx_emotion_00305000308\": \"心生不满，厌恶。\",\n    \"tx_emotion_00305000383\": \"对人真诚的劝告或忠告，深刻有力。\",\n    \"tx_emotion_00306000098\": \"心里疑惑不解，对此感到好奇\",\n    \"tx_emotion_00306000101\": \"因对某事存在疑问而感到十分好奇\",\n    \"tx_emotion_00306000202\": \"心中充满好奇\",\n    \"tx_emotion_00306000261\": \"对新鲜事物有着强烈的好奇心\",\n    \"tx_emotion_00306000405\": \"觉得自己与众不同，自以为是\",\n    \"tx_emotion_00306000460\": \"心中疑惑不解，充满好奇\",\n    \"tx_emotion_00309000124\": \"心里开心激动\",\n    \"tx_emotion_00309000154\": \"平静叙事，无情绪\",\n    \"tx_emotion_00309000160\": \"感到又惊又喜，不可思议\",\n    \"tx_emotion_00309000167\": \"内心着急于想知道某事\",\n    \"tx_emotion_00309000172\": \"没想到的事情\",\n    \"tx_emotion_00309000183\": \"内心恍然大悟，突然明白\",\n    \"tx_emotion_00309000269\": \"突如其来的事情\",\n    \"tx_emotion_00309000324\": \"喜出望外，感受到了希望\",\n    \"tx_emotion_00309000349\": \"语气惊喜，略带兴奋\",\n    \"tx_emotion_00309000452\": \"恍然大悟，原来是他\",\n    \"tx_emotion_00400000011\": \"平静的阐述，无情绪\",\n    \"tx_emotion_00400000026\": \"深沉，不外露，耐人寻味\",\n    \"tx_emotion_00400000160\": \"语气平和，语调平静\",\n    \"tx_emotion_00400000196\": \"形容端正老实，合乎常理\",\n    \"tx_emotion_00400000259\": \"语气平和，语调平静\",\n    \"tx_emotion_00400000378\": \"深沉，不外露，耐人寻味\",\n    \"tx_emotion_00401000087\": \"对往事的回忆，不禁发出感叹\",\n    \"tx_emotion_00401000174\": \"让人听着很心酸，可悲的样子\",\n    \"tx_emotion_00401000213\": \"伤心难过，很是烦闷\",\n    \"tx_emotion_00401000239\": \"悲伤到无力，悲痛到窒息\",\n    \"tx_emotion_00401000242\": \"让人觉得很凄凉，可悲的样子\",\n    \"tx_emotion_00401000281\": \"悲痛到无法自拔\",\n    \"tx_emotion_00401000297\": \"心里苦闷，忧伤不已\",\n    \"tx_emotion_00401000327\": \"很低沉的语气，让人感到忧伤和失落\",\n    \"tx_emotion_00401000339\": \"悲伤逆流成河\",\n    \"tx_emotion_00401000440\": \"思绪万千，心中忧愁满满\",\n    \"tx_emotion_00402000196\": \"从语气能感觉到很尊重很敬重\",\n    \"tx_emotion_00402000283\": \"语气着急，气急败坏\",\n    \"tx_emotion_00402000299\": \"急切，激动，大声表达自己的不满。\",\n    \"tx_emotion_00402000480\": \"愤怒得咬牙切齿，恶狠狠的样子\",\n    \"tx_emotion_00403000052\": \"心情快乐舒畅\",\n    \"tx_emotion_00403000060\": \"心里甜的跟蜜一样\",\n    \"tx_emotion_00403000077\": \"高兴的压抑不住心跳\",\n    \"tx_emotion_00403000099\": \"感到幸福或满意\",\n    \"tx_emotion_00403000131\": \"形容内心十分开心，高兴\",\n    \"tx_emotion_00403000143\": \"无比欢乐和幸福\",\n    \"tx_emotion_00403000145\": \"越想心里越快乐，越想心里越美\",\n    \"tx_emotion_00403000147\": \"内心十分疑惑，不明白\",\n    \"tx_emotion_00403000157\": \"发自内心的喜悦\",\n    \"tx_emotion_00403000163\": \"心里高兴极了\",\n    \"tx_emotion_00403000173\": \"感到满足时的高兴心情\",\n    \"tx_emotion_00403000175\": \"内心感到心满意足\",\n    \"tx_emotion_00403000197\": \"心里兴奋不已，感觉值得\",\n    \"tx_emotion_00403000252\": \"感到满足时的高兴心情\",\n    \"tx_emotion_00403000255\": \"内心抑制不住的喜悦\",\n    \"tx_emotion_00403000359\": \"心里很是欢愉，开心\",\n    \"tx_emotion_00403000393\": \"形容内心十分开心，高兴\",\n    \"tx_emotion_00403000395\": \"情绪激动欢乐，很是开心\",\n    \"tx_emotion_00403000432\": \"形容内心十分开心，高兴\",\n    \"tx_emotion_00403000439\": \"非常愉快、高兴\",\n    \"tx_emotion_00403000451\": \"心里甚是开心，喜悦\",\n    \"tx_emotion_00403000482\": \"内心感到兴奋不已，十分刺激\",\n    \"tx_emotion_00403000494\": \"感到心满意足，十分快乐\",\n    \"tx_emotion_00405000239\": \"心里生气，恼怒且气愤\",\n    \"tx_emotion_00405000329\": \"感觉自己怒火中烧\",\n    \"tx_emotion_00409000007\": \"言语里满是惊讶之意\",\n    \"tx_emotion_00409000081\": \"好奇心所致，保持疑惑，想要知道答案。\",\n    \"tx_emotion_00409000119\": \"语气虽然有些怀疑，但是更多的是尊重\",\n    \"tx_emotion_00409000228\": \"意外的感觉，感到震撼\",\n    \"tx_emotion_00409000285\": \"很轻松的气氛，开着玩笑\",\n    \"tx_emotion_00409000323\": \"带有佩服的言语\",\n    \"tx_emotion_00409000325\": \"心情快乐舒畅\",\n    \"tx_emotion_00409000441\": \"心里感到很是惊讶和惊喜\",\n    \"tx_emotion_00409000462\": \"心里感到很是开心又很惊讶\",\n    \"tx_emotion_00409000470\": \"气愤不已，情绪很是激愤\",\n    \"tx_emulate_00_060_0001_000030\": \"心情畅快，语气坚定，有欢喜真挚的感觉\",\n    \"tx_emulate_00_102_0004_000088\": \"声音高昂，情绪十分激动，内心十分不愿意相信\",\n    \"tx_emulate_00_103_0001_000017\": \"心情十分兴奋，语速很快，心里十分期待\",\n    \"tx_emulate_00_104_0001_000113\": \"声调上扬，声音尖锐洪亮，字正腔圆，情绪有些激动，质疑责骂的语气表达了心中的不满与质疑\",\n    \"tx_emulate_00_108_0001_000008\": \"语调不高，疑问的口吻满是不解，带有一些迟疑，心中不理解\",\n    \"tx_emulate_00_108_0001_000079\": \"声音微弱，语气中带有一丝慌张和心虚\",\n    \"tx_emulate_00_108_0002_000070\": \"上来语调就上扬，愉悦的感情溢于言表，后面是认真的叮嘱，表达自己对当前的心满意足\",\n    \"tx_emulate_00_108_0004_000011\": \"声音高拔，语调高，语气中带着疑惑，十分意外的感觉\",\n    \"tx_emulate_00_108_0004_000039\": \"语气轻快，言语里透出内心的随意与无所谓的得意洋洋的心情。\",\n    \"tx_emulate_00_109_0004_000042\": \"心情有点着急，语气表达出自己的关心，态度很诚恳，温和。\",\n    \"tx_emulate_00_109_0004_000071\": \"语速极快，情绪中非常不爽，声音很尖锐，后面又流露放缓了态度\",\n    \"tx_emulate_00_109_0005_000085\": \"语速较快，情绪波动起伏，语调高亢起伏，在指责不满之余还有质疑的意味\",\n    \"tx_emulate_00_109_0005_000091\": \"语速快，语气急促，言语里透出内心的恼怒与不耐烦的情绪。\",\n    \"tx_emulate_00_110_0002_000028\": \"声音很喜气洋洋的，欢快轻松的语调展现内心的欢愉\",\n    \"tx_emulate_00_110_0002_000038\": \"语速很快，声音很高，情绪中充满释然。\",\n    \"tx_emulate_00_110_0004_000059\": \"又惊又喜，语气中透着轻松快乐\",\n    \"tx_emulate_00_110_0004_000099\": \"声音断断续续，语气中带着窘迫\",\n    \"tx_emulate_00_111_0001_000023\": \"语气中充满了惊讶，心情分外的愉悦，强压制住心中的喜悦。\",\n    \"tx_emulate_00_111_0001_000042\": \"声色十分的温柔，难以抑制躁动的心，开心高兴到了极点。\",\n    \"tx_emulate_00_112_0001_000066\": \"心里的快乐全都表现在脸上，声调上扬\",\n    \"tx_emulate_00_112_0002_000016\": \"语速快，声音中充满着急和担心\",\n    \"tx_emulate_00_112_0002_000070\": \"声调上扬，语气轻松愉快，情绪很高\",\n    \"tx_emulate_00_112_0005_000089\": \"语气中带有荣幸，开心极了\",\n    \"tx_emulate_00_112_0006_000020\": \"祈求的口吻中带有些委屈\",\n    \"tx_emulate_00_113_0002_000003\": \"语气十分做作，做作中带着些不满\",\n    \"tx_emulate_00_114_0001_000001\": \"语速不疾不徐，语气十分笃定，很有说服力\",\n    \"tx_emulate_00_114_0002_000030\": \"是揶揄的口吻，语气十分轻快\",\n    \"tx_emulate_00_114_0003_000026\": \"语调宛转起伏，语速稍快，语气十分肯定\",\n    \"tx_emulate_00_115_0002_000007\": \"精神抖擞，语气中充满得意和肯定\",\n    \"tx_emulate_00_115_0005_000035\": \"语速较快，声音较高，情绪中带着一些焦急和抱怨。\",\n    \"tx_emulate_00_115_0009_000024\": \"言语中透露出轻蔑，满眼的不屑而又格外的气愤，很是气不过。\",\n    \"tx_emulate_00_115_0010_000012\": \"前半句语气坚决，带有不可置否之意，后半句则可见其淡然处之之姿。\",\n    \"tx_emulate_00_117_0002_000013\": \"声音微扬，语调低缓，话语中带着无所谓，一点也不重视的感觉\",\n    \"tx_emulate_00_117_0005_000059\": \"声音高扬，语气中带着焦急，非常无助，一筹莫展的感觉\",\n    \"tx_emulate_00_118_0002_000020\": \"声音欢快活泼，情绪很饱满，带着欢乐的情感。\",\n    \"tx_emulate_00_118_0002_000022\": \"情绪激动，声调下降，声音尖，内心气愤地无法抑制\",\n    \"tx_emulate_00_118_0005_000032\": \"语气激动，声音中透露出不理解。\",\n    \"tx_emulate_00_119_0001_000001\": \"语速比较快，声音中透露着一种轻快的感觉，很兴奋\",\n    \"tx_emulate_00_119_0001_000034\": \"声音高挑，语速微快，话语里带着责备，心里非常着急，很是凌乱，没有办法的感觉\",\n    \"tx_emulate_00_119_0001_000049\": \"情绪很高涨，语气十分轻松，让人听了觉得想笑\",\n    \"tx_emulate_00_120_0002_000071\": \"语调急促且高扬，语气紧张，流露害怕恐惧之情。\",\n    \"tx_emulate_00_121_0002_000009\": \"声音带着欢快，心里比较开心，满目含笑。\",\n    \"tx_emulate_00_122_0001_000025\": \"情绪激扬，心里带着喜悦之情，由内而发的开心。\",\n    \"tx_emulate_00_123_0001_000048\": \"语气很轻松，表现的镇定自若，很坦然的样子。\",\n    \"tx_emulate_00_123_0002_000003\": \"语速较缓，声音轻柔，突出内心的欢喜自豪\",\n    \"tx_emulate_00_123_0009_000012\": \"语气柔和，态度温和，心情放松很愉快。\",\n    \"tx_emulate_00_125_0001_000067\": \"声音逐渐高扬，语调渐高，话语中带着惊恐和害怕，内心非常的紧张的情绪\",\n    \"tx_emulate_00_125_0002_000049\": \"带开玩笑的心态说话，情绪有不屑，声音坚定自信\",\n    \"tx_emulate_00_125_0002_000058\": \"语调十分欢快，整个人神采飞扬的，声音中满是得意，很是满意\",\n    \"tx_emulate_00_125_0008_000017\": \"声音不急不快，内心带着感叹和抒发的心情。\",\n    \"tx_emulate_00_126_0001_000039\": \"语调很低，但是语速稍快，有些畏缩的语气透露出内心的恐惧和担心\",\n    \"tx_emulate_00_127_0001_000084\": \"话语中带着一种收到意外之喜后的喜悦\",\n    \"tx_emulate_00_128_0006_000033\": \"言语间充满嫉妒和羡慕的语气 艳羡不已\",\n    \"tx_emulate_00_129_0004_000056\": \"先是语调很急切的表示自己的认真，后面轻快的声音显示了满心的愉悦\",\n    \"tx_emulate_00_129_0004_000057\": \"声音轻盈干练，语气中带着骄傲，豪放的情感。\",\n    \"tx_emulate_00_129_0005_000029\": \"心情急切，着急迫切，语速特别快，焦急烦躁，心神不定\",\n    \"tx_emulate_00_130_0001_000057\": \"语气不确定，有疑问和困惑，摇摆不定\",\n    \"tx_emulate_00_130_0003_000017\": \"语气中透露欢乐，带有些些调侃\",\n    \"tx_emulate_00_131_0005_000061\": \"语气很重，语速很快，情绪十分不耐烦。\",\n    \"tx_emulate_00_132_0004_000026\": \"语气中充满笃定和喜悦，心里十分开心、有把握\",\n    \"tx_emulate_00_132_0005_000016\": \"语气中带有急切、惶恐、不知所措\",\n    \"tx_emulate_00_133_0005_000062\": \"语气很温柔，声音很细，透露着一种讽刺不满的感觉\",\n    \"tx_emulate_00_135_0002_000003\": \"声音清脆，带着笑声，心里的快乐展现在声音中\",\n    \"tx_emulate_00_135_0004_000015\": \"语速快，声音轻快明亮，包含激动和急切、担忧\",\n    \"tx_emulate_00_137_0002_000079\": \"情绪中充满了无比的自豪和欢乐，语气欢快，声音十分轻快\",\n    \"tx_emulate_00_137_0003_000022\": \"语速缓慢，音调较高，语气轻松愉快，内心很开心，声音有些调皮\",\n    \"tx_emulate_00_137_0003_000082\": \"说话时停顿许久，语速很慢，语调微微上扬，心里感到十分疑惑\",\n    \"tx_emulate_00_137_0005_000092\": \"先是感叹一声，后面语调轻快地重复言辞，感到十分高兴\",\n    \"tx_emulate_00_144_0005_000014\": \"语气十分不爽，略有些愤懑\",\n    \"tx_emulate_00_144_0007_000056\": \"语气很轻快，心情很舒畅，带着笑意。\",\n    \"tx_emulate_00_150_0005_000005\": \"语气轻快十分满足，开心极了\",\n    \"tx_emulate_00_150_0005_000006\": \"心情愉悦，语气很放松，欢快的情绪。\",\n    \"tx_emulate_00_151_0001_000018\": \"语气十分感激，还略有些开心\",\n    \"tx_emulate_00_151_0007_000028\": \"语气较为轻快，心情舒畅，愉悦的情绪。\",\n    \"tx_emulate_00_153_0001_000033\": \"心里止不住地难过，语气中带有淡淡的失落\",\n    \"tx_emulate_00_157_0001_000031\": \"声音非常高昂激动，显示内心骄傲自得和心满意足\",\n    \"tx_emulate_00_158_0002_000007\": \"语气中充满气愤、不满，表现内心的愤怒\",\n    \"tx_emulate_00_158_0002_000049\": \"声音强烈，带有浓烈的哀怨情绪\",\n    \"tx_emulate_00_158_0003_000068\": \"声音高昂，语速较快，情绪中充满愤怒和不满。\",\n    \"tx_emulate_00_159_0001_000006\": \"非常担心，语气中满是担忧、关怀\",\n    \"tx_emulate_00_162_0002_000075\": \"说话先是带有结巴，后来非常的急躁恼火致使自己的说话语速加快\",\n    \"tx_emulate_00_162_0005_000004\": \"语速较快，声音较高，情绪中带着一些焦急和质问。\",\n    \"tx_emulate_00_171_0006_000036\": \"一开始说话语调不高，声音很低，后来语速却较快显示出心有不甘，但是又毫无办法\",\n    \"tx_emulate_00_179_0005_000021\": \"声音高挑，语速轻快，语气中带着心满意足的高兴。\",\n    \"tx_emulate_00_185_0002_000007\": \"声音轻快，高兴而喜悦，内心各种的顺畅与如意。\",\n    \"tx_emulate_00_186_0001_000023\": \"声调较高，语速较快，语气中带着愉悦，表明说话者欣喜愉悦的心情\",\n    \"tx_emulate_01_001_0018_000065\": \"声音很坚定，着急更甚，心绪火烧火燎的。\",\n    \"tx_emulate_01_001_0019_000077\": \"语气充满了惊讶，好像难以想象居然会这样。\",\n    \"tx_emulate_01_002_0005_000008\": \"言辞中透露出浓浓的悲辛和顾忌之意，亦可闻其豪情和激昂之音。\",\n    \"tx_emulate_01_002_0007_000012\": \"声音用力，语气上扬，非常生气的情感。\",\n    \"tx_emulate_01_002_0017_000057\": \"在感叹中，内心的赞赏喜爱之意无法掩盖，亦带有丝丝惋惜和怜爱之感。\",\n    \"tx_emulate_01_003_0003_000018\": \"非常高兴，话语中透露着喜欢和愉悦\",\n    \"tx_emulate_01_004_0006_000023\": \"言语中充满了喜悦，情绪十分激动，心情很是舒畅。\",\n    \"tx_emulate_01_005_0004_000013\": \"语气中透露着激动、欣赏和高兴，声音高扬\",\n    \"tx_emulate_01_005_0005_000022\": \"语气不坚定，声音重心在前，情绪略有起伏，\",\n    \"tx_emulate_01_006_0020_000094\": \"心中非常高兴。语速较快的说出来。\",\n    \"tx_emulate_01_007_0006_000025\": \"声音拔高，语速较快，语气中带着讨厌，非常不喜的情绪\",\n    \"tx_emulate_01_007_0008_000034\": \"声音高昂，语气渐重，话语中带着中肯，说话非常有分量的情绪\",\n    \"tx_emulate_01_007_0021_000120\": \"十分认真的语气，特别的坦然，语重心长的。\",\n    \"tx_emulate_01_007_0024_000091\": \"声音高亢尖利，语调拔高，语气里带着凶狠和恼怒的情绪\",\n    \"tx_emulate_01_007_0025_000099\": \"声音高挑，语速微快，话语里带着坚决和果敢的情绪\",\n    \"tx_emulate_01_008_0011_000050\": \"声音高扬，话语中透着哀伤和心疼的情绪\",\n    \"tx_emulate_01_008_0017_000077\": \"声音坚定，语气中透露出执着的情感。\",\n    \"tx_emulate_01_009_0003_000026\": \"声音低婉，语速微扬，话语里带着羞怯，十分可爱的感觉\",\n    \"tx_emulate_01_010_0012_000085\": \"声音严厉，态度严肃认真，表现不可侵犯的气势\",\n    \"tx_emulate_01_011_0005_000017\": \"声音较快，声音较高，内心感到焦急和慌张的情绪。\",\n    \"tx_emulate_01_011_0009_000047\": \"前重后轻的语调，有着不屑的语气\",\n    \"tx_emulate_01_011_0010_000050\": \"声音平缓，语速适中，情绪中带着幸灾乐祸感觉。\",\n    \"tx_emulate_01_011_0011_000059\": \"理直气壮的语气带着些微着急\",\n    \"tx_emulate_01_011_0013_000073\": \"升起的语调表明了纳闷的心情\",\n    \"tx_emulate_01_012_0004_000021\": \"说话的语速非常的烦闷声音中带着一些气愤与不满。\",\n    \"tx_emulate_01_012_0023_000084\": \"语气低沉，情绪低落，内心感到灰心和失望。\",\n    \"tx_emulate_01_012_0025_000092\": \"声音甜美温柔，内心带有喜笑颜开的兴奋情绪。\",\n    \"tx_emulate_01_013_0002_000004\": \"声音微扬，话语中带着关切，十分急切的感觉\",\n    \"tx_emulate_01_013_0007_000025\": \"语速较快，内心不耐烦，带有抱怨不满的情绪。\",\n    \"tx_emulate_01_013_0007_000032\": \"声音微扬，语调渐高，话语里带着安抚，心底十分善良的\",\n    \"tx_emulate_01_014_0004_000016\": \"声音高拔尖锐，语调拔高，话语中带着愤怒和心疼的感觉\",\n    \"tx_emulate_01_014_0005_000035\": \"语速快，声音激烈，表现心里的担忧、急切\",\n    \"tx_emulate_01_014_0011_000061\": \"语气轻快，内心放松，轻松，得意洋洋的高兴情感。\",\n    \"tx_emulate_01_014_0016_000086\": \"语速很慢，声音低沉，内心充满感激和感动的情绪。\",\n    \"tx_emulate_01_016_0003_000006\": \"声音高，语速快，话语中带着种种的质问，表示迷惑不解。\",\n    \"tx_emulate_01_016_0007_000035\": \"语气中带着关心安慰的情感，语速正常，声音微微低沉。\",\n    \"tx_emulate_01_016_0008_000037\": \"语气先是急切的，然后转变为迟疑和结结巴巴。\",\n    \"tx_emulate_01_016_0016_000067\": \"声音微微的脆弱，话语中带着坚定与自信的情感。\",\n    \"tx_emulate_01_016_0023_000150\": \"语气有些慌乱，声音刻意压低，态度严肃\",\n    \"tx_emulate_01_018_0003_000014\": \"语调较高，情绪很欢快，语气充满了开心。\",\n    \"tx_emulate_01_020_0001_000004\": \"赞美的语气，充满着满意的心情，夹杂着一点感叹\",\n    \"tx_emulate_01_020_0007_000012\": \"句子中带有一种激动的心情，还有一点愉快的语气，还有一点喜悦\",\n    \"tx_emulate_01_020_0017_000067\": \"情绪非常激动，说话声带着哭腔，久久不能平静\",\n    \"tx_emulate_01_021_0003_000015\": \"语气低沉且柔和，心里满是疑惑，一头雾水而纳闷不解。\",\n    \"tx_emulate_01_022_0009_000026\": \"声色极其的凄楚，声音沉闷，心里很不满且气愤。\",\n    \"tx_emulate_01_022_0022_000108\": \"语气较重，声音高昂，情绪非常生气。\",\n    \"tx_emulate_01_022_0022_000111\": \"语速很快，特别着急的感觉，还有些烦躁，大发雷霆，恨铁不成钢的语气。\",\n    \"tx_emulate_01_023_0006_000042\": \"语气很重，语速缓慢，情绪中带着不悦和不高兴。\",\n    \"tx_emulate_01_023_0010_000063\": \"语速很快语气很重，对别人感到不耐烦。\",\n    \"tx_emulate_01_023_0010_000064\": \"声音较低，语速较快，情绪中充满担忧。\",\n    \"tx_emulate_01_023_0014_000081\": \"情绪很烦乱的样子，语速较缓慢。\",\n    \"tx_emulate_01_024_0009_000083\": \"语气高昂，情绪中带着抱怨与责怪。\",\n    \"tx_emulate_01_024_0010_000114\": \"语速较快，内心十分的激动和坚定的激昂的情感。\",\n    \"tx_emulate_01_024_0012_000117\": \"语速过快，表达出内心心急如焚的情绪。\",\n    \"tx_emulate_01_024_0013_000139\": \"声音高昂，语气很重，情绪中带着愤恨和气怒。\",\n    \"tx_emulate_01_026_0005_000031\": \"语速较快，内心感到不满意，语气里充满嫌弃和不高兴。\",\n    \"tx_emulate_01_028_0008_000035\": \"语速较慢，语调较高，语气较重，凸显了说话者情绪的极度不悦，内心不理解\",\n    \"tx_emulate_01_028_0009_000046\": \"语速较慢，语调较低，语气中带着慨叹，凸显了说话者情绪的惆怅\",\n    \"tx_emulate_01_028_0009_000054\": \"声音隐约带着哭腔，语气中充满了委屈，声音娇媚\",\n    \"tx_emulate_01_029_0013_000037\": \"语速较快，语调较高，语气中充满怒气，凸显了说话者内心的愤怒，情绪激动\",\n    \"tx_emulate_01_030_0014_000035\": \"声音微扬，语中含笑，因为舒服而心情都非常的开怀的感觉\",\n    \"tx_emulate_01_031_0009_000032\": \"语速较快，语调较高，语气十分自豪，表明说话者内心志得意满\",\n    \"tx_emulate_01_031_0011_000045\": \"语速较慢，语调较高，语气中充满亢奋，凸显了说话者内心的激动，情绪高涨\",\n    \"tx_emulate_01_031_0015_000061\": \"声音沉稳，语速微缓，话语中带着谦卑，说话做事极度小心的感觉\",\n    \"tx_emulate_01_031_0020_000073\": \"语速较快，语调较高，语气充满了呵斥，说明说话者情绪的气愤，内心愤怒\",\n    \"tx_emulate_01_032_0011_000017\": \"语速较快，语调较高，语气带着开心的感觉，表明说话者情绪十分高涨，兴致勃勃\",\n    \"tx_emulate_01_032_0011_000020\": \"语速较快，语调较高，语气中充满了鼓舞，表明说话者内心十分兴奋，情绪高涨\",\n    \"tx_emulate_01_032_0018_000042\": \"声音高扬，语调顿挫，语气里带着撒娇，十分生气的，啥话都听不进去的感觉\",\n    \"tx_emulate_01_033_0004_000039\": \"语速稍慢，情绪有一丝尴尬，语气有些遮遮掩掩的感觉\",\n    \"tx_emulate_01_033_0006_000075\": \"每个字都掷地有声，表达不容置喙之情。\",\n    \"tx_emulate_01_034_0003_000030\": \"语调持续高涨，语气轻松，流露出兴高采烈的心情。\",\n    \"tx_emulate_01_034_0005_000040\": \"语调冷淡急促，内心充满不悦与好奇，带有些许的醋意\",\n    \"tx_emulate_01_190_0001_000041\": \"语调欢快上扬，内心高兴极了。\",\n    \"tx_emulate_01_190_0001_000042\": \"语调欢快得意，心情舒畅，精神愉快。\",\n    \"tx_emulate_01_191_0005_000043\": \"语调由低变激昂，先是很无奈，后来发出了急躁的抱怨，心里非常不满\",\n    \"tx_emulate_01_192_0003_000046\": \"声音尖锐，语调高昂，非常强烈地表达了心中的不爽\",\n    \"tx_emulate_01_196_0001_000024\": \"语气非常的虚弱，像是刚刚哭过，很伤心难过\",\n    \"tx_emulate_01_196_0003_000051\": \"语气中充满了无奈，感觉实在是不知道怎么办\",\n    \"tx_emulate_01_196_0004_000027\": \"语气中充满了震惊，表示什么不愿意相信的感觉。\",\n    \"tx_emulate_01_199_0001_000022\": \"情绪有些激动，说话的语气也很不好，语速很快。\",\n    \"tx_emulate_01_200_0002_000001\": \"语调冷淡急促，内心充满不满与懊恼，带有些许的嘲讽\",\n    \"tx_emulate_01_202_0001_000005\": \"语调轻柔急促，内心充满好奇与焦躁\",\n    \"tx_emulate_01_202_0001_000036\": \"语调高亢急促，铿锵有力，内心充满愤怒和嘲讽，带有些许的惊讶\",\n    \"tx_emulate_01_203_0001_000002\": \"语气不爽，言语里满是不快，非常的生气和恼怒\",\n    \"tx_emulate_01_203_0008_000028\": \"语调低沉急促，抑扬顿挫，内心充满鄙视和看不惯，带有嘲讽和傲慢之意\",\n    \"tx_emulate_01_205_0002_000018\": \"语调低沉有力，语气冷淡，内心充满烦躁和不悦\",\n    \"tx_emulate_01_206_0004_000007\": \"语调高亢急促，铿锵有力，内心充满焦躁与愤怒，带有些许的委屈和斥责\",\n    \"tx_emulate_01_206_0005_000031\": \"语调冷淡舒缓，情绪颓靡，内心感到十分不在意和不关心\",\n    \"tx_emulate_01_209_0001_000021\": \"语气中带着不敢相信，但是又保持着怀疑的态度\",\n    \"tx_emulate_01_210_0009_000010\": \"语速快，语气强硬，铿锵有力的语气透出内心的镇定与平静的情绪。\",\n    \"tx_emulate_01_216_0004_000039\": \"语调高扬，声音铿锵有力，表现出心中的兴奋\",\n    \"tx_emulate_01_219_0002_000027\": \"语气较重，情绪中带着一些愤怒和抱怨\",\n    \"tx_emulate_02_001_0015_000048\": \"语气激昂，表达内心不爽，不快的感受。\",\n    \"tx_emulate_02_002_0016_000058\": \"语调上扬，语速加快，言语狂妄，居功自傲\",\n    \"tx_emulate_02_002_0018_000067\": \"语速较快，语调较高，语气中带着质疑，凸显了说话者内心的不满和不悦\",\n    \"tx_emulate_02_003_0023_000078\": \"语速较缓，语气加强，表现出心中的埋怨和责怪之情\",\n    \"tx_emulate_02_004_0004_000018\": \"声音有力，语调高扬，言语充满了担当和气势\",\n    \"tx_emulate_02_005_0005_000018\": \"语调上扬，情绪激愤，流露出心中的气愤\",\n    \"tx_emulate_02_006_0002_000017\": \"语速较快，言语夸耀感叹，表现出心中敬畏\",\n    \"tx_emulate_02_006_0009_000053\": \"声音加高，语气愤愤，言语间充满了振奋\",\n    \"tx_emulate_02_006_0009_000056\": \"语气嚣张，语调上扬，情绪暴躁，表现出怪罪情感\",\n    \"tx_emulate_02_006_0019_000078\": \"情绪低落，语气不悦，言语间流露出心中的责怪之情\",\n    \"tx_emulate_02_006_0019_000090\": \"情绪低落，语气哀伤，言语间充满了渴求和希望\",\n    \"tx_emulate_02_006_0020_000097\": \"语气哀伤，情绪低迷，表现出心中的痛苦\",\n    \"tx_emulate_02_007_0006_000025\": \"语气不悦，心中充满不满和责怪\",\n    \"tx_emulate_02_007_0010_000050\": \"语气沉闷，情绪非常大，带有埋怨和责怪\",\n    \"tx_emulate_02_007_0024_000112\": \"语气加强，声音充满了不耐烦，表现出了怨恨\",\n    \"tx_emulate_02_008_0011_000058\": \"心里面满是自责，言语中充满着不愉快，非常的伤心\",\n    \"tx_emulate_02_008_0020_000108\": \"声音淡淡，语速较缓，言语间充满了诱惑\",\n    \"tx_emulate_02_039_0002_000034\": \"有些着急的感觉，情绪十分严肃认真。\",\n    \"tx_emulate_02_039_0003_000072\": \"声音高扬，语调渐重，话语中带着怒气，心情极度的不满的感觉\",\n    \"tx_emulate_02_041_0002_000076\": \"声音高亢，语速很快，声音激昂，情绪十分的激动\",\n    \"tx_emulate_02_042_0001_000128\": \"声音微扬，语速缓慢，情绪中带着一些担心，十分不安的情绪\",\n    \"tx_emulate_02_042_0002_000072\": \"声音低婉，语调微缓，因事情不如意而情绪低落，精神不振\",\n    \"tx_emulate_02_042_0002_000101\": \"语气激烈，情绪非常激动，有愤怒的情绪。\",\n    \"tx_emulate_02_042_0003_000154\": \"声音高扬，语调和缓，语气中带着轻松，心情十分舒畅的感觉，很有信心\",\n    \"tx_emulate_02_042_0004_000065\": \"声音微挑，语调低缓，话语中带着焦急，心情极度焦躁，非常忧心的感觉\",\n    \"tx_emulate_02_043_0003_000020\": \"声音高挑，语调渐高，语气中带着狂傲，清高的感觉\",\n    \"tx_emulate_02_044_0001_000032\": \"激动振奋，带着期待，开心的语气\",\n    \"tx_emulate_02_044_0010_000061\": \"心情激动，情绪冲动， 笑逐言开，非常感谢\",\n    \"tx_emulate_02_045_0001_000001\": \"语调下降，语气很坚定温柔，透露着一种真诚的感觉\",\n    \"tx_emulate_02_045_0002_000003\": \"心情急切，语速很快，感觉焦躁为难\",\n    \"tx_emulate_02_045_0015_000057\": \"音调很高，声音起伏比较大，声音中透露着一种内心的愤怒\",\n    \"tx_emulate_02_046_0004_000012\": \"说话语速很快，声音高昂，透露着内心的激动兴奋\",\n    \"tx_emulate_02_046_0022_000084\": \"在语气中可以感受到一种责备的心情，还有一点埋怨和嗔怪\",\n    \"tx_emulate_02_051_0001_000002\": \"音调很高，语速很快，内心有点不满的情绪。\",\n    \"tx_emulate_02_052_0011_000081\": \"语调上扬，情绪激愤，语气愤愤，凸显出心中的不甘和怨恨\",\n    \"tx_emulate_02_052_0016_000106\": \"情绪激愤，语调上扬，表现出心中的不理解和责怪之情\",\n    \"tx_emulate_02_055_0004_000004\": \"有些指责的语气，特别的愤怒，怒不可遏，而且十分的失望。\",\n    \"tx_emulate_02_055_0015_000044\": \"升起的语调中满满的期盼\",\n    \"tx_emulate_02_055_0033_000122\": \"音调升高，心事重重的情感，带有不高兴的情绪。\",\n    \"tx_emulate_02_056_0005_000027\": \"前高后低的语调，中间语气逐渐变弱，有些不屑的语气\",\n    \"tx_emulate_02_057_0010_000047\": \"语速很快，声音激昂，情绪高亢激烈且急切。\",\n    \"tx_emulate_02_057_0034_000160\": \"声音很重，语气十分愤慨，情绪激动而带有怒气\",\n    \"tx_emulate_02_222_0001_000017\": \"说话尾音上扬，语气里透露出了浓浓的不悦和不解。\",\n    \"tx_emulate_02_227_0002_000019\": \"声音重，语带愤怒，有点儿愤然不平的样子。\",\n    \"tx_emulate_02_229_0001_000044\": \"语调高扬，可谓针锋相对，其内心的愤慨不满和傲然无畏之情显露无遗。\",\n    \"tx_emulate_02_231_0008_000034\": \"语调高扬，反对的语气，突出内心的不满和愤怒\",\n    \"tx_emulate_02_233_0001_000034\": \"语气淡淡，情绪不高，心中充满了鄙夷看不起\",\n    \"tx_emulate_02_238_0002_000034\": \"声音高扬，气势汹汹，语气中带有抱怨，非常不满。\",\n    \"tx_emulate_02_239_0002_000056\": \"语气温柔耐心，透露着一种劝说的感觉\",\n    \"tx_emulate_02_242_0002_000069\": \"声音逐渐拔高，语气中十分不满，情绪激动的感觉\",\n    \"tx_emulate_02_242_0002_000072\": \"声音逐渐高昂，话语中感动情绪非常激动很生气的感觉\",\n    \"tx_emulate_02_245_0001_000034\": \"声音高亢尖利，语气里带着不悦，情绪激动，非常恼怒的情绪\",\n    \"tx_emulate_02_245_0002_000019\": \"声音高昂，语速超快，话语中带着咄咄逼人的质问情感，内心特别的气愤。\",\n    \"tx_emulate_02_245_0002_000035\": \"声音高挑，话语中带着失望，很烦躁，有点生气的情绪\",\n    \"tx_emulate_02_254_0005_000056\": \"语调冷淡急促，内心充满鄙视，带有些许疑惑\",\n    \"tx_emulate_02_254_0005_000110\": \"开始时语调波折起伏，带有强烈的无奈，后来加重音调，不爽的情绪流露出来\",\n    \"tx_emulate_02_255_0001_000027\": \"语调低沉急促到高亢，内心强烈的不满和反对\",\n    \"tx_emulate_02_255_0003_000001\": \"语调欢快活泼，抑扬顿挫，内心充满惊讶和好奇\",\n    \"tx_emulate_02_257_0001_000007\": \"语调高亢有力，内心充满自信和坚定，带有些许不耐烦\",\n    \"tx_emulate_02_257_0001_000008\": \"声音中透露着一种不开心的感觉，语气中透露着不耐烦\",\n    \"tx_emulate_02_257_0002_000038\": \"语气高亢，带着责骂的声音，怒气和怒火十分明显。\",\n    \"tx_emulate_02_258_0002_000011\": \"语调急促且高扬，饱含惊讶之情。\",\n    \"tx_emulate_02_259_0003_000006\": \"语调高昂且急促，自信且含不屑的情绪。\",\n    \"tx_emulate_02_260_0001_000024\": \"说话快，语调低，抱怨重。\",\n    \"tx_emulate_02_260_0001_000039\": \"语气中透露着轻视、不屑，心里很看不起\",\n    \"tx_emulate_02_260_0002_000105\": \"情绪低落，声音拉长，语气中含有一丝无奈、难过\",\n    \"tx_emulate_02_261_0005_000089\": \"语气充满不耐烦，嫌弃，很讨厌的样子。\",\n    \"tx_emulate_02_261_0005_000107\": \"语气中充满恼怒，非常的不满，极力指责。\",\n    \"tx_emulate_02_263_0002_000014\": \"推拒的语气，语气欢乐，突出心情的舒畅开心\",\n    \"tx_emulate_02_265_0001_000066\": \"语调高扬，情绪激愤，内心很是气愤\",\n    \"tx_emulate_02_265_0002_000026\": \"语调较高，语速很快地指责，质问的语气中流露出十足的怨气\",\n    \"tx_emulate_02_265_0002_000087\": \"语气生硬，带有不开心，不愉快的情绪。\",\n    \"tx_emulate_02_265_0006_000056\": \"语气中带有鄙视，非常的痛恨，带有愤怒。\",\n    \"tx_xiao_0100101000076\": \"有强烈的自嘲感，对自己的行为等十分不屑却又感到悲伤与无奈\",\n    \"tx_xiao_0100101000302\": \"低沉的语调透着无限思念的情绪。\",\n    \"tx_xiao_0100101000330\": \"平缓的语调透出无尽的悲伤，难过与痛苦，无以言表。\",\n    \"tx_xiao_0100101000408\": \"心情极度悲伤，悲痛欲绝，连呼吸都痛，撕心裂肺。\",\n    \"tx_xiao_0100101000439\": \"声音较小，语速较慢。充满了难过无奈的语气，喃喃自语的感觉\",\n    \"tx_xiao_0100103000017\": \"心情满足，语气中充满开心的情感，十分愉悦\",\n    \"tx_xiao_0100103000032\": \"语气开心，有点儿激动，十分开心和快乐\",\n    \"tx_xiao_0100103000066\": \"带有一种愉快和高兴的心情，还有一种满足\",\n    \"tx_xiao_0100103000069\": \"声音亲切，语调平稳，流露出喜爱和宠溺，心情好\",\n    \"tx_xiao_0100103000115\": \"语气中带有一点愉快，十分开心\",\n    \"tx_xiao_0100103000159\": \"声音欢喜，语气中带有开心\",\n    \"tx_xiao_0100103000171\": \"话语带有一种欣喜的心情，可以看出当时的兴奋喜悦心情\",\n    \"tx_xiao_0100103000202\": \"声音带有一种快乐和幸福\",\n    \"tx_xiao_0100103000268\": \"语气中充满激动的心情，夹杂着一点惊喜和喜悦\",\n    \"tx_xiao_0100103000272\": \"声音欢喜，语气中有喜悦和愉快\",\n    \"tx_xiao_0100103000306\": \"语调急促且高扬，饱含喜气洋洋之情。\",\n    \"tx_xiao_0100103000326\": \"十分开心的样子，语调上扬，说话间透露出满满的兴奋\",\n    \"tx_xiao_0100103000327\": \"语调上扬，态度诚恳，表达出真诚、朴实的祝福\",\n    \"tx_xiao_0100103000336\": \"因一件事心情大好，语调上扬，仿佛能看到脸上洋溢着幸福的笑容\",\n    \"tx_xiao_0100103000344\": \"语调急促且高扬，饱含欣喜得意之情。\",\n    \"tx_xiao_0100103000354\": \"轻松快活的语气，说话欢快，体现了乐观的心态\",\n    \"tx_xiao_0100103000364\": \"轻松愉快的语气表达了内心的激动和期盼\",\n    \"tx_xiao_0100103000368\": \"表达了激动开心的心情，让人听了都觉得心情舒畅\",\n    \"tx_xiao_0100103000420\": \"语调上扬，一字一句的透露出吃惊与欢快的心情\",\n    \"tx_xiao_0100103000425\": \"语气轻快，语速稍快，表现出期待已久的喜悦心情\",\n    \"tx_xiao_0100103000429\": \"声音平和，语速适中，语调高，表示很开心\",\n    \"tx_xiao_0100103000459\": \"声音激昂，郑重肯定的表达开心的情感\",\n    \"tx_xiao_0100103000480\": \"语气欢快，情绪表现出喜悦和祝福。\",\n    \"tx_xiao_0100104000019\": \"很讽刺、鄙夷的语气，声音里满是指责与不快，语调提升\",\n    \"tx_xiao_0100104000064\": \"语调高昂且急促，表达生气不满之情。\",\n    \"tx_xiao_0100104000111\": \"音调逐渐升高，满腔怒火无处发泄，情绪中透露满满的失望和愤怒\",\n    \"tx_xiao_0100104000141\": \"声音字正腔圆，语速快音调高，难以遏制心中的怒火\",\n    \"tx_xiao_0100104000143\": \"声音撕心裂肺地吼，音调高语速快，难以遏制心中的怒火，满满的愤怒\",\n    \"tx_xiao_0100104000190\": \"非常明显的质问表现出情绪的气愤激昂。\",\n    \"tx_xiao_0100104000205\": \"语调上扬，声音略带嘶哑，表达愤怒和质问的情绪\",\n    \"tx_xiao_0100104000295\": \"语气坚定，语调很高，透露着生气的情绪\",\n    \"tx_xiao_0100104000354\": \"语气肯定不容置疑，略带有生气\",\n    \"tx_xiao_0100104000428\": \"语气中充满不耐烦的意味，内心满是愤怒和不满\",\n    \"tx_xiao_0100105000112\": \"声音低沉，语速稍微有点慢，音调沉稳，表示难过\",\n    \"tx_xiao_0100105000158\": \"语速快，声音沉稳，语气发怒的迹象，表达人生气\",\n    \"tx_xiao_0100105000254\": \"语调上扬，得意的情绪里还带一点怒气。\",\n    \"tx_xiao_0100105000277\": \"语气很是冷酷，还带着点威胁的感觉，情绪显得比较冷漠。\",\n    \"tx_xiao_0100105000307\": \"语气中透露出自以为是，得意的情感。\",\n    \"tx_xiao_0100105000327\": \"大声的责骂，声音大，语速快，给人一种怒火中烧的感觉\",\n    \"tx_xiao_0100105000369\": \"声音调侃，语气中透露出兴奋与高兴。\",\n    \"tx_xiao_0100105000468\": \"语调逐渐变高，语气从质问逐渐变得有些激动\",\n    \"tx_xiao_0100106000020\": \"声调渐高，处于一种疑问但稍带相信的状态。\",\n    \"tx_xiao_0100106000061\": \"语气轻松，语速较快，内心欢快舒畅。\",\n    \"tx_xiao_0100106000077\": \"语气戏谑轻松，内心开心且欢快。\",\n    \"tx_xiao_0100106000099\": \"语气笃定，体现出内心充满诚意。\",\n    \"tx_xiao_0100106000103\": \"语气上扬，语速适中，声音缓慢，充满疑问\",\n    \"tx_xiao_0100106000111\": \"语气上扬，语速适中，声音缓慢，感觉说话人十分迷惑不解\",\n    \"tx_xiao_0100106000116\": \"实在不能理解为什么会这样 十分困惑\",\n    \"tx_xiao_0100106000182\": \"语气激扬，语速适中，声音缓慢，充满疑惑和诧异\",\n    \"tx_xiao_0100106000278\": \"语气轻快，情绪里包含着好奇和疑惑。\",\n    \"tx_xiao_0100106000282\": \"语气激扬，语速适中，声音微弱，充满疑惑和 诧异\",\n    \"tx_xiao_0100106000316\": \"声音给人一种嗔怪的感觉，同时充满了好奇\",\n    \"tx_xiao_0100106000317\": \"询问，声音给人一种充满好奇和不解的感觉\",\n    \"tx_xiao_0100106000332\": \"声音轻柔，语气里透露出猜疑。\",\n    \"tx_xiao_0100107000103\": \"声音里带有抽泣，情绪里流露出伤心。\",\n    \"tx_xiao_0100107000310\": \"语速很慢、哽咽，很是痛苦\",\n    \"tx_xiao_0100107000341\": \"语气较为平缓，担忧中带着难过\",\n    \"tx_xiao_0100107000369\": \"语气肯定没有怀疑，十分信赖\",\n    \"tx_xiao_0100107000421\": \"神情低落，带着哀伤痛苦，语音低沉\",\n    \"tx_xiao_0100107000431\": \"态度痛苦悲伤，郁闷叹息，声音低沉\",\n    \"tx_xiao_0100107000449\": \"语气较为缓和，声音略有凄凉之感，情绪中满是无法纾解的冤枉。\",\n    \"tx_xiao_0200101000712\": \"语气失落，声音里透露出自责与懊悔。\",\n    \"tx_xiao_0200101000731\": \"声音里透露出自责与懊悔。\",\n    \"tx_xiao_0200101000952\": \"语调平稳，语气中夹杂着一丝忧伤\",\n    \"tx_xiao_0200103000008\": \"语调渐高，无比惊讶与欣喜。\",\n    \"tx_xiao_0200103000048\": \"语气激动，感到十分满足和欣喜。\",\n    \"tx_xiao_0200103000053\": \"语气十分轻松愉快，有安慰之意，情绪开阔疏朗\",\n    \"tx_xiao_0200103000080\": \"语调高，语气欣喜欢快，情绪十分快活\",\n    \"tx_xiao_0200103000095\": \"语调高，语气激动，情绪积极向往，十分期盼\",\n    \"tx_xiao_0200103000102\": \"又惊又喜，语气中充满喜悦和惊讶\",\n    \"tx_xiao_0200103000124\": \"因为事情最后得到好的结果而高兴，语气中带有欢欣庆幸之情\",\n    \"tx_xiao_0200103000128\": \"语调高且语速快，表达内心激动开心之情。\",\n    \"tx_xiao_0200103000135\": \"语调高扬，语速变快，流露兴高采烈之情。\",\n    \"tx_xiao_0200103000148\": \"语调急促且高扬，饱含欣喜得意之情。\",\n    \"tx_xiao_0200103000153\": \"语速较快，声音较为高涨充满了开心愉快的情绪\",\n    \"tx_xiao_0200103000162\": \"语气轻快，情绪流露出喜悦和开心。\",\n    \"tx_xiao_0200103000183\": \"语气里透着内心的赞叹，感到舒适与满足。\",\n    \"tx_xiao_0200103000184\": \"语气轻快，语调上扬，情绪表现出兴奋和愉悦。\",\n    \"tx_xiao_0200103000187\": \"语气里带着感叹，情绪表露出欣慰和开心。\",\n    \"tx_xiao_0200103000192\": \"激动的语调透出极度的开心，欢喜雀跃。\",\n    \"tx_xiao_0200103000206\": \"声音激动，语气庆幸中感到非常兴奋。\",\n    \"tx_xiao_0200103000221\": \"声音雀跃，语气轻快，非常开心欢喜。\",\n    \"tx_xiao_0200103000236\": \"心情舒畅，语气高兴中透露出一丝感怀。\",\n    \"tx_xiao_0200103000258\": \"对某件事充满了自豪感，情绪很放松。\",\n    \"tx_xiao_0200103000259\": \"对某件事很自豪，充满了得意感。\",\n    \"tx_xiao_0200103000289\": \"语调上扬，情绪欢快，很开心做某事。\",\n    \"tx_xiao_0200103000520\": \"语气十分轻快，言语中渗透出满足的喜悦，十分高兴，语气激动，言辞风趣自然。\",\n    \"tx_xiao_0200103000535\": \"感到一种豪放不羁的发自肺腑的快活与满足\",\n    \"tx_xiao_0200103000554\": \"感觉是自尊心得到了极大的满足，说话语气带有兴奋和得意之感\",\n    \"tx_xiao_0200103000604\": \"语速较快，声音较为高涨充满了开心愉快的情绪，语气积极\",\n    \"tx_xiao_0200103000640\": \"语气张扬，语调上扬，体现内心得意满足的情绪。\",\n    \"tx_xiao_0200103000648\": \"声音欢快，有一些高兴\",\n    \"tx_xiao_0200104000527\": \"语气激动，充满着怨恨和不满。\",\n    \"tx_xiao_0200104000609\": \"语调高昂，语速极快，愤怒到了极点。\",\n    \"tx_xiao_0200104000718\": \"声音急切，语气恼怒中透露出执拗。\",\n    \"tx_xiao_0200104000737\": \"声音凶狠，语气中透露出恼火与不满。\",\n    \"tx_xiao_0200104000848\": \"生气极了，反问中透露出愤怒\",\n    \"tx_xiao_0200104000887\": \"语气中是委屈和责备兼而有之，嗔怪和恼怒埋怨交织\",\n    \"tx_xiao_0200105000529\": \"语调上扬，情绪较为激烈，又充斥着不满和怨怼。\",\n    \"tx_xiao_0200105000606\": \"语调高昂且急促，表达生气不满之情。\",\n    \"tx_xiao_0200105000643\": \"语调高昂，语速极快，流露生气不满之情。\",\n    \"tx_xiao_0200105000715\": \"声音坚毅，语气愤怒中透露出不满。\",\n    \"tx_xiao_0200105000746\": \"声音凶狠，语气中透露出及其愤怒的情感。\",\n    \"tx_xiao_0200106000514\": \"表明内心十分平和，带有些许的轻松随意和宽慰之意\",\n    \"tx_xiao_0200106000526\": \"语气急促，感到无比好奇且十分担忧。\",\n    \"tx_xiao_0200106000535\": \"语气轻松，感到十分好奇且期待。\",\n    \"tx_xiao_0200106000563\": \"语气疑惑但十分理直气壮，情绪厌烦拒绝\",\n    \"tx_xiao_0200106000574\": \"语气轻佻略有些蔑视，态度高傲，情绪不屑\",\n    \"tx_xiao_0200106000584\": \"语调略高，语气肯定明确，情绪略有些惊讶与恍惚\",\n    \"tx_xiao_0200106000644\": \"平缓却逐渐上升语调，表达自己的疑惑之情。\",\n    \"tx_xiao_0200106000737\": \"声音低沉，内心觉得不理解\",\n    \"tx_xiao_0200106000881\": \"语气较为调皮，带有甜蜜和喜悦之意的询问\",\n    \"tx_xiao_0200107000662\": \"语调由低落转为坦然，语气悲伤无奈伴有清楚明了，情绪痛苦但逐渐释怀\",\n    \"tx_xiao_0200107000704\": \"声音小而弱，隐隐带有抽泣声，表现内心的难过\",\n    \"tx_xiao_0200107000936\": \"表明内心充满委屈和不满，流露出极度的悲伤\",\n    \"tx_xiao_0200107000972\": \"带有哭意，语气里饱含着期待恳求和渴望，还有浓浓的卑微之感\",\n    \"tx_xiao_0200107000978\": \"哭腔明显，感觉十分委屈可怜，带有难过悲伤之情\",\n    \"tx_xiao_0200107001042\": \"语气中充满了悲伤痛苦，声音较小传递了悲痛欲绝的情绪，有哭泣声\"\n}"
  },
  {
    "path": "dataset/text.txt",
    "content": "tx_emotion_00201000015 一年又一年,一日复一日,一聚一离别,一生一场梦。 \ntx_emotion_00201000107 人生就像剥洋葱,总有一片会让你流泪。 \ntx_emotion_00201000148 心痛?要怪就怪自己,有本事爱上别人,没本事让别人爱上自己。 \ntx_emotion_00201000209 抱歉让你认识一个这么差劲的我。 \ntx_emotion_00201000220 那种感觉,好像自己的心被人千刀万剐那样般的难受。 \ntx_emotion_00201000274 他如果真的爱你,你就不会这么难过了。 \ntx_emotion_00201000323 孩子流产啦,海鸥痛不欲生。 \ntx_emotion_00201000340 娃娃扑过去抱住她,立刻失声痛哭。 \ntx_emotion_00201000467 红了鼻头的小丑,眼泪止不住的流,流到嘴边咽下悲伤。 \ntx_emotion_00202000047 这,好像不是由方夫人来定的。 \ntx_emotion_00202000118 你脑子坏了,人妖,还不是你先踩我。 \ntx_emotion_00202000136 你不喜欢来就回客栈呗!你!我这是为公子担心! \ntx_emotion_00202000301 在我改变主意之前,在我眼前消失。 \ntx_emotion_00202000395 受到处罚你可不能怨别人,知道吗,臭小子! \ntx_emotion_00202000425 你说谁不要脸呐?你才不要脸呐! \ntx_emotion_00202000429 哈?谁要把它送给我,长大了我就嫁给他! \ntx_emotion_00202000436 那是因为以前他需要你的支持,所以对你特别好。我哥他坏透了! \ntx_emotion_00203000019 终于去看运动会啦,舒畅啊! \ntx_emotion_00203000031 司马鹰扬笑了,笑得有点儿得意。 \ntx_emotion_00203000034 终于得以放风,二十分钟就到了效野,畅快呀! \ntx_emotion_00203000050 看,国庆到了,妹妹也开心! \ntx_emotion_00203000065 希研祝你们玩儿得开心哦。 \ntx_emotion_00203000066 去豆捞坊每次都是愉快的餐饮体验啊! \ntx_emotion_00203000069 我家宝宝蹦蹦跳跳像个小兔子一样,真是可爱嘤。 \ntx_emotion_00203000072 撇下儿子,享受快乐的二人自驾天堂寨游。 \ntx_emotion_00203000086 今天很开心,卷卷要很幸福,很快乐! \ntx_emotion_00203000095 我的伙伴,童年的快乐,回想起来依然温暖。 \ntx_emotion_00203000111 人民脸上映出欢快的神情。 \ntx_emotion_00203000128 京东六幺八买东西真的好便宜呀,促销结束立刻恢复原价,赚到啦! \ntx_emotion_00203000273 等到七月底项目结束,我就可以申请休年假了,好期待哦! \ntx_emotion_00203000352 赵小珍廖小岑十四岁快乐! \ntx_emotion_00203000357 看着逐渐缩小的黑雾太子高兴得又蹦又跳。 \ntx_emotion_00203000364 突然发现,俺闺女出牙了,开心,高兴,兴奋! \ntx_emotion_00203000372 今天好饱,也挺开心的,睡觉喽,乌拉拉乌拉拉,晚安。 \ntx_emotion_00203000379 抢到了五月天的演唱会门票,还是头排,啊,好幸福! \ntx_emotion_00203000399 这几日蕊蕊同宝贝玩儿得劲开心,多谢宝贝! \ntx_emotion_00203000412 落班之际表弟们到访,开心到晕! \ntx_emotion_00203000425 儿童节快乐,本引大神我披荆斩棘终于回来啦! \ntx_emotion_00203000448 莽莽你又长大了一岁,开心! \ntx_emotion_00203000470 兰文良,陈晓丽新婚快乐! \ntx_emotion_00203000485 聚会、豪饮、畅谈、开心、回味无穷。 \ntx_emotion_00203000486 我终于买到了我梦寐以求的限量款的驴家的包,兴奋到失眠! \ntx_emotion_00204000391 昨天晚上的气还没消呢,你少招惹我。 \ntx_emotion_00204000426 米琦,你出来,我有话要跟你说。 \ntx_emotion_00204000458 严敏寒,你想和阮伟在一起,我就偏不让你如意。 \ntx_emotion_00204000494 我就是要让你尝尝我的痛苦!其实我还是有点儿感激你的, \ntx_emotion_00205000062 你们麒麟帮简直找死! \ntx_emotion_00205000069 喂!你想干什么呀!发什么酒疯!喂!不要在发癫啦! \ntx_emotion_00205000105 那我,究竟哪点不如楠傲! \ntx_emotion_00205000110 哪样啊?是她自己神经不好?跟我抢球场,然后跟我拼篮球, \ntx_emotion_00205000119 去他的!那他刚刚叫你留下的东西…不会就是蓝宝石吧? \ntx_emotion_00205000127 我就知道绝不能领他这份“情,他那点子心眼, \ntx_emotion_00205000198 你怎么这么傻!冷冽,你放了她我来当你的仆人! \ntx_emotion_00205000265 没门儿!我以后要靠自己买四轮车。 \ntx_emotion_00206000061 要凌哥哥怎么个“疼法儿?是“亲疼你,还是“抱疼你? \ntx_emotion_00206000149 你在这鬼鬼祟祟的,还想干吗? \ntx_emotion_00206000167 妈!怎么了?小夜? \ntx_emotion_00206000186 妈,你在看什么啊?我后面有什么东西吗? \ntx_emotion_00206000235 别呀,就不多陪我聊会儿吗? \ntx_emotion_00206000240 这都不是重点,重点是他们居然在一起看电影,冰块脸哥哥怎么办? \ntx_emotion_00206000315 干吗个个都用这样的眼神望着我啊,很奇怪吗? \ntx_emotion_00206000337 小若,喜欢哥哥,哥哥喜欢小若吗? \ntx_emotion_00206000380 关键是你以后的工作怎么找,找到怎么做好。其实我建议你, \ntx_emotion_00206000458 喜不喜欢我家的小玄? \ntx_emotion_00206000480 刚才洁叫所有人下去为她庆生呐,你怎么还不下去? \ntx_emotion_00207000018 原来父皇什么都知道了,我真笨。 \ntx_emotion_00207000080 真的,镜夜、镜夜他真的,真的,真的。 \ntx_emotion_00207000113 由于他有心脏病的原因也就去世了,只剩下我妈和我, \ntx_emotion_00207000162 可是,我们就在同一天之内,少了本校的黄金校草和白金校花。 \ntx_emotion_00207000211 使得她内心产生了寂寞感以及对我的厌恶,昨天晚上。 \ntx_emotion_00207000252 他说他很爱她,他说会守护她。 \ntx_emotion_00208000087 说实话!伯父!我不缺钱!不缺钱?呵!世界上有谁不缺钱! \ntx_emotion_00208000257 我根本不认识易青平,爸爸, \ntx_emotion_00208000303 县委招待所当经理,不是一般女人干得了的, \ntx_emotion_00208000327 那些标榜自己是朋克的人,也只不过是欺世盗名的小丑罢了! \ntx_emotion_00208000390 倩倩,你刚刚不应该这样的! \ntx_emotion_00209000005 你知道我们去约会! \ntx_emotion_00209000026 还是你的漫画全啊。 \ntx_emotion_00209000060 金族,你怎么和这个人面兽心的家伙走在一起,离他远点儿! \ntx_emotion_00209000215 彼此彼此吧,一向冷漠又孤傲的殿下不也在关心一个陌生人吗? \ntx_emotion_00209000269 哈?在我家里睡?真的吗阿木! \ntx_emotion_00209000346 居然会为了一个陌生人干出那些傻事。 \ntx_emotion_00210000049 你…算啦,麻烦你还是去看看有什么可以避雨的地方。 \ntx_emotion_00210000124 别哭别哭,告诉发生什么事啦? \ntx_emotion_00210000249 而是她自己的心意。依着她的性子, \ntx_emotion_00210000272 你,我只是担心不知道该用什么脸回去见我的未婚夫嘛! \ntx_emotion_00210000419 那快去吃饭吧,别饿坏了肚子。 \ntx_emotion_00210000453 唉,别管这些了,你们的比赛还没结束吧!快点儿带我去看。 \ntx_emotion_00210000476 那我们送你去美容院吧,记得吃饭知道吗? \ntx_emotion_00301000019 子琼来了,双眼通红,抱住夏咏大哭。 \ntx_emotion_00301000036 我趴在沙发上,额头抵着玛雅的大腿,相当伤感。 \ntx_emotion_00301000052 当他死于绞刑架上的时候,比约特再也控制不住自己的悲伤。 \ntx_emotion_00301000185 明知会失去自由,为了得到对方,为了令对方快乐,也甘愿做。 \ntx_emotion_00301000203 你走啦,我留下的是一辈子的伤心,这个时候,我的心一直在痛! \ntx_emotion_00301000457 伊斯玛仪号啕大哭,母亲伤心落泪,到处奔波,寻找饮食。 \ntx_emotion_00301000461 朋友养的小橘猫突然生病死了,真替他伤心啊。 \ntx_emotion_00301000494 很多事儿都被慢慢拆下来拼凑在心里,然后物是人非。 \ntx_emotion_00302000016 而且我当时也不想再见到你! \ntx_emotion_00302000027 对,就你是知识分子,你好好去你的麻省理工待着,别来烦我。 \ntx_emotion_00302000054 这里我真是一分钟也呆不下去了。 \ntx_emotion_00302000090 是为你好,是在关心你!你也明知道,学校一定会追究这件事儿的, \ntx_emotion_00302000107 没有谁是非谁不可的,以妍,自己的幸福才是最重要的! \ntx_emotion_00302000216 这位大叔,你好像误会什么了吧!月老大拉着我不是怕我受伤。 \ntx_emotion_00302000224 说话客气点儿,你以为老子不打女人? \ntx_emotion_00302000304 说话老是不好儿好儿地讲,还调戏良家妇女,更可恶的是。 \ntx_emotion_00302000356 我只有一个愿望,就是杀了你,为我父母报仇! \ntx_emotion_00302000470 只知道玩儿;有的非常花心,不知道谈了多少个啦;有的又太老实啦。 \ntx_emotion_00303000023 首先,致此伟大的世纪神棍节,祝光棍儿们光棍儿节快乐! \ntx_emotion_00303000046 带着一窝快乐的小猪准备出发喽。 \ntx_emotion_00303000052 那个傻娃儿破蛋快乐哈! \ntx_emotion_00303000056 离开赛场,迎面而来的是同学们的笑容和欢呼,我心里也乐开了花儿。 \ntx_emotion_00303000080 花满楼浅饮了口茶,脸上露出云淡风轻的笑容。 \ntx_emotion_00303000082 做一只快乐、知足的鸟儿。 \ntx_emotion_00303000117 游戏开心就好啦,男或女,让他们揣测去,哈哈。 \ntx_emotion_00303000119 最欢乐的一次喜酒,欢乐无极限呀,噢耶! \ntx_emotion_00303000127 祝黄老师跟傲老师新婚快乐! \ntx_emotion_00303000129 小小的人啊,风水起呀,天天就爱穷开心呐啊。 \ntx_emotion_00303000130 今天是俺和俺老婆的生日,祝老婆生日快乐! \ntx_emotion_00303000148 约老同学去抚宁的板厂峪,很开心。 \ntx_emotion_00303000158 黄磊调戏地问道,教室后面几个混混哈哈大笑。 \ntx_emotion_00303000167 祝自己生日快乐,心想事成哦,今天好运! \ntx_emotion_00303000173 花儿在灿烂地微笑,鸟儿在欢乐地欢叫,我的心情,像吃了蜜一样甜。 \ntx_emotion_00303000182 想起和你在一起的时候,感觉是无比的幸福和快乐。 \ntx_emotion_00303000198 恭喜彭威巍先生与管红霞小姐新婚快乐。 \ntx_emotion_00303000211 亲爱的枇杷,十九个月快乐! \ntx_emotion_00303000236 丰盛晚餐,大家双节快乐! \ntx_emotion_00303000260 老婆,祝你福气又安康,幸福快乐! \ntx_emotion_00303000298 看看沿途的风景,心里感觉好轻松、愉快又惬意。 \ntx_emotion_00303000310 我们兴奋地跑下去,感受风雪。 \ntx_emotion_00303000354 海绵宝宝之所以快乐不是因为他二,而是因为有人跟他一起二。 \ntx_emotion_00303000360 今晚的冒演席圆满结束,期待明天更开心的一幕! \ntx_emotion_00303000363 今天状态好了不少,早上去镇北堡影视城,她玩儿的还算开心。 \ntx_emotion_00303000389 吃点儿喝点儿,聊聊你不开心的事儿,让我开心开心! \ntx_emotion_00303000396 这一次的帽山之行,很累但是很开心嘛! \ntx_emotion_00303000421 长剑郎当出鞘,云暮笙哈哈大笑,举剑起舞。 \ntx_emotion_00303000433 今天看到一个超级好笑的笑话,哈哈哈笑死我了,哈哈哈。 \ntx_emotion_00303000457 宝贝,国庆节快乐,嗨爆头呀! \ntx_emotion_00303000462 我在那儿捐了钱,敲了大钟,真开心! \ntx_emotion_00303000465 真心祝愿飞歌与嫂子新婚快乐,百年好合,早生贵子! \ntx_emotion_00303000474 快乐的午后,久违的二一九! \ntx_emotion_00304000049 死女人,敬酒不吃吃罚酒,兄弟们过来,帮我按住她。 \ntx_emotion_00304000079 混蛋!上次的账还没跟你算完呢!竟然敢说我运宝儿长得丑? \ntx_emotion_00304000169 你若是刚对她做出什么事儿的话!你一定会后悔的! \ntx_emotion_00304000235 你瞎说什么,怎么这么没有礼貌。 \ntx_emotion_00304000459 是你害得我家破人亡!我清清楚楚记得你那张脸,我隐姓埋名, \ntx_emotion_00305000005 虽然我知道你听不懂我说什么,但是我还是要告诉你, \ntx_emotion_00305000009 一切都是狗屁!别人可以受他蒙蔽,我可不会。 \ntx_emotion_00305000014 你刚才说的才是实话,你说你有自己的思想, \ntx_emotion_00305000119 去他妈!他刚刚叫你留下的东西…不会就是蓝宝石吧? \ntx_emotion_00305000164 你他妈的!老子不认识单词你不知道啊? \ntx_emotion_00305000183 你,去去去去,别打扰我复习。 \ntx_emotion_00305000280 没有谁是非谁不可的,以妍,自己的幸福才是最重要的责任! \ntx_emotion_00305000283 你变了,我记得你以前眼里是最容不下沙子的。 \ntx_emotion_00305000308 哼!你仇家也不见得少吧。 \ntx_emotion_00305000383 到时候你可别来找我!我可告诉你哎,逸和修对玄儿可都有意思! \ntx_emotion_00306000098 那后来怎么没有去呢? \ntx_emotion_00306000101 我的工作总经理会另有安排的,是吗? \ntx_emotion_00306000202 风月,她说的都是真的吗? \ntx_emotion_00306000261 晨稀是谁,男的还是女的,漂亮吗? \ntx_emotion_00306000405 喂,你这是在夸她呀还是在夸你自己呀? \ntx_emotion_00306000460 有什么问题吗? \ntx_emotion_00309000124 哈,很惊讶吧!你今天真的很像一个白马王子! \ntx_emotion_00309000154 利如歌离开烈火山庄,竟然如此大张旗鼓! \ntx_emotion_00309000160 哇!原来是青梅竹马呀! \ntx_emotion_00309000167 原来那个把你迷得神魂颠倒的小女孩儿就是她呀。 \ntx_emotion_00309000172 钟皓文,你不会偏爱这种吧! \ntx_emotion_00309000183 原来你一直戴着护腕儿,就是为了掩盖上面的疤痕呀! \ntx_emotion_00309000269 哈?在我家里睡?真的吗阿木? \ntx_emotion_00309000324 幸好陈老师您及时赶到呀。 \ntx_emotion_00309000349 啊,我没事儿啊,有事儿的是你的衣服呀。 \ntx_emotion_00309000452 啊!琳,洛特菲尔!小平头! \ntx_emotion_00400000011 稚嫩的嗓音在高音区并不声嘶力竭,似乎还显得游刃有余。 \ntx_emotion_00400000026 幺三八二三二。 \ntx_emotion_00400000160 经检测,那些白色粉末儿是冰毒。 \ntx_emotion_00400000196 您自个儿算一下,怎么样合算些? \ntx_emotion_00400000259 抱歉没找到阿巴嗄山,找到其他的阿巴嗄山。 \ntx_emotion_00400000378 我发“撙省”这个词。 \ntx_emotion_00401000087 或许这本来没有错的,因为青春本来就是用来怀念的。 \ntx_emotion_00401000174 丑小鸭就这样伤心地流着眼泪往回家走了。 \ntx_emotion_00401000213 谁带我回到只有童话的日子里? \ntx_emotion_00401000239 阿香小姐一脸悲伤地俯下头,又猛摇头。 \ntx_emotion_00401000242 和寂寞对话,只是不愿意相信你已经离开。 \ntx_emotion_00401000281 感觉整个世界都抛弃了我,真绝望。 \ntx_emotion_00401000297 爱上一个人的重要标志就是:遇上任何美景都在遗憾,为何你不在身边。 \ntx_emotion_00401000327 还可以做朋友吗”是一段故事的结束。 \ntx_emotion_00401000339 即便是流泪,也是一种纪念。就算是流泪,也回不到童年。 \ntx_emotion_00401000440 葬了那红尘三千,葬了那破碎的心,葬了这段情。 \ntx_emotion_00402000196 他是你的皇嫂!我最爱的女人,这是不允许任何人侵犯的。 \ntx_emotion_00402000283 不要以为,有爷爷保驾护航就不能把你怎么样!我从来不对女生动手。 \ntx_emotion_00402000299 不会吧!我受够了这种每天都被人家欺负的日子了! \ntx_emotion_00402000480 夜冰儿,我叫你给我死去的兄弟陪葬。 \ntx_emotion_00403000052 那个啥娃儿破蛋快乐哈! \ntx_emotion_00403000060 荧屏上温馨的瞬间好浪漫玫瑰花语,祝你们新婚快乐。 \ntx_emotion_00403000077 这几天宝宝特别兴奋,好像很忙一样,这边动动那边动动。 \ntx_emotion_00403000099 萌萌跟妈妈一样怕痒,最喜欢挠的她哈哈大笑。 \ntx_emotion_00403000131 硕果累累的十月,我敞开怀抱欢迎你,迎接更大的喜悦。 \ntx_emotion_00403000143 哥儿几个吃的不是火锅、是快乐和幸福。 \ntx_emotion_00403000145 中午和同学喝点儿开心,晚上和家乡伙伴喝点儿更开心! \ntx_emotion_00403000147 和她们叽叽歪歪聊到哈哈大笑不知道自己在掩饰什么。 \ntx_emotion_00403000157 有宝宝之后买这些婴儿衣服,婴儿用品的时候各种兴奋! \ntx_emotion_00403000163 和安仔开心地过一个愉快的生日! \ntx_emotion_00403000173 花儿在灿烂地微笑,鸟儿在快乐地欢叫,我的心情,像吃了蜜一样甜。 \ntx_emotion_00403000175 又去套圈圈啦,玩儿得很开心,可大的都是和阿姨要的。 \ntx_emotion_00403000197 听朋友说是品牌店,兴致勃勃赶来一看,真棒! \ntx_emotion_00403000252 抽奖竟然中了网易云音乐的免费会员,手气真是好得不得了! \ntx_emotion_00403000255 妹妹夫唱妇随偷石榴、香泡、柿子、橘子,我接得忙,笑得开心! \ntx_emotion_00403000359 款式多,各国美食,款式应有尽有,畅快体验! \ntx_emotion_00403000393 最近格瓦拉搞活动搞的很欢快耶。 \ntx_emotion_00403000395 刚才买了瓶霸王凉茶,哇再来一瓶,极度开心。 \ntx_emotion_00403000432 点菜时服务员推荐活紫胆,我一听超开心! \ntx_emotion_00403000439 福辉辉弟兄新婚快乐! \ntx_emotion_00403000451 今天弟兄生日,开心留再多血也无所谓! \ntx_emotion_00403000482 这一吻,让刘德华兴奋得一阵眩晕。 \ntx_emotion_00403000494 从漫展出来一身汗,买了萌妹子抱枕超级开心。 \ntx_emotion_00405000239 晚上我把望远镜带过来,我倒要看看到底是谁没眼光? \ntx_emotion_00405000329 你别想骗我,一个星期前,赵睿看见你抱着一个女人回到你的房间。 \ntx_emotion_00409000007 第一次在酒吧门口遇到你的时候,我都不敢认啦。 \ntx_emotion_00409000081 沫影,你真的和凌翼寒在交往啊? \ntx_emotion_00409000119 你是世界第一黑帮老大兼第一杀手聂。 \ntx_emotion_00409000228 天呐,跟着她快五年啦,居然她就是冰凌儿小姐。 \ntx_emotion_00409000285 圆圆,你怎么看见漂亮姑娘比我们男孩子还动心?子申你小心点。 \ntx_emotion_00409000323 好兄弟,你太有才啦!全班同学被你编的故事闹得天翻地覆! \ntx_emotion_00409000325 太好了,终于不用死啦。 \ntx_emotion_00409000441 原来,静羽也会外旋发球啊。 \ntx_emotion_00409000462 映然,怎么是你呀? \ntx_emotion_00409000470 什么?雨侨,算了。我们不去了、不去啦! \ntx_emulate_00_060_0001_000030\t太正确了，训练有素。\ntx_emulate_00_102_0004_000088\t一个花心的男人，和一个急着想把自己嫁出去的女人，简直就是两个星球的，撞在一起，一定是悲剧。\ntx_emulate_00_103_0001_000017\t我终于要去约会了嗯。\ntx_emulate_00_104_0001_000113\t你就这么随便，随随便便地带了一个随随便便的女人回来啦。\ntx_emulate_00_108_0001_000008\t史先生约我来这儿干吗？\ntx_emulate_00_108_0001_000079\t呃哈，我马上走，慢慢睡啊。\ntx_emulate_00_108_0002_000070\t哈妹，今天是我人生中最重要的时刻，所以你现在，就到阳台上去站岗。\ntx_emulate_00_108_0004_000011\t跟人打架啦？\ntx_emulate_00_108_0004_000039\t你也有被关在门外的时候？\ntx_emulate_00_109_0004_000042\t真的，如果到了二十岁，还没有交得到男朋友的话，就等于进入了欧巴桑的阶段。很丢脸的。\ntx_emulate_00_109_0004_000071\t我怎么办，你们找龚喜，他只让坐巴士，不让坐计程车，要不叫两辆计程车。\ntx_emulate_00_109_0005_000085\t你们女人为什么说话都不直说呢？什么这个那个那个的，那个男人是谁？看那样子满脸邪气。\ntx_emulate_00_109_0005_000091\t我告诉你，我老婆要是被别人拐走的话，我找你算账，东西你拿。\ntx_emulate_00_110_0002_000028\t王浩，恭喜啦。\ntx_emulate_00_110_0002_000038\t到男女之间开始讲实话的时候，就代表他们马上要分手，或者已经牵手了。\ntx_emulate_00_110_0004_000059\t你也是中国人？\ntx_emulate_00_110_0004_000099\t我去上洗手间啦。\ntx_emulate_00_111_0001_000023\t你要请我去你家玩啊？就我一个人？\ntx_emulate_00_111_0001_000042\t我说如果，有人跟我求婚的话，你们相不相信？\ntx_emulate_00_112_0001_000066\t我知道，你说，你会想我，诶嘿嘿嘿，算你还有一点良心。\ntx_emulate_00_112_0002_000016\t王浩一个人跑是逃婚，两个人跑可就是私奔了，要赶紧想办法搞清楚小萍到底是什么意思啊。\ntx_emulate_00_112_0002_000070\t有大明星接待，多留几天都没问题。\ntx_emulate_00_112_0005_000089\t租什么嘛，你来到我的社区就是我的荣幸。\ntx_emulate_00_112_0006_000020\t我正在逃难嘛，你留一点钱给我再走哇。\ntx_emulate_00_113_0002_000003\t日本的空气太干燥了，影响了我的皮肤。\ntx_emulate_00_114_0001_000001\t我也是，这个统计，肯定有问题。\ntx_emulate_00_114_0002_000030\t他的这种类型，正好是女人最喜欢的。\ntx_emulate_00_114_0003_000026\t这个太简单啦，小萍是全中国最好追的女人呐。\ntx_emulate_00_115_0002_000007\t只能用一句话解释，她是个不正常的女人。\ntx_emulate_00_115_0005_000035\t快点快点快点上菜，难得看你们开火，弄点好吃的来。\ntx_emulate_00_115_0009_000024\t广告公司项目经理，他什么都不懂，过两天就被炒鱿鱼了。\ntx_emulate_00_115_0010_000012\t不可能的，我欠那么多债务。\ntx_emulate_00_117_0002_000013\t友情算什么呀，友情又不会让一个人，去奴役另外的一个人。\ntx_emulate_00_117_0005_000059\t那你，你问万玲啊，我。\ntx_emulate_00_118_0002_000020\t阿呆，大妈咪要去约会了，你好好儿地待在这儿吃蛋糕，小妈咪一会儿就回来，啊。\ntx_emulate_00_118_0002_000022\t你少来这套。\ntx_emulate_00_118_0005_000032\t那你自己为什么不登报征婚啊？你比小萍更需要男人啊。\ntx_emulate_00_119_0001_000001\t男人婆男人婆，快看，快看我有什么变化啊？\ntx_emulate_00_119_0001_000034\t唉你们不要吵了嘛，两百万是一个很大的数目，你们快来帮王浩想想办法。\ntx_emulate_00_119_0001_000049\t大家都说，呃他长得像王浩。\ntx_emulate_00_120_0002_000071\t我们在一起的距离，是不是太近了，我会害怕的。\ntx_emulate_00_121_0002_000009\t谢谢典哥，谢谢何哥。\ntx_emulate_00_122_0001_000025\t他约我去看电影。\ntx_emulate_00_123_0001_000048\t铁蛋也能吃啊？\ntx_emulate_00_123_0002_000003\t我是来找男朋友的。\ntx_emulate_00_123_0009_000012\t不要生气了，好不好？\ntx_emulate_00_125_0001_000067\t但是，这个时候有老巫婆出现啦，她跟公主说，嘿嘿嘿，没有人会来救你，我要把你变成一只汪汪小狗。\ntx_emulate_00_125_0002_000049\t第三，不可以为了报复也去找外遇，那样只会便宜了其他的臭男人，而活活地糟蹋自己。\ntx_emulate_00_125_0002_000058\t外面写一个牌子，上面写着，女人的乐园，男人的禁地。\ntx_emulate_00_125_0008_000017\t每天晚上，你可以看着家人平安地躺着，抱着妻子入眠的时候，嘴角都挂着微笑。\ntx_emulate_00_126_0001_000039\t我会不会死啊？\ntx_emulate_00_127_0001_000084\t诶，我们的许愿船都回来了诶。\ntx_emulate_00_128_0006_000033\t你不是要吃苦吗，那从现在开始吧。\ntx_emulate_00_129_0004_000056\t这次我不是骗你的哦，这个真的很贵重啊，这是最新的DVD啦，呢，还附送了好多光碟。\ntx_emulate_00_129_0004_000057\t给你看啊，有第六感生死恋，别闯阴阳界，六月六日断肠时，魂断蓝桥，还有最后的晚。\ntx_emulate_00_129_0005_000029\t你们有没有要跟我说的？\ntx_emulate_00_130_0001_000057\t诶，你们怎么都不进去呀？\ntx_emulate_00_130_0003_000017\t你看你，笨得连汤都不会喝，做错什么事情啦？这叫恶有恶报。\ntx_emulate_00_131_0005_000061\t哎呦，这河水，太冷了吧。\ntx_emulate_00_132_0004_000026\t他每天，都是那样紧密地和我贴在一起。\ntx_emulate_00_132_0005_000016\t呃，让我赔罪，让我赎罪，让我奉献一切好不好？\ntx_emulate_00_133_0005_000062\t是啊，麻雀变凤凰，她本来只是代万铃的班，谁晓得歪打正着，飞上枝头当凤凰啦。\ntx_emulate_00_135_0002_000003\t小张，周日带我去采购，好啊，没问题。\ntx_emulate_00_135_0004_000015\t阿婆你要坚持住，阿婆。\ntx_emulate_00_137_0002_000079\t今天晚上的星星好多哦，好美，不知道，会不会有流星雨呢？\ntx_emulate_00_137_0003_000022\t告诉你个好消息。\ntx_emulate_00_137_0003_000082\t请问，你有什么事？\ntx_emulate_00_137_0005_000092\t嘿，都没中都没中。\ntx_emulate_00_144_0005_000014\t让人会有起床气，心情很不好，昨天晚上呢一惊一乍的，我们都没睡好觉是不是？\ntx_emulate_00_144_0007_000056\t谢谢，谢谢，呵呵，谢谢，你看看爸爸回来没有？\ntx_emulate_00_150_0005_000005\t你怎么知道我饿了呀啊，这真好吃。\ntx_emulate_00_150_0005_000006\t我今天加班呢，又被主任看到了，他还表扬我了。\ntx_emulate_00_151_0001_000018\t谢谢你们热情款待，下次回国我做东。\ntx_emulate_00_151_0007_000028\t可是中餐贵呀！一个穷学生怎么吃得起？有一次我一个人在宿舍，真是想中餐想疯啦。\ntx_emulate_00_153_0001_000033\t这现在掉不掉链子，哪里是我说了算的呀。\ntx_emulate_00_157_0001_000031\t你喜不喜欢姑姑这儿啊？\ntx_emulate_00_158_0002_000007\t不是，明哲你什么意思啊，啊？\ntx_emulate_00_158_0002_000049\t诶呀，这日子没法儿过啦。\ntx_emulate_00_158_0003_000068\t我靠，你们要求也太高了吧。\ntx_emulate_00_159_0001_000006\t万一将来蒙总还在，众诚完了怎么办？\ntx_emulate_00_162_0002_000075\t我我我，我在这儿我还怎么住啊？\ntx_emulate_00_162_0005_000004\t你是家里的老大，明成是你的亲弟弟，你帮帮明成好不好？\ntx_emulate_00_171_0006_000036\t行了行了，我算是看透啦，你们苏家这三个男人加起来还不如一个明玉。\ntx_emulate_00_179_0005_000021\t还有礼物呢。\ntx_emulate_00_185_0002_000007\t你看看，你看看你这人缘，太好啦，太好啦。\ntx_emulate_00_186_0001_000023\t也给你们一家拜年啦，我还得给小咪发红包呢。\ntx_emulate_01_001_0018_000065\t你们都上当啦，三爷，他是共跳的水线子。\ntx_emulate_01_001_0019_000077\t这么说共军三十来人，就把他们威虎山三百人马打的剩下不到五十人，还灭了老五。\ntx_emulate_01_002_0005_000008\t这杯酒，当祭典韦，祭郭奉孝，祭荀令君，祭庞德，祭夏侯渊，祭孤的子侄，曹昂，曹安民。\ntx_emulate_01_002_0007_000012\t但是我的头洗到一半，你把水闸关了。\ntx_emulate_01_002_0017_000057\t她倒是一个奇女子啊。\ntx_emulate_01_003_0003_000018\t所以，没的麻匪的日子，才是好日子。\ntx_emulate_01_004_0006_000023\t唉，你必须仔细看才能看懂，我们就在这个位置啊，这是布鲁克林，我们去那儿抓了两条狗。\ntx_emulate_01_005_0004_000013\t啊我们要得到宝贝，把它给，夺回来。\ntx_emulate_01_005_0005_000022\t那就问几个有意义的，我生从何来死往何处，我为何要出现在这个世界上？\ntx_emulate_01_006_0020_000094\t怎么不能实现啊？走，我们一起去，啊。\ntx_emulate_01_007_0006_000025\t我哪儿知道喊啥呀？\ntx_emulate_01_007_0008_000034\t铡的是，宵小奸佞，行凶作恶之辈，虎头铡。\ntx_emulate_01_007_0021_000120\t啊，守口如瓶的一个梦想。\ntx_emulate_01_007_0024_000091\t哎，死到临头了是吧，你还在这耍贫嘴啊。\ntx_emulate_01_007_0025_000099\t是铁板钉钉啦。\ntx_emulate_01_008_0011_000050\t她充满了陌生和恐惧。\ntx_emulate_01_008_0017_000077\t这便是我们，推行的王化之道。\ntx_emulate_01_009_0003_000026\t知道吗？你不爱说话，我喜欢你。\ntx_emulate_01_010_0012_000085\t初而为官，家母便谆谆诲之。\ntx_emulate_01_011_0005_000017\t唉娘呀，头发都看见啦。\ntx_emulate_01_011_0009_000047\t那不是方天画戟吗？\ntx_emulate_01_011_0010_000050\t哼哼，老纪，你是不是想把家里的人都弄成是宫里的呀？\ntx_emulate_01_011_0011_000059\t我要把事情给闹大了，我要闹得让刑部知道，我要闹得，让万岁爷知道。\ntx_emulate_01_011_0013_000073\t你怎么知道那是他母亲？\ntx_emulate_01_012_0004_000021\t看来我该去，拜访他们啦。\ntx_emulate_01_012_0023_000084\t狮子，不全是那么差劲。\ntx_emulate_01_012_0025_000092\t哦什么惊喜？\ntx_emulate_01_013_0002_000004\t妹妹读过书吗？\ntx_emulate_01_013_0007_000025\t您好好地听着。\ntx_emulate_01_013_0007_000032\t愿上帝和你同席。\ntx_emulate_01_014_0004_000016\t你男人死了，何家破败了，你寡妇拉扯着这么一堆孩子，人都是势利眼。\ntx_emulate_01_014_0005_000035\t图图吃了一排，两排，三排，四排，五排，六排，七排，八排。\ntx_emulate_01_014_0011_000061\t与糯米一起，炒来炒去。\ntx_emulate_01_014_0016_000086\t谢谢紫薇格格。\ntx_emulate_01_016_0003_000006\t等一下等一下，你说，我是你的主人？\ntx_emulate_01_016_0007_000035\t告诉你，也许，你可以逃跑。\ntx_emulate_01_016_0008_000037\t把你的给我呜，不，就就，就有了吗？\ntx_emulate_01_016_0016_000067\t这第三碗酒哇。\ntx_emulate_01_016_0023_000150\t把这几封信带出去，有烈士的。\ntx_emulate_01_018_0003_000014\t听到了吗，你也入围了。\ntx_emulate_01_020_0001_000004\t你看起来还是那么白。\ntx_emulate_01_020_0007_000012\t智慧大王来啦。\ntx_emulate_01_020_0017_000067\t两个都得救，两个都得救哇。\ntx_emulate_01_021_0003_000015\t没有自由的人会幸福吗？\ntx_emulate_01_022_0009_000026\t才是沛国的天。\ntx_emulate_01_022_0022_000108\t就只凭一根铁钉。\ntx_emulate_01_022_0022_000111\t你明明发过誓，会好好保护我，你发过誓。\ntx_emulate_01_023_0006_000042\t你说凭什么。\ntx_emulate_01_023_0010_000063\t呃刚才我老猪吃的是快了点儿。\ntx_emulate_01_023_0010_000064\t也不知道是什么味儿，有籽没籽儿，有核没核。\ntx_emulate_01_023_0014_000081\t都快睁不开了。\ntx_emulate_01_024_0009_000083\t你们人多，你们枪多。\ntx_emulate_01_024_0010_000114\t法租界外边都是中国人的地方。\ntx_emulate_01_024_0012_000117\t你不做巡捕，以后去做什么呀。\ntx_emulate_01_024_0013_000139\t如果完不成任务。\ntx_emulate_01_026_0005_000031\t他又咋啦，嫌你丑，嫌你脏。\ntx_emulate_01_028_0008_000035\t为什么还要把时间浪费在这个上头哇？\ntx_emulate_01_028_0009_000046\t你以前，不是最喜欢这样儿称呼的吗？\ntx_emulate_01_028_0009_000054\t您是因为这个就不爱臣妾了吗，那我不要规矩也不要体统，如果没有皇上的怜惜，这一切，又有什么意义。\ntx_emulate_01_029_0013_000037\t究竟怎么回事，把我都给弄糊涂了。\ntx_emulate_01_030_0014_000035\t啊，这睡衣好舒服，再不用化妆穿礼服，还不用和王子约会。\ntx_emulate_01_031_0009_000032\t身如玄铁，火眼金睛。\ntx_emulate_01_031_0011_000045\t借此，隆重盛典。\ntx_emulate_01_031_0015_000061\t臣不敢，臣惶恐。\ntx_emulate_01_031_0020_000073\t剁了皇帝老儿狗头，给我退下。\ntx_emulate_01_032_0011_000017\t知识，就是力量。\ntx_emulate_01_032_0011_000020\t恋爱和战斗，都要勇往直前。\ntx_emulate_01_032_0018_000042\t嗯我不听我不听我假装家里没电脑。\ntx_emulate_01_033_0004_000039\t嗯……就是，第一次那什么，呃也是跟高平。\ntx_emulate_01_033_0006_000075\t我李云龙，不会拿自己的士兵的生命，去换自己的老婆。\ntx_emulate_01_034_0003_000030\t我喜欢吃很多人做的菜。\ntx_emulate_01_034_0005_000040\t那你喜欢他吗？\ntx_emulate_01_190_0001_000041\t清水一杯，聊表寸心。\ntx_emulate_01_190_0001_000042\t接到新房子里过春节啦。\ntx_emulate_01_191_0005_000043\t唉我的老婆呀，我的前瞻性怎么跟你就相差那么十万八千里呐？\ntx_emulate_01_192_0003_000046\t你的工作包括陪聊吗？我已经忍无可忍啦。\ntx_emulate_01_196_0001_000024\t钱全是借来的。\ntx_emulate_01_196_0003_000051\t可现在问题是，问题的关键是，你要把我们俩的生活全部压在你姐身上吗？\ntx_emulate_01_196_0004_000027\t月息百分之十，那一年翻一百二啊。\ntx_emulate_01_199_0001_000022\t不会知道什么？\ntx_emulate_01_200_0002_000001\t哎，我说什么了我，你现在可是越来越不纯洁了啊。\ntx_emulate_01_202_0001_000005\t你给我说说，你给我说说你跟那个，宋什么，啊，那宋什么，到底什么关系呀现在？\ntx_emulate_01_202_0001_000036\t除了社保和三金扣下来两千八，不到两千八你就想买断我二十四小时？\ntx_emulate_01_203_0001_000002\t从明天开始起，明天开始起，我就堵在厕所门口，我谁也不让上厕所，我看他们给不给我钱。\ntx_emulate_01_203_0008_000028\t您想想，现在这人，您开一奥迪出去，他都不搭理你，觉得您没实力。\ntx_emulate_01_205_0002_000018\t你到底想干什么？\ntx_emulate_01_206_0004_000007\t你讨厌，你吓死我了，你知不知道？\ntx_emulate_01_206_0005_000031\t咱干这份工作，挣这份钱，把钱拿到手里头就完事儿了。\ntx_emulate_01_209_0001_000021\t这万一没人给他送钱，人家又不给他治，他不等于送死吗？\ntx_emulate_01_210_0009_000010\t房子是保值的诶，钱留在手里，不合算的。\ntx_emulate_01_216_0004_000039\t这个床，换掉，外面那个餐桌，换掉，通通都不要。\ntx_emulate_01_219_0002_000027\t事先为什么不告诉我一声？\ntx_emulate_02_001_0015_000048\t为什么要隐藏隐瞒，为什么要忍痛抚琴，你们早知道她受伤了对不对，为什么联合起来隐瞒我，为什么为什么？\ntx_emulate_02_002_0016_000058\t论文治武功，是朕开创了贞观之治。\ntx_emulate_02_002_0018_000067\t可是纪晓岚，纪晓岚他不能老逼着朕做圣人吧？\ntx_emulate_02_003_0023_000078\t若无，苏先生的麒麟之才，恐怕朕今天，也看不到这个场面吧。\ntx_emulate_02_004_0004_000018\t今天，就是有天大的事情，有我孝庄来顶着。\ntx_emulate_02_005_0005_000018\t不，我刚才问的是本命，现在问的是自我。\ntx_emulate_02_006_0002_000017\t一对叱咤风云的眼睛，那体态不活像一位英勇的神灵，刚刚落到摩天山顶，这幅十全十美的仪表。\ntx_emulate_02_006_0009_000053\t还有谁？还有谁？还有谁？\ntx_emulate_02_006_0009_000056\t你们局长都得给我们鳄鱼帮面子，要不然他当不了这个局长，你他妈不认识我？\ntx_emulate_02_006_0019_000078\t我在这个老人院啊，起码，有人给我料理一下后事。\ntx_emulate_02_006_0019_000090\t这是我临死之前最后的一个愿望。\ntx_emulate_02_006_0020_000097\t我眼睁睁地看着一些老伙计呀。\ntx_emulate_02_007_0006_000025\t我哪知道喊啥呀？\ntx_emulate_02_007_0010_000050\t都怪你，嗯，看着师傅不好好看着，嗯嗯，非得擒什么妖，嗯嗯，妖怪没擒着，师傅也给弄丢了，还怪我呢。\ntx_emulate_02_007_0024_000112\t我就问你一句，姚远跟你说的那句话是什么？我们就想知道这一句话。\ntx_emulate_02_008_0011_000058\t我是世界上第一大糊涂蛋呢。\ntx_emulate_02_008_0020_000108\t我的货十回有八回被张麻子劫走了，如果你们可以去剿匪的话，钱要多少有多少。\ntx_emulate_02_039_0002_000034\t和家里的人留一段话。\ntx_emulate_02_039_0003_000072\t不傻，谁和你做朋友。\ntx_emulate_02_041_0002_000076\t别怪光江某再说句不客气的话。\ntx_emulate_02_042_0001_000128\t万一紫薇还来不及禀明身份，皇上就要来个乱点鸳鸯谱了。\ntx_emulate_02_042_0002_000072\t我答应过大家要改变这里，如果我们现在把咖啡卖了。\ntx_emulate_02_042_0002_000101\t你回村之后做的每一件事情，哪一个不是我告诉你的？\ntx_emulate_02_042_0003_000154\t哪知道美梦，不会成真呐。\ntx_emulate_02_042_0004_000065\t电令完全可能被截获，一旦被破译，命令是袭击明楼座驾，刺杀的却是南田洋子，我们全都得暴露。\ntx_emulate_02_043_0003_000020\t本人是天生领队，亲自找来一群大坏蛋，组成了怪盗军团阴谋诡计，什么事都干。\ntx_emulate_02_044_0001_000032\t就说啊，有一种鱼叫鲲，超级大，有天那么大，还能飞，翅膀像云一样大。\ntx_emulate_02_044_0010_000061\t哦谢谢，你真是热心呐。\ntx_emulate_02_045_0001_000001\t我愿意为您做任何事情，可是马克队长，那个人救过我一命，我，我不能。\ntx_emulate_02_045_0002_000003\t马克队长那个人，救过我一命。\ntx_emulate_02_045_0015_000057\t你不是我哥哥。\ntx_emulate_02_046_0004_000012\t啊，我是特优生。\ntx_emulate_02_046_0022_000084\t你练武功那么高，还要她救你？\ntx_emulate_02_051_0001_000002\t你还记得我们付出了代价吗？你还记得我们曾经的梦想跟誓言了吗？\ntx_emulate_02_052_0011_000081\t身为三D的我，就连票价都是你们的两。\ntx_emulate_02_052_0016_000106\t为什么不留下她呀，小玉这一走，你再想见她就难啦。\ntx_emulate_02_055_0004_000004\t你好狠毒的心啊你。\ntx_emulate_02_055_0015_000044\t他也许就放过我们啦。\ntx_emulate_02_055_0033_000122\t好啦，都闭嘴。\ntx_emulate_02_056_0005_000027\t干什么，我当然不会研究那些浅薄的社会问题。\ntx_emulate_02_057_0010_000047\t这是我们的使命。\ntx_emulate_02_057_0034_000160\t你放火烧了我的亲生母亲，你今生今世都要以她的身份活着，所有人都知道，偏偏你在骗自己。\ntx_emulate_02_222_0001_000017\t怎么就那么不会说人话呢？\ntx_emulate_02_227_0002_000019\t我天天吃糠咽菜的，我不就是顾着你，顾着这个家，顾着孩子吗。\ntx_emulate_02_229_0001_000044\t怎么啦，我告诉你，我像日本鬼子扫荡一样，把咱家里里外外扫荡了一遍。\ntx_emulate_02_231_0008_000034\t不好，你们厂里搞歧视。\ntx_emulate_02_233_0001_000034\t诶呦，说了一句咱俩有夫妻相，说你有三十五岁，瞧把你委屈的。\ntx_emulate_02_238_0002_000034\t还拿着白头发呢，神经病呀你。\ntx_emulate_02_239_0002_000056\t别跟着他学的油腔滑调，拈花惹草的。\ntx_emulate_02_242_0002_000069\t你说清楚了再走。\ntx_emulate_02_242_0002_000072\t啊，你想她你去找她去呀，你别以为我看不出来，你天天干吗给我脸色看啊。\ntx_emulate_02_245_0001_000034\t你胡说什么你？\ntx_emulate_02_245_0002_000019\t我今儿早上才要多多去你宿舍问了，你宿舍同学说你昨晚根本就没回来，你在哪儿过的夜？\ntx_emulate_02_245_0002_000035\t你知道我叫你来干什么，你看你这作业做的，你糊弄谁呢。\ntx_emulate_02_254_0005_000056\t你说，我从小到大，他们俩天天吵就没消停过，这叫爱情？\ntx_emulate_02_254_0005_000110\t诶呦妈呀，您一回来这叫一乱内。\ntx_emulate_02_255_0001_000027\t瞧你这说的，唉，人家是两口子。\ntx_emulate_02_255_0003_000001\t你怎么回来啦，请假回来哒？\ntx_emulate_02_257_0001_000007\t你没看我在这儿研究李大钊传呢嘛我，我这要出书，我写书我要。\ntx_emulate_02_257_0001_000008\t我说，你别叨叨了行不行，你这辈子还没叨叨够哇？\ntx_emulate_02_257_0002_000038\t好高骛远，本事不大心气儿不小，你不说往下扽着他点儿，你倒好。\ntx_emulate_02_258_0002_000011\t还住在你们家？\ntx_emulate_02_259_0003_000006\t我问这个干吗呀？又不是调查户口，人离了不就得了呗。\ntx_emulate_02_260_0001_000024\t你看你这臭小子，奥你爸就不能关心关心你啊？\ntx_emulate_02_260_0001_000039\t诶呦，我还真没有见过光管接电话的太上皇呢。\ntx_emulate_02_260_0002_000105\t诶呀，我这次没白去呀，我亲眼盯着那个秦香莲把那手印儿给按了。\ntx_emulate_02_261_0005_000089\t您甭哭了行吗，别再一吵架您就跟我说这个行吗？\ntx_emulate_02_261_0005_000107\t是大姐帮了我您知道吗？我那是第一次啊我。\ntx_emulate_02_263_0002_000014\t不行，不行，我又不做生意。\ntx_emulate_02_265_0001_000066\t如果她怀的是你的孩子，你就要对她负责任，你就得跟她结婚。\ntx_emulate_02_265_0002_000026\t你要是但凡把我当人看，他们敢这样儿？\ntx_emulate_02_265_0002_000087\t你给他点儿自尊心吧，你动不动就打。\ntx_emulate_02_265_0006_000056\t我们俩从一开始就君子之交，都说好啦，背信弃义出尔反尔的是她，我告诉你这件事我是受害者。\ntx_xiao_0100101000076 费尽心思想和自己聊天的样子,我自己都烦。 \ntx_xiao_0100101000302 妾住长江头,君住长江尾。日日思君不见君,共饮一江水。 \ntx_xiao_0100101000330 她倒吸了一口气,难过地垂下眉尾。 \ntx_xiao_0100101000408 心,总像被掏空的感觉,只需要深呼吸,然后活在自己的世界里面。 \ntx_xiao_0100101000439 不是我选择的,只是被迫接受的。 \ntx_xiao_0100103000017 哥哥很爱我,不肯我受委屈,有你我很开心,快乐! \ntx_xiao_0100103000032 据说今晚还是蛮开心哒有饱耳福即是开心吧。 \ntx_xiao_0100103000066 去豆捞坊每次都是愉快的用餐体验啊! \ntx_xiao_0100103000069 我家宝宝蹦蹦跳跳像个小兔子一样,真是可爱嘤。 \ntx_xiao_0100103000115 码字真的是件愉快的事情啊,写完本儿感言也是。 \ntx_xiao_0100103000159 民哥、衷心地祝福你新婚快乐。 \ntx_xiao_0100103000171 收拾衣物,发现十年前的衣裤依然能穿,甚是欣喜。 \ntx_xiao_0100103000202 天南地北,年月日时,幸福快乐! \ntx_xiao_0100103000268 他又惊又喜,眼睛像通了电的灯泡,募地亮了,一直沉着的脸上露出了笑容。 \ntx_xiao_0100103000272 祖国母亲生日快乐,尕叔生日快乐,小刘生日快乐! \ntx_xiao_0100103000306 闫颖,今天是你的生日,祝你生日快乐。 \ntx_xiao_0100103000326 喜悦涌进了她的心中,心仿佛荡漾在春水里。 \ntx_xiao_0100103000327 今天老婆生日,祝老婆生日快乐! \ntx_xiao_0100103000336 明儿就能见到老公了,兴奋中! \ntx_xiao_0100103000344 用自己打工的钱买了人生第一辆山地车,美利达勇士五百,加油! \ntx_xiao_0100103000354 海绵宝宝之所以快乐不是因为他二,而是有人跟他一起二。 \ntx_xiao_0100103000364 突然发现,俺闺女出牙了,开心,高兴,兴奋! \ntx_xiao_0100103000368 丹霞山偶遇一同事,兴奋、幸福! \ntx_xiao_0100103000420 户外烧烤,还能看鳄鱼,开心开心。 \ntx_xiao_0100103000425 儿童节快乐,本引大神我披荆斩棘终于回来啦! \ntx_xiao_0100103000429 唱歌唱到嗓子哑了,开心。 \ntx_xiao_0100103000459 哎呀呀呀,国庆节,祖国生日快乐啊! \ntx_xiao_0100103000480 祝你新婚快乐,婚后也不要忘了关注我们老大呀! \ntx_xiao_0100104000019 死人宋明城,看到漂亮一点的女生就把自己姓什么给忘了。 \ntx_xiao_0100104000064 别跟我提起她!既然你不爱她,当初为什么要从我身边夺走她? \ntx_xiao_0100104000111 我从不是什么善男信女,别用宗教那一套来感化我。 \ntx_xiao_0100104000141 那好吧,我不管你们的事儿,不过我希望你能尽快的把事情讲清楚。 \ntx_xiao_0100104000143 你还有什么脸说他是你女朋友!我告诉你,离熙儿远点儿! \ntx_xiao_0100104000190 不说话是吧?说不出来啦,对吧?没话说了,对吧?啊? \ntx_xiao_0100104000205 你是怎么缠上武赫的?你缠着一个江半岛还不够吗? \ntx_xiao_0100104000295 怎么可以骗我们呢,走,我们去找他! \ntx_xiao_0100104000354 就算我从未管过你,这次也绝不允许你和那个人的女儿在一起! \ntx_xiao_0100104000428 你少跟我废话,快告诉我你把惠雅拐到哪里去了! \ntx_xiao_0100105000112 你不要废话!谁会喜欢你?好好照顾我哥!我走了! \ntx_xiao_0100105000158 周傲宇,就因为我不了解你所以我才会跟你结婚。 \ntx_xiao_0100105000254 臭丫头,还不是在本少爷的英明领导下,你才有这样的风范! \ntx_xiao_0100105000277 想今天放学后留下来擦窗子的,你就再讲,不想的话。 \ntx_xiao_0100105000307 我不管你喜不喜欢我,只要是我想要的东西,没人可以阻止,就算是翼也不行。 \ntx_xiao_0100105000327 喂,你什么意思啊?人家女生都没嫌你口臭呢,居然给我漱口… \ntx_xiao_0100105000369 奔奔这才知道害羞?嗯?奔奔你不厚道呦,说好我们一起出嫁的。 \ntx_xiao_0100105000468 是我推卸责任吗?如果不是你醋意大发,胡乱猜测。 \ntx_xiao_0100106000020 到底怎么回事儿啊?真的吗? \ntx_xiao_0100106000061 要凌哥哥怎么个疼法?是亲疼你,还是抱疼你? \ntx_xiao_0100106000077 你们两个也眼瞅着奔三十了,还没搞定咱们那两个警花姐姐? \ntx_xiao_0100106000099 格琳娜都是我最后一个逢场作戏的女人,相信我,好吗? \ntx_xiao_0100106000103 朋友…朋友需要这样的吗? \ntx_xiao_0100106000111 不知道林大少爷会不会舍命来换回她们两个呢? \ntx_xiao_0100106000116 可为什么他看恋夏时不是那种厌恶与不屑的眼神? \ntx_xiao_0100106000182 一个是资本主义的苗,一个是社会主义的草,我不扶持它谁扶持它? \ntx_xiao_0100106000278 哦,对了,你刚刚在外面求雨做什么? \ntx_xiao_0100106000282 那个…牧野什么的,是你回台的原因? \ntx_xiao_0100106000316 死丫头,喂!你怎么来上海了? \ntx_xiao_0100106000317 封皓阳队长不是只教你数学和英语吗? \ntx_xiao_0100106000332 是的。那个婢女是殿下的侍女吗? \ntx_xiao_0100107000103 那么妈妈现在还陪着我。 \ntx_xiao_0100107000310 她是我最好最好最好的朋友,请你答应我…照顾她一辈子好吗? \ntx_xiao_0100107000341 因为天辰他患了一种绝症,所以没办法接管牧氏了。 \ntx_xiao_0100107000369 如有违誓,我…不用发誓了,我我相信你。 \ntx_xiao_0100107000421 所以她选择一个人去接受这一切。 \ntx_xiao_0100107000431 这样我就有了很温暖的感觉…现在我连宝宝都失去了。 \ntx_xiao_0100107000449 我每天放学回家都小心翼翼的。 \ntx_xiao_0200101000712 我小时候贪玩儿,现在才认识到知识的重要性。 \ntx_xiao_0200101000731 当初我要是坚定一些,我们三个人就不会是现在这样的结局。 \ntx_xiao_0200101000952 主动久了,每个人都会累,不是不爱了,只是心累了。 \ntx_xiao_0200103000008 眼前这亮闪闪的宝石,令兰博基尼太惊喜了。 \ntx_xiao_0200103000048 果然能沟通成功,功夫不负有心人呀! \ntx_xiao_0200103000053 尽管果子都是脏兮兮的,但我吃着非常好吃! \ntx_xiao_0200103000080 太好了以后我们可以一起冒险了,来击个掌! \ntx_xiao_0200103000095 有点儿兴奋,太渴望与那些高手交手啦。 \ntx_xiao_0200103000102 天呐,我竟然长高了,还真有些不敢相信呐。 \ntx_xiao_0200103000124 这回能逃过一劫,是苍天眷顾啊! \ntx_xiao_0200103000128 许多人眼眸内都是精光烁烁,很是兴奋。 \ntx_xiao_0200103000135 这辈子最令我开心的事儿就是被人夸你瘦了! \ntx_xiao_0200103000148 不敢相信呐,李子兴奋根本无法言表。 \ntx_xiao_0200103000153 这么喜欢喊呀,今天我就跟你一起喊个够哦。 \ntx_xiao_0200103000162 太久不见闺蜜好友,电扇有些小喜悦。 \ntx_xiao_0200103000183 小草在微风中舞蹈,真是美极啦! \ntx_xiao_0200103000184 喜欢听流行歌曲,一听我就停不下来的兴奋。 \ntx_xiao_0200103000187 弟弟主动递了杯水给我,太懂事了。 \ntx_xiao_0200103000192 今天出席的明星,都是我梦寐以求的呦。 \ntx_xiao_0200103000206 嗯我能重新投入这次科研中,可太好啦。 \ntx_xiao_0200103000221 在节日的庆典上,让人感觉喜气冲天! \ntx_xiao_0200103000236 我想先祖还活着的话,一定会为我们高兴的。 \ntx_xiao_0200103000258 这回考试顺利无比,花花心中挺高兴的。 \ntx_xiao_0200103000259 那儿景色不错吧,我爸亲自打理的呢。 \ntx_xiao_0200103000289 哟橘子口感不错呀,我也要买。 \ntx_xiao_0200103000520 路上略微兴奋,一直在那儿卖弄手机。 \ntx_xiao_0200103000535 随后我对他笑笑,他仰天长啸,亦是好不快活。 \ntx_xiao_0200103000554 更让人兴奋的是,不但优秀,而且漂亮! \ntx_xiao_0200103000604 林研希今天和姨姨聊得最久了,姨姨都乐开了花! \ntx_xiao_0200103000640 本仙女宣布,我有男朋友啦,哈哈哈,还是正宗的富二代! \ntx_xiao_0200103000648 二零二零年中国终于实现了共同富裕! \ntx_xiao_0200104000527 就你们喜欢叫人同志,在国外都把同性恋称作同志!靠! \ntx_xiao_0200104000609 你还不快滚,别在这里妨碍本姑娘学习。 \ntx_xiao_0200104000718 如果你说的解释是欺骗我的那件事儿,还是不要解释得好。 \ntx_xiao_0200104000737 肖童这个混蛋,我恨不得亲手杀了他! \ntx_xiao_0200104000848 臭老头,闭上你的嘴。我劝你们还是不要轻举妄动的好。 \ntx_xiao_0200104000887 你知不知道当初那么一声不吭地走了让我有多担心? \ntx_xiao_0200105000529 她身体里流的不是血,是冰! \ntx_xiao_0200105000606 大壁虎发怒了,脸爆炸得通红,像一颗星火,落在一盆汽油上。 \ntx_xiao_0200105000643 天气很热,作业很多,心情焦虑和烦躁得什么都不想做。 \ntx_xiao_0200105000715 老喜欢出阴招,使手段,太不厚道了! \ntx_xiao_0200105000746 一下子拉过凳子,鱼腥草大爷愤怒地坐了下去。 \ntx_xiao_0200106000514 你是不是担心我和紫罗要跑去搅局?放心。 \ntx_xiao_0200106000526 怎么约会?去哪里?干吗去了?做姐姐的,我不是关心你嘛。 \ntx_xiao_0200106000535 没什么啦!趁现在没什么事儿,说说你爷爷到底跟你讲了些什么啊! \ntx_xiao_0200106000563 难道点了就一定要吃吗?我现在很饱,不需要吃。 \ntx_xiao_0200106000574 就你那绣花拳头?呵呵。 \ntx_xiao_0200106000584 当年写情书的人应该是你吧? \ntx_xiao_0200106000644 怎么?一提起他你就生气。你们俩闹别扭了啊? \ntx_xiao_0200106000737 你还不是这样爱着他啊。 \ntx_xiao_0200106000881 后来怎么看出我这个魔鬼就是你心目中的天使的呢? \ntx_xiao_0200107000662 好,我知道了,谢谢你这么坦诚地回答我。 \ntx_xiao_0200107000704 这哥们儿貌似不是南方人。 \ntx_xiao_0200107000936 从来没有把我当成恋人看待。 \ntx_xiao_0200107000972 就算危险随时会来到你也不会离开的对吗?你会吗。 \ntx_xiao_0200107000978 研究所也不跟我续签合同了,我只能回国了,连个工作都没有。 \ntx_xiao_0200107001042 能一直选择面对,选择用尽办法来挽救我们的婚姻,我能怪他什么啊。 \n"
  },
  {
    "path": "dataset/wav.scp",
    "content": "tx_emotion_00403000359 dataset/wav/tx_emotion_00403000359.wav\ntx_emulate_00_103_0001_000017 dataset/wav/tx_emulate_00_103_0001_000017.wav\ntx_emotion_00203000050 dataset/wav/tx_emotion_00203000050.wav\ntx_emotion_00203000095 dataset/wav/tx_emotion_00203000095.wav\ntx_emulate_00_127_0001_000084 dataset/wav/tx_emulate_00_127_0001_000084.wav\ntx_emulate_00_119_0001_000049 dataset/wav/tx_emulate_00_119_0001_000049.wav\ntx_emotion_00403000077 dataset/wav/tx_emotion_00403000077.wav\ntx_emotion_00203000031 dataset/wav/tx_emotion_00203000031.wav\ntx_emotion_00409000285 dataset/wav/tx_emotion_00409000285.wav\ntx_xiao_0200103000095 dataset/wav/tx_xiao_0200103000095.wav\ntx_emulate_01_012_0025_000092 dataset/wav/tx_emulate_01_012_0025_000092.wav\ntx_xiao_0200103000520 dataset/wav/tx_xiao_0200103000520.wav\ntx_emotion_00203000066 dataset/wav/tx_emotion_00203000066.wav\ntx_emotion_00403000052 dataset/wav/tx_emotion_00403000052.wav\ntx_emotion_00403000255 dataset/wav/tx_emotion_00403000255.wav\ntx_emotion_00303000023 dataset/wav/tx_emotion_00303000023.wav\ntx_emulate_00_108_0004_000039 dataset/wav/tx_emulate_00_108_0004_000039.wav\ntx_xiao_0200103000183 dataset/wav/tx_xiao_0200103000183.wav\ntx_emotion_00303000465 dataset/wav/tx_emotion_00303000465.wav\ntx_emotion_00303000127 dataset/wav/tx_emotion_00303000127.wav\ntx_xiao_0200103000604 dataset/wav/tx_xiao_0200103000604.wav\ntx_emotion_00203000065 dataset/wav/tx_emotion_00203000065.wav\ntx_xiao_0200103000162 dataset/wav/tx_xiao_0200103000162.wav\ntx_emotion_00203000485 dataset/wav/tx_emotion_00203000485.wav\ntx_xiao_0100105000254 dataset/wav/tx_xiao_0100105000254.wav\ntx_emulate_00_185_0002_000007 dataset/wav/tx_emulate_00_185_0002_000007.wav\ntx_emulate_00_157_0001_000031 dataset/wav/tx_emulate_00_157_0001_000031.wav\ntx_xiao_0200103000187 dataset/wav/tx_xiao_0200103000187.wav\ntx_xiao_0100103000480 dataset/wav/tx_xiao_0100103000480.wav\ntx_xiao_0200103000148 dataset/wav/tx_xiao_0200103000148.wav\ntx_emulate_01_216_0004_000039 dataset/wav/tx_emulate_01_216_0004_000039.wav\ntx_emulate_00_119_0001_000001 dataset/wav/tx_emulate_00_119_0001_000001.wav\ntx_emulate_00_144_0007_000056 dataset/wav/tx_emulate_00_144_0007_000056.wav\ntx_xiao_0200103000124 dataset/wav/tx_xiao_0200103000124.wav\ntx_xiao_0200103000102 dataset/wav/tx_xiao_0200103000102.wav\ntx_emulate_00_110_0004_000059 dataset/wav/tx_emulate_00_110_0004_000059.wav\ntx_xiao_0100103000069 dataset/wav/tx_xiao_0100103000069.wav\ntx_emulate_00_121_0002_000009 dataset/wav/tx_emulate_00_121_0002_000009.wav\ntx_xiao_0200103000128 dataset/wav/tx_xiao_0200103000128.wav\ntx_emulate_00_151_0001_000018 dataset/wav/tx_emulate_00_151_0001_000018.wav\ntx_emotion_00403000432 dataset/wav/tx_emotion_00403000432.wav\ntx_emotion_00403000173 dataset/wav/tx_emotion_00403000173.wav\ntx_emulate_01_005_0004_000013 dataset/wav/tx_emulate_01_005_0004_000013.wav\ntx_emulate_00_123_0002_000003 dataset/wav/tx_emulate_00_123_0002_000003.wav\ntx_emotion_00403000099 dataset/wav/tx_emotion_00403000099.wav\ntx_emotion_00303000396 dataset/wav/tx_emotion_00303000396.wav\ntx_emulate_00_137_0002_000079 dataset/wav/tx_emulate_00_137_0002_000079.wav\ntx_xiao_0100103000459 dataset/wav/tx_xiao_0100103000459.wav\ntx_xiao_0100103000171 dataset/wav/tx_xiao_0100103000171.wav\ntx_xiao_0100103000268 dataset/wav/tx_xiao_0100103000268.wav\ntx_xiao_0200103000554 dataset/wav/tx_xiao_0200103000554.wav\ntx_emulate_00_129_0004_000056 dataset/wav/tx_emulate_00_129_0004_000056.wav\ntx_emulate_01_032_0011_000017 dataset/wav/tx_emulate_01_032_0011_000017.wav\ntx_emotion_00303000474 dataset/wav/tx_emotion_00303000474.wav\ntx_emotion_00303000462 dataset/wav/tx_emotion_00303000462.wav\ntx_emulate_01_006_0020_000094 dataset/wav/tx_emulate_01_006_0020_000094.wav\ntx_emulate_01_014_0011_000061 dataset/wav/tx_emulate_01_014_0011_000061.wav\ntx_emotion_00303000310 dataset/wav/tx_emotion_00303000310.wav\ntx_emotion_00302000107 dataset/wav/tx_emotion_00302000107.wav\ntx_emulate_01_003_0003_000018 dataset/wav/tx_emulate_01_003_0003_000018.wav\ntx_xiao_0100103000032 dataset/wav/tx_xiao_0100103000032.wav\ntx_xiao_0200103000206 dataset/wav/tx_xiao_0200103000206.wav\ntx_emulate_00_137_0003_000022 dataset/wav/tx_emulate_00_137_0003_000022.wav\ntx_emotion_00403000131 dataset/wav/tx_emotion_00403000131.wav\ntx_emulate_00_115_0002_000007 dataset/wav/tx_emulate_00_115_0002_000007.wav\ntx_xiao_0200103000289 dataset/wav/tx_xiao_0200103000289.wav\ntx_xiao_0100103000306 dataset/wav/tx_xiao_0100103000306.wav\ntx_emulate_01_018_0003_000014 dataset/wav/tx_emulate_01_018_0003_000014.wav\ntx_emotion_00309000124 dataset/wav/tx_emotion_00309000124.wav\ntx_xiao_0200103000048 dataset/wav/tx_xiao_0200103000048.wav\ntx_emulate_00_130_0003_000017 dataset/wav/tx_emulate_00_130_0003_000017.wav\ntx_xiao_0100103000336 dataset/wav/tx_xiao_0100103000336.wav\ntx_xiao_0100106000061 dataset/wav/tx_xiao_0100106000061.wav\ntx_emulate_00_118_0002_000020 dataset/wav/tx_emulate_00_118_0002_000020.wav\ntx_xiao_0200103000259 dataset/wav/tx_xiao_0200103000259.wav\ntx_emotion_00403000451 dataset/wav/tx_emotion_00403000451.wav\ntx_xiao_0100103000429 dataset/wav/tx_xiao_0100103000429.wav\ntx_xiao_0100103000364 dataset/wav/tx_xiao_0100103000364.wav\ntx_emotion_00303000363 dataset/wav/tx_emotion_00303000363.wav\ntx_emotion_00403000494 dataset/wav/tx_emotion_00403000494.wav\ntx_xiao_0200103000258 dataset/wav/tx_xiao_0200103000258.wav\ntx_emotion_00303000211 dataset/wav/tx_emotion_00303000211.wav\ntx_emulate_00_112_0002_000070 dataset/wav/tx_emulate_00_112_0002_000070.wav\ntx_emotion_00203000399 dataset/wav/tx_emotion_00203000399.wav\ntx_emotion_00206000458 dataset/wav/tx_emotion_00206000458.wav\ntx_emotion_00203000448 dataset/wav/tx_emotion_00203000448.wav\ntx_xiao_0200103000640 dataset/wav/tx_xiao_0200103000640.wav\ntx_emotion_00403000157 dataset/wav/tx_emotion_00403000157.wav\ntx_xiao_0100105000369 dataset/wav/tx_xiao_0100105000369.wav\ntx_emotion_00303000158 dataset/wav/tx_emotion_00303000158.wav\ntx_emotion_00203000034 dataset/wav/tx_emotion_00203000034.wav\ntx_xiao_0100103000066 dataset/wav/tx_xiao_0100103000066.wav\ntx_xiao_0100103000368 dataset/wav/tx_xiao_0100103000368.wav\ntx_xiao_0100103000420 dataset/wav/tx_xiao_0100103000420.wav\ntx_emulate_01_190_0001_000042 dataset/wav/tx_emulate_01_190_0001_000042.wav\ntx_xiao_0200103000184 dataset/wav/tx_xiao_0200103000184.wav\ntx_emulate_00_151_0007_000028 dataset/wav/tx_emulate_00_151_0007_000028.wav\ntx_emulate_00_122_0001_000025 dataset/wav/tx_emulate_00_122_0001_000025.wav\ntx_emulate_01_034_0003_000030 dataset/wav/tx_emulate_01_034_0003_000030.wav\ntx_emotion_00403000395 dataset/wav/tx_emotion_00403000395.wav\ntx_emotion_00303000130 dataset/wav/tx_emotion_00303000130.wav\ntx_xiao_0100103000159 dataset/wav/tx_xiao_0100103000159.wav\ntx_emulate_00_135_0002_000003 dataset/wav/tx_emulate_00_135_0002_000003.wav\ntx_emotion_00203000128 dataset/wav/tx_emotion_00203000128.wav\ntx_emotion_00403000252 dataset/wav/tx_emotion_00403000252.wav\ntx_emulate_00_125_0002_000058 dataset/wav/tx_emulate_00_125_0002_000058.wav\ntx_emulate_01_032_0011_000020 dataset/wav/tx_emulate_01_032_0011_000020.wav\ntx_emotion_00203000086 dataset/wav/tx_emotion_00203000086.wav\ntx_emotion_00403000163 dataset/wav/tx_emotion_00403000163.wav\ntx_emotion_00203000379 dataset/wav/tx_emotion_00203000379.wav\ntx_xiao_0200103000236 dataset/wav/tx_xiao_0200103000236.wav\ntx_emotion_00203000019 dataset/wav/tx_emotion_00203000019.wav\ntx_emotion_00203000352 dataset/wav/tx_emotion_00203000352.wav\ntx_emotion_00203000273 dataset/wav/tx_emotion_00203000273.wav\ntx_emotion_00403000060 dataset/wav/tx_emotion_00403000060.wav\ntx_emotion_00403000482 dataset/wav/tx_emotion_00403000482.wav\ntx_xiao_0200103000053 dataset/wav/tx_xiao_0200103000053.wav\ntx_emotion_00203000069 dataset/wav/tx_emotion_00203000069.wav\ntx_emulate_00_186_0001_000023 dataset/wav/tx_emulate_00_186_0001_000023.wav\ntx_emulate_00_108_0002_000070 dataset/wav/tx_emulate_00_108_0002_000070.wav\ntx_emulate_00_060_0001_000030 dataset/wav/tx_emulate_00_060_0001_000030.wav\ntx_emulate_00_179_0005_000021 dataset/wav/tx_emulate_00_179_0005_000021.wav\ntx_emulate_00_110_0002_000028 dataset/wav/tx_emulate_00_110_0002_000028.wav\ntx_emotion_00403000393 dataset/wav/tx_emotion_00403000393.wav\ntx_emulate_02_255_0003_000001 dataset/wav/tx_emulate_02_255_0003_000001.wav\ntx_xiao_0100103000344 dataset/wav/tx_xiao_0100103000344.wav\ntx_xiao_0100106000077 dataset/wav/tx_xiao_0100106000077.wav\ntx_emulate_02_044_0010_000061 dataset/wav/tx_emulate_02_044_0010_000061.wav\ntx_emotion_00309000349 dataset/wav/tx_emotion_00309000349.wav\ntx_emotion_00203000072 dataset/wav/tx_emotion_00203000072.wav\ntx_emotion_00303000052 dataset/wav/tx_emotion_00303000052.wav\ntx_emotion_00203000425 dataset/wav/tx_emotion_00203000425.wav\ntx_emotion_00303000182 dataset/wav/tx_emotion_00303000182.wav\ntx_emotion_00409000325 dataset/wav/tx_emotion_00409000325.wav\ntx_xiao_0100103000272 dataset/wav/tx_xiao_0100103000272.wav\ntx_emotion_00303000360 dataset/wav/tx_emotion_00303000360.wav\ntx_emotion_00303000198 dataset/wav/tx_emotion_00303000198.wav\ntx_emotion_00303000046 dataset/wav/tx_emotion_00303000046.wav\ntx_emotion_00403000197 dataset/wav/tx_emotion_00403000197.wav\ntx_emotion_00303000236 dataset/wav/tx_emotion_00303000236.wav\ntx_xiao_0200106000514 dataset/wav/tx_xiao_0200106000514.wav\ntx_emotion_00203000470 dataset/wav/tx_emotion_00203000470.wav\ntx_xiao_0100103000115 dataset/wav/tx_xiao_0100103000115.wav\ntx_emotion_00203000486 dataset/wav/tx_emotion_00203000486.wav\ntx_xiao_0100103000017 dataset/wav/tx_xiao_0100103000017.wav\ntx_xiao_0100103000202 dataset/wav/tx_xiao_0100103000202.wav\ntx_emotion_00209000026 dataset/wav/tx_emotion_00209000026.wav\ntx_xiao_0200103000535 dataset/wav/tx_xiao_0200103000535.wav\ntx_emotion_00303000389 dataset/wav/tx_emotion_00303000389.wav\ntx_emulate_01_031_0009_000032 dataset/wav/tx_emulate_01_031_0009_000032.wav\ntx_emulate_00_150_0005_000005 dataset/wav/tx_emulate_00_150_0005_000005.wav\ntx_emulate_01_020_0007_000012 dataset/wav/tx_emulate_01_020_0007_000012.wav\ntx_xiao_0200103000192 dataset/wav/tx_xiao_0200103000192.wav\ntx_emotion_00303000173 dataset/wav/tx_emotion_00303000173.wav\ntx_emotion_00403000175 dataset/wav/tx_emotion_00403000175.wav\ntx_emulate_01_190_0001_000041 dataset/wav/tx_emulate_01_190_0001_000041.wav\ntx_emulate_01_030_0014_000035 dataset/wav/tx_emulate_01_030_0014_000035.wav\ntx_xiao_0100103000326 dataset/wav/tx_xiao_0100103000326.wav\ntx_xiao_0100103000354 dataset/wav/tx_xiao_0100103000354.wav\ntx_emotion_00303000260 dataset/wav/tx_emotion_00303000260.wav\ntx_xiao_0200106000881 dataset/wav/tx_xiao_0200106000881.wav\ntx_emotion_00303000457 dataset/wav/tx_emotion_00303000457.wav\ntx_emotion_00203000412 dataset/wav/tx_emotion_00203000412.wav\ntx_emotion_00403000143 dataset/wav/tx_emotion_00403000143.wav\ntx_xiao_0200103000648 dataset/wav/tx_xiao_0200103000648.wav\ntx_emotion_00209000269 dataset/wav/tx_emotion_00209000269.wav\ntx_emotion_00303000129 dataset/wav/tx_emotion_00303000129.wav\ntx_emotion_00309000324 dataset/wav/tx_emotion_00309000324.wav\ntx_emulate_00_137_0005_000092 dataset/wav/tx_emulate_00_137_0005_000092.wav\ntx_emotion_00303000056 dataset/wav/tx_emotion_00303000056.wav\ntx_emotion_00203000372 dataset/wav/tx_emotion_00203000372.wav\ntx_emotion_00303000117 dataset/wav/tx_emotion_00303000117.wav\ntx_xiao_0200103000153 dataset/wav/tx_xiao_0200103000153.wav\ntx_emotion_00303000298 dataset/wav/tx_emotion_00303000298.wav\ntx_emotion_00303000167 dataset/wav/tx_emotion_00303000167.wav\ntx_xiao_0100103000425 dataset/wav/tx_xiao_0100103000425.wav\ntx_xiao_0200103000221 dataset/wav/tx_xiao_0200103000221.wav\ntx_emulate_00_132_0004_000026 dataset/wav/tx_emulate_00_132_0004_000026.wav\ntx_emotion_00303000148 dataset/wav/tx_emotion_00303000148.wav\ntx_emotion_00303000119 dataset/wav/tx_emotion_00303000119.wav\ntx_xiao_0200103000080 dataset/wav/tx_xiao_0200103000080.wav\ntx_emulate_00_150_0005_000006 dataset/wav/tx_emulate_00_150_0005_000006.wav\ntx_emulate_00_112_0001_000066 dataset/wav/tx_emulate_00_112_0001_000066.wav\ntx_emulate_00_111_0001_000042 dataset/wav/tx_emulate_00_111_0001_000042.wav\ntx_emotion_00403000439 dataset/wav/tx_emotion_00403000439.wav\ntx_xiao_0100105000307 dataset/wav/tx_xiao_0100105000307.wav\ntx_xiao_0100103000327 dataset/wav/tx_xiao_0100103000327.wav\ntx_emotion_00303000082 dataset/wav/tx_emotion_00303000082.wav\ntx_emulate_00_112_0005_000089 dataset/wav/tx_emulate_00_112_0005_000089.wav\ntx_emotion_00403000145 dataset/wav/tx_emotion_00403000145.wav\ntx_emotion_00203000364 dataset/wav/tx_emotion_00203000364.wav\ntx_emulate_02_263_0002_000014 dataset/wav/tx_emulate_02_263_0002_000014.wav\ntx_emotion_00303000354 dataset/wav/tx_emotion_00303000354.wav\ntx_emulate_02_044_0001_000032 dataset/wav/tx_emulate_02_044_0001_000032.wav\ntx_emotion_00203000357 dataset/wav/tx_emotion_00203000357.wav\ntx_emotion_00303000421 dataset/wav/tx_emotion_00303000421.wav\ntx_emulate_02_042_0003_000154 dataset/wav/tx_emulate_02_042_0003_000154.wav\ntx_emotion_00303000433 dataset/wav/tx_emotion_00303000433.wav\ntx_emulate_01_004_0006_000023 dataset/wav/tx_emulate_01_004_0006_000023.wav\ntx_emulate_01_020_0001_000004 dataset/wav/tx_emulate_01_020_0001_000004.wav\ntx_xiao_0200104000737 dataset/wav/tx_xiao_0200104000737.wav\ntx_xiao_0200103000135 dataset/wav/tx_xiao_0200103000135.wav\ntx_emulate_02_254_0005_000056 dataset/wav/tx_emulate_02_254_0005_000056.wav\ntx_emulate_01_007_0021_000120 dataset/wav/tx_emulate_01_007_0021_000120.wav\ntx_emotion_00302000027 dataset/wav/tx_emotion_00302000027.wav\ntx_emulate_02_261_0005_000107 dataset/wav/tx_emulate_02_261_0005_000107.wav\ntx_emulate_01_031_0011_000045 dataset/wav/tx_emulate_01_031_0011_000045.wav\ntx_emulate_01_205_0002_000018 dataset/wav/tx_emulate_01_205_0002_000018.wav\ntx_emulate_00_162_0005_000004 dataset/wav/tx_emulate_00_162_0005_000004.wav\ntx_xiao_0200105000746 dataset/wav/tx_xiao_0200105000746.wav\ntx_emulate_00_115_0010_000012 dataset/wav/tx_emulate_00_115_0010_000012.wav\ntx_emotion_00202000429 dataset/wav/tx_emotion_00202000429.wav\ntx_emotion_00302000090 dataset/wav/tx_emotion_00302000090.wav\ntx_emotion_00400000011 dataset/wav/tx_emotion_00400000011.wav\ntx_emulate_00_125_0008_000017 dataset/wav/tx_emulate_00_125_0008_000017.wav\ntx_emotion_00306000460 dataset/wav/tx_emotion_00306000460.wav\ntx_emulate_00_128_0006_000033 dataset/wav/tx_emulate_00_128_0006_000033.wav\ntx_xiao_0200106000644 dataset/wav/tx_xiao_0200106000644.wav\ntx_emotion_00400000160 dataset/wav/tx_emotion_00400000160.wav\ntx_emotion_00210000419 dataset/wav/tx_emotion_00210000419.wav\ntx_emulate_01_023_0010_000063 dataset/wav/tx_emulate_01_023_0010_000063.wav\ntx_emotion_00402000196 dataset/wav/tx_emotion_00402000196.wav\ntx_emotion_00206000149 dataset/wav/tx_emotion_00206000149.wav\ntx_emotion_00309000452 dataset/wav/tx_emotion_00309000452.wav\ntx_emulate_00_108_0004_000011 dataset/wav/tx_emulate_00_108_0004_000011.wav\ntx_emulate_01_009_0003_000026 dataset/wav/tx_emulate_01_009_0003_000026.wav\ntx_emulate_00_110_0004_000099 dataset/wav/tx_emulate_00_110_0004_000099.wav\ntx_xiao_0200106000535 dataset/wav/tx_xiao_0200106000535.wav\ntx_emulate_02_046_0004_000012 dataset/wav/tx_emulate_02_046_0004_000012.wav\ntx_emulate_00_132_0005_000016 dataset/wav/tx_emulate_00_132_0005_000016.wav\ntx_emotion_00206000315 dataset/wav/tx_emotion_00206000315.wav\ntx_emulate_01_023_0010_000064 dataset/wav/tx_emulate_01_023_0010_000064.wav\ntx_emulate_01_001_0019_000077 dataset/wav/tx_emulate_01_001_0019_000077.wav\ntx_emulate_01_021_0003_000015 dataset/wav/tx_emulate_01_021_0003_000015.wav\ntx_xiao_0100107000341 dataset/wav/tx_xiao_0100107000341.wav\ntx_emotion_00306000405 dataset/wav/tx_emotion_00306000405.wav\ntx_emotion_00205000265 dataset/wav/tx_emotion_00205000265.wav\ntx_emotion_00301000185 dataset/wav/tx_emotion_00301000185.wav\ntx_xiao_0100105000327 dataset/wav/tx_xiao_0100105000327.wav\ntx_emotion_00403000147 dataset/wav/tx_emotion_00403000147.wav\ntx_emotion_00302000016 dataset/wav/tx_emotion_00302000016.wav\ntx_emulate_01_031_0015_000061 dataset/wav/tx_emulate_01_031_0015_000061.wav\ntx_emotion_00206000186 dataset/wav/tx_emotion_00206000186.wav\ntx_emotion_00302000304 dataset/wav/tx_emotion_00302000304.wav\ntx_xiao_0100106000282 dataset/wav/tx_xiao_0100106000282.wav\ntx_emulate_02_055_0015_000044 dataset/wav/tx_emulate_02_055_0015_000044.wav\ntx_emulate_02_257_0001_000007 dataset/wav/tx_emulate_02_257_0001_000007.wav\ntx_emulate_01_033_0004_000039 dataset/wav/tx_emulate_01_033_0004_000039.wav\ntx_emotion_00206000235 dataset/wav/tx_emotion_00206000235.wav\ntx_emotion_00309000154 dataset/wav/tx_emotion_00309000154.wav\ntx_emotion_00309000183 dataset/wav/tx_emotion_00309000183.wav\ntx_emotion_00202000136 dataset/wav/tx_emotion_00202000136.wav\ntx_emotion_00409000081 dataset/wav/tx_emotion_00409000081.wav\ntx_emulate_02_043_0003_000020 dataset/wav/tx_emulate_02_043_0003_000020.wav\ntx_emotion_00305000005 dataset/wav/tx_emotion_00305000005.wav\ntx_emulate_02_260_0001_000024 dataset/wav/tx_emulate_02_260_0001_000024.wav\ntx_emulate_01_007_0025_000099 dataset/wav/tx_emulate_01_007_0025_000099.wav\ntx_emotion_00305000308 dataset/wav/tx_emotion_00305000308.wav\ntx_emulate_00_123_0001_000048 dataset/wav/tx_emulate_00_123_0001_000048.wav\ntx_emotion_00203000111 dataset/wav/tx_emotion_00203000111.wav\ntx_emulate_01_013_0002_000004 dataset/wav/tx_emulate_01_013_0002_000004.wav\ntx_emotion_00202000395 dataset/wav/tx_emotion_00202000395.wav\ntx_emotion_00305000183 dataset/wav/tx_emotion_00305000183.wav\ntx_emotion_00209000346 dataset/wav/tx_emotion_00209000346.wav\ntx_xiao_0100106000111 dataset/wav/tx_xiao_0100106000111.wav\ntx_emotion_00209000005 dataset/wav/tx_emotion_00209000005.wav\ntx_emulate_00_109_0004_000071 dataset/wav/tx_emulate_00_109_0004_000071.wav\ntx_emotion_00303000080 dataset/wav/tx_emotion_00303000080.wav\ntx_emulate_00_114_0003_000026 dataset/wav/tx_emulate_00_114_0003_000026.wav\ntx_emulate_01_209_0001_000021 dataset/wav/tx_emulate_01_209_0001_000021.wav\ntx_emotion_00302000470 dataset/wav/tx_emotion_00302000470.wav\ntx_emotion_00309000172 dataset/wav/tx_emotion_00309000172.wav\ntx_emulate_00_129_0004_000057 dataset/wav/tx_emulate_00_129_0004_000057.wav\ntx_emotion_00306000101 dataset/wav/tx_emotion_00306000101.wav\ntx_xiao_0200106000526 dataset/wav/tx_xiao_0200106000526.wav\ntx_emulate_00_108_0001_000008 dataset/wav/tx_emulate_00_108_0001_000008.wav\ntx_emotion_00409000323 dataset/wav/tx_emotion_00409000323.wav\ntx_emotion_00400000259 dataset/wav/tx_emotion_00400000259.wav\ntx_emulate_01_014_0016_000086 dataset/wav/tx_emulate_01_014_0016_000086.wav\ntx_emulate_00_117_0002_000013 dataset/wav/tx_emulate_00_117_0002_000013.wav\ntx_emulate_00_112_0002_000016 dataset/wav/tx_emulate_00_112_0002_000016.wav\ntx_emulate_02_258_0002_000011 dataset/wav/tx_emulate_02_258_0002_000011.wav\ntx_emulate_00_129_0005_000029 dataset/wav/tx_emulate_00_129_0005_000029.wav\ntx_emulate_02_057_0010_000047 dataset/wav/tx_emulate_02_057_0010_000047.wav\ntx_emulate_01_210_0009_000010 dataset/wav/tx_emulate_01_210_0009_000010.wav\ntx_emulate_02_045_0002_000003 dataset/wav/tx_emulate_02_045_0002_000003.wav\ntx_xiao_0100106000316 dataset/wav/tx_xiao_0100106000316.wav\ntx_emulate_01_007_0008_000034 dataset/wav/tx_emulate_01_007_0008_000034.wav\ntx_xiao_0100105000468 dataset/wav/tx_xiao_0100105000468.wav\ntx_emulate_00_109_0004_000042 dataset/wav/tx_emulate_00_109_0004_000042.wav\ntx_xiao_0100104000190 dataset/wav/tx_xiao_0100104000190.wav\ntx_emotion_00305000009 dataset/wav/tx_emotion_00305000009.wav\ntx_emotion_00206000167 dataset/wav/tx_emotion_00206000167.wav\ntx_emulate_02_006_0002_000017 dataset/wav/tx_emulate_02_006_0002_000017.wav\ntx_emotion_00206000240 dataset/wav/tx_emotion_00206000240.wav\ntx_emulate_02_046_0022_000084 dataset/wav/tx_emulate_02_046_0022_000084.wav\ntx_emotion_00409000007 dataset/wav/tx_emotion_00409000007.wav\ntx_emulate_02_260_0001_000039 dataset/wav/tx_emulate_02_260_0001_000039.wav\ntx_emulate_02_245_0002_000019 dataset/wav/tx_emulate_02_245_0002_000019.wav\ntx_emulate_01_034_0005_000040 dataset/wav/tx_emulate_01_034_0005_000040.wav\ntx_emulate_00_130_0001_000057 dataset/wav/tx_emulate_00_130_0001_000057.wav\ntx_xiao_0100107000369 dataset/wav/tx_xiao_0100107000369.wav\ntx_xiao_0200106000574 dataset/wav/tx_xiao_0200106000574.wav\ntx_emulate_02_056_0005_000027 dataset/wav/tx_emulate_02_056_0005_000027.wav\ntx_emotion_00306000261 dataset/wav/tx_emotion_00306000261.wav\ntx_xiao_0100106000332 dataset/wav/tx_xiao_0100106000332.wav\ntx_emulate_02_045_0001_000001 dataset/wav/tx_emulate_02_045_0001_000001.wav\ntx_emulate_02_257_0002_000038 dataset/wav/tx_emulate_02_257_0002_000038.wav\ntx_emulate_00_109_0005_000085 dataset/wav/tx_emulate_00_109_0005_000085.wav\ntx_xiao_0100106000020 dataset/wav/tx_xiao_0100106000020.wav\ntx_emotion_00206000480 dataset/wav/tx_emotion_00206000480.wav\ntx_emulate_01_016_0023_000150 dataset/wav/tx_emulate_01_016_0023_000150.wav\ntx_emulate_01_005_0005_000022 dataset/wav/tx_emulate_01_005_0005_000022.wav\ntx_xiao_0200104000848 dataset/wav/tx_xiao_0200104000848.wav\ntx_emotion_00206000061 dataset/wav/tx_emotion_00206000061.wav\ntx_emulate_01_011_0011_000059 dataset/wav/tx_emulate_01_011_0011_000059.wav\ntx_emotion_00400000196 dataset/wav/tx_emotion_00400000196.wav\ntx_xiao_0100106000103 dataset/wav/tx_xiao_0100106000103.wav\ntx_emotion_00409000119 dataset/wav/tx_emotion_00409000119.wav\ntx_emotion_00204000494 dataset/wav/tx_emotion_00204000494.wav\ntx_emulate_01_011_0005_000017 dataset/wav/tx_emulate_01_011_0005_000017.wav\ntx_xiao_0100106000317 dataset/wav/tx_xiao_0100106000317.wav\ntx_emulate_01_033_0006_000075 dataset/wav/tx_emulate_01_033_0006_000075.wav\ntx_emulate_02_039_0002_000034 dataset/wav/tx_emulate_02_039_0002_000034.wav\ntx_emulate_01_002_0007_000012 dataset/wav/tx_emulate_01_002_0007_000012.wav\ntx_emulate_00_108_0001_000079 dataset/wav/tx_emulate_00_108_0001_000079.wav\ntx_emulate_01_010_0012_000085 dataset/wav/tx_emulate_01_010_0012_000085.wav\ntx_xiao_0100105000158 dataset/wav/tx_xiao_0100105000158.wav\ntx_emulate_00_131_0005_000061 dataset/wav/tx_emulate_00_131_0005_000061.wav\ntx_emulate_02_259_0003_000006 dataset/wav/tx_emulate_02_259_0003_000006.wav\ntx_xiao_0200106000563 dataset/wav/tx_xiao_0200106000563.wav\ntx_xiao_0100105000277 dataset/wav/tx_xiao_0100105000277.wav\ntx_emotion_00409000228 dataset/wav/tx_emotion_00409000228.wav\ntx_emotion_00202000436 dataset/wav/tx_emotion_00202000436.wav\ntx_emulate_00_114_0001_000001 dataset/wav/tx_emulate_00_114_0001_000001.wav\ntx_emulate_02_042_0004_000065 dataset/wav/tx_emulate_02_042_0004_000065.wav\ntx_emulate_01_013_0007_000032 dataset/wav/tx_emulate_01_013_0007_000032.wav\ntx_xiao_0100104000295 dataset/wav/tx_xiao_0100104000295.wav\ntx_emulate_02_006_0009_000056 dataset/wav/tx_emulate_02_006_0009_000056.wav\ntx_xiao_0100104000354 dataset/wav/tx_xiao_0100104000354.wav\ntx_emotion_00309000167 dataset/wav/tx_emotion_00309000167.wav\ntx_emotion_00401000087 dataset/wav/tx_emotion_00401000087.wav\ntx_emulate_01_011_0009_000047 dataset/wav/tx_emulate_01_011_0009_000047.wav\ntx_emulate_00_110_0002_000038 dataset/wav/tx_emulate_00_110_0002_000038.wav\ntx_emulate_01_202_0001_000005 dataset/wav/tx_emulate_01_202_0001_000005.wav\ntx_emotion_00206000337 dataset/wav/tx_emotion_00206000337.wav\ntx_xiao_0200106000584 dataset/wav/tx_xiao_0200106000584.wav\ntx_emulate_01_022_0022_000108 dataset/wav/tx_emulate_01_022_0022_000108.wav\ntx_emulate_01_016_0007_000035 dataset/wav/tx_emulate_01_016_0007_000035.wav\ntx_emulate_02_002_0016_000058 dataset/wav/tx_emulate_02_002_0016_000058.wav\ntx_emotion_00205000127 dataset/wav/tx_emotion_00205000127.wav\ntx_emulate_01_016_0008_000037 dataset/wav/tx_emulate_01_016_0008_000037.wav\ntx_emulate_01_023_0014_000081 dataset/wav/tx_emulate_01_023_0014_000081.wav\ntx_emotion_00409000441 dataset/wav/tx_emotion_00409000441.wav\ntx_emotion_00400000026 dataset/wav/tx_emotion_00400000026.wav\ntx_emulate_02_004_0004_000018 dataset/wav/tx_emulate_02_004_0004_000018.wav\ntx_xiao_0100106000278 dataset/wav/tx_xiao_0100106000278.wav\ntx_emulate_00_123_0009_000012 dataset/wav/tx_emulate_00_123_0009_000012.wav\ntx_emulate_02_265_0002_000026 dataset/wav/tx_emulate_02_265_0002_000026.wav\ntx_emotion_00309000269 dataset/wav/tx_emotion_00309000269.wav\ntx_emulate_02_239_0002_000056 dataset/wav/tx_emulate_02_239_0002_000056.wav\ntx_emulate_00_159_0001_000006 dataset/wav/tx_emulate_00_159_0001_000006.wav\ntx_emotion_00209000060 dataset/wav/tx_emotion_00209000060.wav\ntx_emotion_00306000202 dataset/wav/tx_emotion_00306000202.wav\ntx_emulate_01_032_0018_000042 dataset/wav/tx_emulate_01_032_0018_000042.wav\ntx_emotion_00306000098 dataset/wav/tx_emotion_00306000098.wav\ntx_emulate_01_008_0017_000077 dataset/wav/tx_emulate_01_008_0017_000077.wav\ntx_emulate_02_008_0020_000108 dataset/wav/tx_emulate_02_008_0020_000108.wav\ntx_emulate_00_114_0002_000030 dataset/wav/tx_emulate_00_114_0002_000030.wav\ntx_xiao_0100106000182 dataset/wav/tx_xiao_0100106000182.wav\ntx_emulate_02_042_0001_000128 dataset/wav/tx_emulate_02_042_0001_000128.wav\ntx_emulate_00_162_0002_000075 dataset/wav/tx_emulate_00_162_0002_000075.wav\ntx_emotion_00305000280 dataset/wav/tx_emotion_00305000280.wav\ntx_emulate_01_016_0016_000067 dataset/wav/tx_emulate_01_016_0016_000067.wav\ntx_emulate_00_113_0002_000003 dataset/wav/tx_emulate_00_113_0002_000003.wav\ntx_emulate_00_126_0001_000039 dataset/wav/tx_emulate_00_126_0001_000039.wav\ntx_emulate_00_133_0005_000062 dataset/wav/tx_emulate_00_133_0005_000062.wav\ntx_emulate_00_120_0002_000071 dataset/wav/tx_emulate_00_120_0002_000071.wav\ntx_emotion_00202000047 dataset/wav/tx_emotion_00202000047.wav\ntx_emulate_01_016_0003_000006 dataset/wav/tx_emulate_01_016_0003_000006.wav\ntx_emulate_00_137_0003_000082 dataset/wav/tx_emulate_00_137_0003_000082.wav\ntx_emulate_01_013_0007_000025 dataset/wav/tx_emulate_01_013_0007_000025.wav\ntx_emulate_02_261_0005_000089 dataset/wav/tx_emulate_02_261_0005_000089.wav\ntx_emotion_00302000224 dataset/wav/tx_emotion_00302000224.wav\ntx_emulate_01_007_0024_000091 dataset/wav/tx_emulate_01_007_0024_000091.wav\ntx_xiao_0100106000099 dataset/wav/tx_xiao_0100106000099.wav\ntx_emulate_00_118_0005_000032 dataset/wav/tx_emulate_00_118_0005_000032.wav\ntx_emulate_02_229_0001_000044 dataset/wav/tx_emulate_02_229_0001_000044.wav\ntx_emotion_00204000426 dataset/wav/tx_emotion_00204000426.wav\ntx_xiao_0100104000205 dataset/wav/tx_xiao_0100104000205.wav\ntx_emotion_00305000383 dataset/wav/tx_emotion_00305000383.wav\ntx_emotion_00302000216 dataset/wav/tx_emotion_00302000216.wav\ntx_emulate_02_238_0002_000034 dataset/wav/tx_emulate_02_238_0002_000034.wav\ntx_emotion_00400000378 dataset/wav/tx_emotion_00400000378.wav\ntx_emulate_00_125_0002_000049 dataset/wav/tx_emulate_00_125_0002_000049.wav\ntx_xiao_0200101000952 dataset/wav/tx_xiao_0200101000952.wav\ntx_xiao_0200104000718 dataset/wav/tx_xiao_0200104000718.wav\ntx_emotion_00206000380 dataset/wav/tx_emotion_00206000380.wav\ntx_emulate_01_199_0001_000022 dataset/wav/tx_emulate_01_199_0001_000022.wav\ntx_xiao_0200105000715 dataset/wav/tx_xiao_0200105000715.wav\ntx_emulate_02_051_0001_000002 dataset/wav/tx_emulate_02_051_0001_000002.wav\ntx_emulate_01_203_0001_000002 dataset/wav/tx_emulate_01_203_0001_000002.wav\ntx_emulate_00_158_0002_000049 dataset/wav/tx_emulate_00_158_0002_000049.wav\ntx_emotion_00401000297 dataset/wav/tx_emotion_00401000297.wav\ntx_xiao_0100104000428 dataset/wav/tx_xiao_0100104000428.wav\ntx_emulate_00_119_0001_000034 dataset/wav/tx_emulate_00_119_0001_000034.wav\ntx_emulate_01_200_0002_000001 dataset/wav/tx_emulate_01_200_0002_000001.wav\ntx_emotion_00301000494 dataset/wav/tx_emotion_00301000494.wav\ntx_emotion_00304000459 dataset/wav/tx_emotion_00304000459.wav\ntx_emulate_00_112_0006_000020 dataset/wav/tx_emulate_00_112_0006_000020.wav\ntx_xiao_0200107001042 dataset/wav/tx_xiao_0200107001042.wav\ntx_emotion_00201000467 dataset/wav/tx_emotion_00201000467.wav\ntx_emotion_00401000440 dataset/wav/tx_emotion_00401000440.wav\ntx_emulate_01_196_0004_000027 dataset/wav/tx_emulate_01_196_0004_000027.wav\ntx_emulate_02_245_0001_000034 dataset/wav/tx_emulate_02_245_0001_000034.wav\ntx_emotion_00309000160 dataset/wav/tx_emotion_00309000160.wav\ntx_emotion_00205000198 dataset/wav/tx_emotion_00205000198.wav\ntx_emulate_02_052_0016_000106 dataset/wav/tx_emulate_02_052_0016_000106.wav\ntx_emotion_00301000019 dataset/wav/tx_emotion_00301000019.wav\ntx_emulate_00_104_0001_000113 dataset/wav/tx_emulate_00_104_0001_000113.wav\ntx_emotion_00405000329 dataset/wav/tx_emotion_00405000329.wav\ntx_emotion_00201000340 dataset/wav/tx_emotion_00201000340.wav\ntx_emulate_00_102_0004_000088 dataset/wav/tx_emulate_00_102_0004_000088.wav\ntx_emulate_01_028_0008_000035 dataset/wav/tx_emulate_01_028_0008_000035.wav\ntx_xiao_0200107000662 dataset/wav/tx_xiao_0200107000662.wav\ntx_emotion_00201000107 dataset/wav/tx_emotion_00201000107.wav\ntx_emotion_00208000327 dataset/wav/tx_emotion_00208000327.wav\ntx_emotion_00210000249 dataset/wav/tx_emotion_00210000249.wav\ntx_emotion_00409000470 dataset/wav/tx_emotion_00409000470.wav\ntx_emotion_00210000049 dataset/wav/tx_emotion_00210000049.wav\ntx_emotion_00304000235 dataset/wav/tx_emotion_00304000235.wav\ntx_emulate_01_219_0002_000027 dataset/wav/tx_emulate_01_219_0002_000027.wav\ntx_xiao_0200107000704 dataset/wav/tx_xiao_0200107000704.wav\ntx_emotion_00401000174 dataset/wav/tx_emotion_00401000174.wav\ntx_xiao_0100107000431 dataset/wav/tx_xiao_0100107000431.wav\ntx_emotion_00409000462 dataset/wav/tx_emotion_00409000462.wav\ntx_emotion_00209000215 dataset/wav/tx_emotion_00209000215.wav\ntx_emotion_00210000124 dataset/wav/tx_emotion_00210000124.wav\ntx_emulate_02_045_0015_000057 dataset/wav/tx_emulate_02_045_0015_000057.wav\ntx_emulate_01_022_0022_000111 dataset/wav/tx_emulate_01_022_0022_000111.wav\ntx_emulate_01_012_0023_000084 dataset/wav/tx_emulate_01_012_0023_000084.wav\ntx_emulate_01_014_0004_000016 dataset/wav/tx_emulate_01_014_0004_000016.wav\ntx_emulate_00_117_0005_000059 dataset/wav/tx_emulate_00_117_0005_000059.wav\ntx_emotion_00402000299 dataset/wav/tx_emotion_00402000299.wav\ntx_emotion_00205000105 dataset/wav/tx_emotion_00205000105.wav\ntx_emotion_00401000239 dataset/wav/tx_emotion_00401000239.wav\ntx_emulate_01_020_0017_000067 dataset/wav/tx_emulate_01_020_0017_000067.wav\ntx_emotion_00208000087 dataset/wav/tx_emotion_00208000087.wav\ntx_emotion_00205000119 dataset/wav/tx_emotion_00205000119.wav\ntx_emotion_00401000281 dataset/wav/tx_emotion_00401000281.wav\ntx_emotion_00304000079 dataset/wav/tx_emotion_00304000079.wav\ntx_emulate_01_024_0010_000114 dataset/wav/tx_emulate_01_024_0010_000114.wav\ntx_emulate_02_245_0002_000035 dataset/wav/tx_emulate_02_245_0002_000035.wav\ntx_emulate_02_242_0002_000072 dataset/wav/tx_emulate_02_242_0002_000072.wav\ntx_emulate_02_007_0024_000112 dataset/wav/tx_emulate_02_007_0024_000112.wav\ntx_emulate_02_006_0019_000090 dataset/wav/tx_emulate_02_006_0019_000090.wav\ntx_emulate_02_260_0002_000105 dataset/wav/tx_emulate_02_260_0002_000105.wav\ntx_emulate_00_135_0004_000015 dataset/wav/tx_emulate_00_135_0004_000015.wav\ntx_xiao_0100106000116 dataset/wav/tx_xiao_0100106000116.wav\ntx_emotion_00207000113 dataset/wav/tx_emotion_00207000113.wav\ntx_emulate_02_008_0011_000058 dataset/wav/tx_emulate_02_008_0011_000058.wav\ntx_emotion_00208000303 dataset/wav/tx_emotion_00208000303.wav\ntx_emulate_01_001_0018_000065 dataset/wav/tx_emulate_01_001_0018_000065.wav\ntx_emulate_00_144_0005_000014 dataset/wav/tx_emulate_00_144_0005_000014.wav\ntx_emulate_02_005_0005_000018 dataset/wav/tx_emulate_02_005_0005_000018.wav\ntx_emulate_00_115_0009_000024 dataset/wav/tx_emulate_00_115_0009_000024.wav\ntx_emotion_00207000080 dataset/wav/tx_emotion_00207000080.wav\ntx_xiao_0100107000103 dataset/wav/tx_xiao_0100107000103.wav\ntx_xiao_0200107000978 dataset/wav/tx_xiao_0200107000978.wav\ntx_emotion_00301000203 dataset/wav/tx_emotion_00301000203.wav\ntx_emotion_00210000272 dataset/wav/tx_emotion_00210000272.wav\ntx_xiao_0100104000111 dataset/wav/tx_xiao_0100104000111.wav\ntx_emulate_00_153_0001_000033 dataset/wav/tx_emulate_00_153_0001_000033.wav\ntx_xiao_0100101000439 dataset/wav/tx_xiao_0100101000439.wav\ntx_emotion_00402000480 dataset/wav/tx_emotion_00402000480.wav\ntx_emotion_00208000390 dataset/wav/tx_emotion_00208000390.wav\ntx_xiao_0200104000527 dataset/wav/tx_xiao_0200104000527.wav\ntx_xiao_0100107000310 dataset/wav/tx_xiao_0100107000310.wav\ntx_emotion_00401000242 dataset/wav/tx_emotion_00401000242.wav\ntx_emotion_00305000164 dataset/wav/tx_emotion_00305000164.wav\ntx_emotion_00401000327 dataset/wav/tx_emotion_00401000327.wav\ntx_emulate_01_024_0013_000139 dataset/wav/tx_emulate_01_024_0013_000139.wav\ntx_emulate_00_158_0002_000007 dataset/wav/tx_emulate_00_158_0002_000007.wav\ntx_emulate_01_206_0004_000007 dataset/wav/tx_emulate_01_206_0004_000007.wav\ntx_emotion_00207000252 dataset/wav/tx_emotion_00207000252.wav\ntx_xiao_0100105000112 dataset/wav/tx_xiao_0100105000112.wav\ntx_emotion_00204000391 dataset/wav/tx_emotion_00204000391.wav\ntx_xiao_0200107000936 dataset/wav/tx_xiao_0200107000936.wav\ntx_emulate_01_002_0017_000057 dataset/wav/tx_emulate_01_002_0017_000057.wav\ntx_emulate_02_265_0001_000066 dataset/wav/tx_emulate_02_265_0001_000066.wav\ntx_emulate_01_196_0001_000024 dataset/wav/tx_emulate_01_196_0001_000024.wav\ntx_xiao_0200101000712 dataset/wav/tx_xiao_0200101000712.wav\ntx_emulate_02_052_0011_000081 dataset/wav/tx_emulate_02_052_0011_000081.wav\ntx_emulate_01_024_0009_000083 dataset/wav/tx_emulate_01_024_0009_000083.wav\ntx_emotion_00301000052 dataset/wav/tx_emotion_00301000052.wav\ntx_xiao_0200104000887 dataset/wav/tx_xiao_0200104000887.wav\ntx_emulate_02_257_0001_000008 dataset/wav/tx_emulate_02_257_0001_000008.wav\ntx_xiao_0100101000302 dataset/wav/tx_xiao_0100101000302.wav\ntx_emulate_02_227_0002_000019 dataset/wav/tx_emulate_02_227_0002_000019.wav\ntx_emotion_00201000015 dataset/wav/tx_emotion_00201000015.wav\ntx_emotion_00208000257 dataset/wav/tx_emotion_00208000257.wav\ntx_emulate_01_028_0009_000046 dataset/wav/tx_emulate_01_028_0009_000046.wav\ntx_emotion_00305000014 dataset/wav/tx_emotion_00305000014.wav\ntx_xiao_0200103000008 dataset/wav/tx_xiao_0200103000008.wav\ntx_xiao_0200105000643 dataset/wav/tx_xiao_0200105000643.wav\ntx_emotion_00301000461 dataset/wav/tx_emotion_00301000461.wav\ntx_emulate_01_191_0005_000043 dataset/wav/tx_emulate_01_191_0005_000043.wav\ntx_emulate_00_171_0006_000036 dataset/wav/tx_emulate_00_171_0006_000036.wav\ntx_emulate_02_001_0015_000048 dataset/wav/tx_emulate_02_001_0015_000048.wav\ntx_emulate_02_002_0018_000067 dataset/wav/tx_emulate_02_002_0018_000067.wav\ntx_xiao_0100104000143 dataset/wav/tx_xiao_0100104000143.wav\ntx_emulate_02_057_0034_000160 dataset/wav/tx_emulate_02_057_0034_000160.wav\ntx_emulate_01_014_0005_000035 dataset/wav/tx_emulate_01_014_0005_000035.wav\ntx_xiao_0100104000019 dataset/wav/tx_xiao_0100104000019.wav\ntx_emotion_00305000283 dataset/wav/tx_emotion_00305000283.wav\ntx_emotion_00302000356 dataset/wav/tx_emotion_00302000356.wav\ntx_xiao_0100101000330 dataset/wav/tx_xiao_0100101000330.wav\ntx_emulate_00_115_0005_000035 dataset/wav/tx_emulate_00_115_0005_000035.wav\ntx_emulate_02_007_0010_000050 dataset/wav/tx_emulate_02_007_0010_000050.wav\ntx_emulate_01_203_0008_000028 dataset/wav/tx_emulate_01_203_0008_000028.wav\ntx_emotion_00201000148 dataset/wav/tx_emotion_00201000148.wav\ntx_emulate_02_265_0006_000056 dataset/wav/tx_emulate_02_265_0006_000056.wav\ntx_emotion_00401000213 dataset/wav/tx_emotion_00401000213.wav\ntx_emulate_02_003_0023_000078 dataset/wav/tx_emulate_02_003_0023_000078.wav\ntx_emotion_00205000069 dataset/wav/tx_emotion_00205000069.wav\ntx_emotion_00401000339 dataset/wav/tx_emotion_00401000339.wav\ntx_emulate_02_265_0002_000087 dataset/wav/tx_emulate_02_265_0002_000087.wav\ntx_emulate_01_192_0003_000046 dataset/wav/tx_emulate_01_192_0003_000046.wav\ntx_emotion_00301000036 dataset/wav/tx_emotion_00301000036.wav\ntx_emulate_01_206_0005_000031 dataset/wav/tx_emulate_01_206_0005_000031.wav\ntx_emulate_00_158_0003_000068 dataset/wav/tx_emulate_00_158_0003_000068.wav\ntx_xiao_0200105000606 dataset/wav/tx_xiao_0200105000606.wav\ntx_emotion_00204000458 dataset/wav/tx_emotion_00204000458.wav\ntx_emulate_02_006_0019_000078 dataset/wav/tx_emulate_02_006_0019_000078.wav\ntx_emotion_00301000457 dataset/wav/tx_emotion_00301000457.wav\ntx_emulate_02_006_0009_000053 dataset/wav/tx_emulate_02_006_0009_000053.wav\ntx_emulate_01_012_0004_000021 dataset/wav/tx_emulate_01_012_0004_000021.wav\ntx_emotion_00304000169 dataset/wav/tx_emotion_00304000169.wav\ntx_emotion_00205000110 dataset/wav/tx_emotion_00205000110.wav\ntx_emulate_02_055_0004_000004 dataset/wav/tx_emulate_02_055_0004_000004.wav\ntx_emulate_01_011_0013_000073 dataset/wav/tx_emulate_01_011_0013_000073.wav\ntx_emulate_02_254_0005_000110 dataset/wav/tx_emulate_02_254_0005_000110.wav\ntx_emotion_00302000054 dataset/wav/tx_emotion_00302000054.wav\ntx_emotion_00402000283 dataset/wav/tx_emotion_00402000283.wav\ntx_emulate_01_008_0011_000050 dataset/wav/tx_emulate_01_008_0011_000050.wav\ntx_emulate_01_007_0006_000025 dataset/wav/tx_emulate_01_007_0006_000025.wav\ntx_emulate_01_202_0001_000036 dataset/wav/tx_emulate_01_202_0001_000036.wav\ntx_emulate_02_222_0001_000017 dataset/wav/tx_emulate_02_222_0001_000017.wav\ntx_emulate_01_011_0010_000050 dataset/wav/tx_emulate_01_011_0010_000050.wav\ntx_emotion_00202000118 dataset/wav/tx_emotion_00202000118.wav\ntx_emulate_01_024_0012_000117 dataset/wav/tx_emulate_01_024_0012_000117.wav\ntx_emulate_00_118_0002_000022 dataset/wav/tx_emulate_00_118_0002_000022.wav\ntx_xiao_0100101000076 dataset/wav/tx_xiao_0100101000076.wav\ntx_emotion_00305000119 dataset/wav/tx_emotion_00305000119.wav\ntx_emulate_01_028_0009_000054 dataset/wav/tx_emulate_01_028_0009_000054.wav\ntx_emotion_00207000162 dataset/wav/tx_emotion_00207000162.wav\ntx_emulate_00_125_0001_000067 dataset/wav/tx_emulate_00_125_0001_000067.wav\ntx_emulate_02_233_0001_000034 dataset/wav/tx_emulate_02_233_0001_000034.wav\ntx_emulate_02_055_0033_000122 dataset/wav/tx_emulate_02_055_0033_000122.wav\ntx_emulate_01_031_0020_000073 dataset/wav/tx_emulate_01_031_0020_000073.wav\ntx_emulate_02_041_0002_000076 dataset/wav/tx_emulate_02_041_0002_000076.wav\ntx_emulate_02_007_0006_000025 dataset/wav/tx_emulate_02_007_0006_000025.wav\ntx_emotion_00207000211 dataset/wav/tx_emotion_00207000211.wav\ntx_emulate_01_022_0009_000026 dataset/wav/tx_emulate_01_022_0009_000026.wav\ntx_emotion_00201000209 dataset/wav/tx_emotion_00201000209.wav\ntx_emulate_02_255_0001_000027 dataset/wav/tx_emulate_02_255_0001_000027.wav\ntx_emotion_00201000220 dataset/wav/tx_emotion_00201000220.wav\ntx_xiao_0200105000529 dataset/wav/tx_xiao_0200105000529.wav\ntx_emotion_00207000018 dataset/wav/tx_emotion_00207000018.wav\ntx_emulate_01_002_0005_000008 dataset/wav/tx_emulate_01_002_0005_000008.wav\ntx_emulate_02_042_0002_000072 dataset/wav/tx_emulate_02_042_0002_000072.wav\ntx_emotion_00304000049 dataset/wav/tx_emotion_00304000049.wav\ntx_xiao_0100104000141 dataset/wav/tx_xiao_0100104000141.wav\ntx_xiao_0100107000421 dataset/wav/tx_xiao_0100107000421.wav\ntx_emotion_00210000476 dataset/wav/tx_emotion_00210000476.wav\ntx_emulate_01_023_0006_000042 dataset/wav/tx_emulate_01_023_0006_000042.wav\ntx_xiao_0200104000609 dataset/wav/tx_xiao_0200104000609.wav\ntx_emotion_00201000274 dataset/wav/tx_emotion_00201000274.wav\ntx_xiao_0200107000972 dataset/wav/tx_xiao_0200107000972.wav\ntx_emulate_00_109_0005_000091 dataset/wav/tx_emulate_00_109_0005_000091.wav\ntx_emotion_00202000301 dataset/wav/tx_emotion_00202000301.wav\ntx_emulate_02_231_0008_000034 dataset/wav/tx_emulate_02_231_0008_000034.wav\ntx_xiao_0100104000064 dataset/wav/tx_xiao_0100104000064.wav\ntx_xiao_0200101000731 dataset/wav/tx_xiao_0200101000731.wav\ntx_emulate_01_196_0003_000051 dataset/wav/tx_emulate_01_196_0003_000051.wav\ntx_emotion_00210000453 dataset/wav/tx_emotion_00210000453.wav\ntx_emulate_00_111_0001_000023 dataset/wav/tx_emulate_00_111_0001_000023.wav\ntx_emotion_00201000323 dataset/wav/tx_emotion_00201000323.wav\ntx_emulate_02_039_0003_000072 dataset/wav/tx_emulate_02_039_0003_000072.wav\ntx_xiao_0100107000449 dataset/wav/tx_xiao_0100107000449.wav\ntx_emulate_02_006_0020_000097 dataset/wav/tx_emulate_02_006_0020_000097.wav\ntx_emulate_01_026_0005_000031 dataset/wav/tx_emulate_01_026_0005_000031.wav\ntx_emotion_00205000062 dataset/wav/tx_emotion_00205000062.wav\ntx_emotion_00405000239 dataset/wav/tx_emotion_00405000239.wav\ntx_emotion_00202000425 dataset/wav/tx_emotion_00202000425.wav\ntx_xiao_0200106000737 dataset/wav/tx_xiao_0200106000737.wav\ntx_emulate_01_029_0013_000037 dataset/wav/tx_emulate_01_029_0013_000037.wav\ntx_emulate_02_242_0002_000069 dataset/wav/tx_emulate_02_242_0002_000069.wav\ntx_xiao_0100101000408 dataset/wav/tx_xiao_0100101000408.wav\ntx_emulate_02_042_0002_000101 dataset/wav/tx_emulate_02_042_0002_000101.wav\n"
  },
  {
    "path": "environment.yml",
    "content": "name: secap\nchannels:\n  - defaults\ndependencies:\n  - _libgcc_mutex=0.1=main\n  - _openmp_mutex=5.1=1_gnu\n  - appdirs=1.4.4=pyhd3eb1b0_0\n  - asttokens=2.0.5=pyhd3eb1b0_0\n  - backcall=0.2.0=pyhd3eb1b0_0\n  - blas=1.0=openblas\n  - boltons=23.0.0=py310h06a4308_0\n  - brotlipy=0.7.0=py310h7f8727e_1002\n  - bzip2=1.0.8=h7b6447c_0\n  - ca-certificates=2023.01.10=h06a4308_0\n  - certifi=2022.12.7=py310h06a4308_0\n  - cffi=1.15.1=py310h5eee18b_3\n  - charset-normalizer=2.0.4=pyhd3eb1b0_0\n  - conda=23.3.1=py310h06a4308_0\n  - conda-content-trust=0.1.3=py310h06a4308_0\n  - conda-package-handling=2.0.2=py310h06a4308_0\n  - conda-package-streaming=0.7.0=py310h06a4308_0\n  - cryptography=38.0.4=py310h9ce1e76_0\n  - decorator=5.1.1=pyhd3eb1b0_0\n  - executing=0.8.3=pyhd3eb1b0_0\n  - idna=3.4=py310h06a4308_0\n  - intel-openmp=2023.0.0=h9e868ea_25371\n  - ipython=8.10.0=py310h06a4308_0\n  - jedi=0.18.1=py310h06a4308_1\n  - jsonpatch=1.32=pyhd3eb1b0_0\n  - jsonpointer=2.1=pyhd3eb1b0_0\n  - ld_impl_linux-64=2.38=h1181459_1\n  - libffi=3.4.2=h6a678d5_6\n  - libgcc-ng=11.2.0=h1234567_1\n  - libgfortran-ng=11.2.0=h00389a5_1\n  - libgfortran5=11.2.0=h1234567_1\n  - libgomp=11.2.0=h1234567_1\n  - libopenblas=0.3.21=h043d6bf_0\n  - libstdcxx-ng=11.2.0=h1234567_1\n  - libuuid=1.41.5=h5eee18b_0\n  - matplotlib-inline=0.1.6=py310h06a4308_0\n  - mkl=2023.0.0=h6d00ec8_25399\n  - mkl-include=2023.0.0=h06a4308_25399\n  - ncurses=6.4=h6a678d5_0\n  - ninja-base=1.10.2=hd09550d_5\n  - numpy=1.23.5=py310hac523dd_0\n  - numpy-base=1.23.5=py310h375b286_0\n  - openssl=1.1.1t=h7f8727e_0\n  - packaging=23.0=py310h06a4308_0\n  - parso=0.8.3=pyhd3eb1b0_0\n  - pexpect=4.8.0=pyhd3eb1b0_3\n  - pickleshare=0.7.5=pyhd3eb1b0_1003\n  - pip=22.3.1=py310h06a4308_0\n  - pluggy=1.0.0=py310h06a4308_1\n  - pooch=1.4.0=pyhd3eb1b0_0\n  - prompt-toolkit=3.0.36=py310h06a4308_0\n  - ptyprocess=0.7.0=pyhd3eb1b0_2\n  - pure_eval=0.2.2=pyhd3eb1b0_0\n  - pycosat=0.6.4=py310h5eee18b_0\n  - pycparser=2.21=pyhd3eb1b0_0\n  - pyopenssl=22.0.0=pyhd3eb1b0_0\n  - pysocks=1.7.1=py310h06a4308_0\n  - python=3.10.9=h7a1cb2a_2\n  - pyyaml=6.0=py310h5eee18b_1\n  - readline=8.2=h5eee18b_0\n  - requests=2.28.1=py310h06a4308_0\n  - ruamel.yaml=0.17.21=py310h5eee18b_0\n  - ruamel.yaml.clib=0.2.6=py310h5eee18b_1\n  - scipy=1.10.0=py310heeff2f4_1\n  - setuptools=65.6.3=py310h06a4308_0\n  - six=1.16.0=pyhd3eb1b0_1\n  - sqlite=3.40.1=h5082296_0\n  - stack_data=0.2.0=pyhd3eb1b0_0\n  - tbb=2021.8.0=hdb19cb5_0\n  - tk=8.6.12=h1ccaba5_0\n  - toolz=0.12.0=py310h06a4308_0\n  - tqdm=4.64.1=py310h06a4308_0\n  - traitlets=5.7.1=py310h06a4308_0\n  - typing=3.10.0.0=py310h06a4308_0\n  - urllib3=1.26.14=py310h06a4308_0\n  - wcwidth=0.2.5=pyhd3eb1b0_0\n  - wheel=0.37.1=pyhd3eb1b0_0\n  - xz=5.2.10=h5eee18b_1\n  - yaml=0.2.5=h7b6447c_0\n  - zlib=1.2.13=h5eee18b_0\n  - zstandard=0.18.0=py310h5eee18b_0\n  - pip:\n      - absl-py==1.4.0\n      - accelerate==0.19.0\n      - accelerator==2023.3.10.dev1\n      - aiohttp==3.8.4\n      - aiosignal==1.3.1\n      - alfred-py==3.0.7\n      - anyio==3.6.2\n      - arrow==1.2.3\n      - async-timeout==4.0.2\n      - attrs==23.1.0\n      - audioread==3.0.0\n      - beautifulsoup4==4.12.2\n      - blessed==1.20.0\n      - bottle==0.12.25\n      - cachetools==5.3.0\n      - click==8.1.3\n      - cmake==3.26.1\n      - contourpy==1.1.0\n      - coverage==7.2.5\n      - croniter==1.3.14\n      - cycler==0.11.0\n      - cython==0.29.34\n      - darr==0.5.4\n      - dateutils==0.6.12\n      - deepdiff==6.3.0\n      - deepspeed==0.8.3\n      - deprecated==1.2.13\n      - diffusers==0.16.1\n      - exceptiongroup==1.1.1\n      - fastapi==0.88.0\n      - filelock==3.10.7\n      - fonttools==4.41.0\n      - frozenlist==1.3.3\n      - fsspec==2023.5.0\n      - ftfy==6.1.1\n      - funcy==2.0\n      - future==0.18.3\n      - gensim==4.3.1\n      - google-auth==2.18.0\n      - google-auth-oauthlib==1.0.0\n      - grpcio==1.54.2\n      - gtrending==0.4.0\n      - h11==0.14.0\n      - hjson==3.1.0\n      - huggingface-hub==0.13.3\n      - importlib-metadata==6.1.0\n      - iniconfig==2.0.0\n      - inquirer==3.1.3\n      - itsdangerous==2.1.2\n      - jieba==0.42.1\n      - jinja2==3.1.2\n      - joblib==1.2.0\n      - jsons==1.6.3\n      - kiwisolver==1.4.4\n      - lark==1.1.5\n      - lazy-loader==0.2\n      - levenshtein==0.21.0\n      - librosa==0.10.0.post2\n      - lightning==2.0.2\n      - lightning-cloud==0.5.36\n      - lightning-utilities==0.8.0\n      - lit==16.0.0\n      - llvmlite==0.40.0\n      - loguru==0.7.0\n      - markdown==3.4.3\n      - markdown-it-py==2.2.0\n      - markupsafe==2.1.2\n      - matplotlib==3.7.2\n      - mdurl==0.1.2\n      - mpmath==1.3.0\n      - msgpack==1.0.5\n      - multidict==6.0.4\n      - natsort==8.3.1\n      - netifaces==0.11.0\n      - networkx==3.0\n      - ninja==1.11.1\n      - nltk==3.8.1\n      - numba==0.57.0\n      - nvidia-cublas-cu11==11.10.3.66\n      - nvidia-cuda-cupti-cu11==11.7.101\n      - nvidia-cuda-nvrtc-cu11==11.7.99\n      - nvidia-cuda-runtime-cu11==11.7.99\n      - nvidia-cudnn-cu11==8.5.0.96\n      - nvidia-cufft-cu11==10.9.0.58\n      - nvidia-curand-cu11==10.2.10.91\n      - nvidia-cusolver-cu11==11.4.0.1\n      - nvidia-cusparse-cu11==11.7.4.91\n      - nvidia-nccl-cu11==2.14.3\n      - nvidia-nvtx-cu11==11.7.91\n      - oauthlib==3.2.2\n      - opencv-python==4.7.0.72\n      - opentracing==2.4.0\n      - ordered-set==4.1.0\n      - pandas==2.0.1\n      - pascal-voc-writer==0.1.4\n      - pillow==9.5.0\n      - portalocker==2.7.0\n      - protobuf==4.23.0\n      - psutil==5.9.4\n      - py-cpuinfo==9.0.0\n      - pyasn1==0.5.0\n      - pyasn1-modules==0.3.0\n      - pydantic==1.10.7\n      - pygments==2.15.1\n      - pyjwt==2.7.0\n      - pyparsing==3.0.9\n      - pyquaternion==0.9.9\n      - pytest==7.3.1\n      - pytest-asyncio==0.21.0\n      - pytest-cov==4.0.0\n      - pytest-mock==3.10.0\n      - python-dateutil==2.8.2\n      - python-editor==1.0.4\n      - python-levenshtein==0.21.0\n      - python-multipart==0.0.6\n      - pytorch-lightning==2.0.2\n      - pytz==2023.3\n      - rapidfuzz==3.0.0\n      - readchar==4.0.5\n      - regex==2023.3.23\n      - requests-oauthlib==1.3.1\n      - rich==13.3.5\n      - rsa==4.9\n      - scikit-learn==1.2.2\n      - sentencepiece==0.1.99\n      - setproctitle==1.3.2\n      - smart-open==6.3.0\n      - sniffio==1.3.0\n      - soundfile==0.12.1\n      - soupsieve==2.4.1\n      - soxr==0.3.5\n      - starlette==0.22.0\n      - starsessions==1.3.0\n      - sympy==1.11.1\n      - tensorboard==2.13.0\n      - tensorboard-data-server==0.7.0\n      - threadpoolctl==3.1.0\n      - timm==0.6.13\n      - tokenizers==0.13.2\n      - tomli==2.0.1\n      - torch==2.0.0\n      - torchaudio==2.0.1\n      - torchlibrosa==0.1.0\n      - torchmetrics==0.11.4\n      - torchvision==0.15.1\n      - transformers==4.29.0\n      - triton==2.0.0\n      - typing-extensions==4.5.0\n      - typish==1.9.3\n      - tzdata==2023.3\n      - uvicorn==0.22.0\n      - uvloop==0.17.0\n      - waitress==2.1.2\n      - websocket-client==1.5.1\n      - websockets==11.0.3\n      - werkzeug==2.3.4\n      - wrapt==1.15.0\n      - xdg==6.0.0\n      - yarl==1.9.2\n      - zipp==3.15.0\nprefix: /opt/conda\n"
  },
  {
    "path": "model2.py",
    "content": "import torch\nimport torch.nn as nn\nimport lightning.pytorch as pl\nfrom module.Qformer import BertConfig, BertLMHeadModel\nfrom transformers import (\n    Wav2Vec2FeatureExtractor,\n    HubertModel,\n    BertTokenizer, \n    BertModel,\n    LlamaTokenizer\n)\nfrom module.modeling_llama import LlamaForCausalLM\nfrom CLUB_modules.mi_estimators import *\nfrom tool.get_sentence_simi import SimiCal\nimport torch.nn.functional as F\nfrom transformers import StoppingCriteria, StoppingCriteriaList\nimport numpy as np\nimport os\n\nclass KeywordsStoppingCriteria(StoppingCriteria):\n    def __init__(self, keywords_ids:list):\n        self.keywords = keywords_ids\n\n    def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:\n        if input_ids[0][-1] in self.keywords:\n            return True\n        return False\n\nclass MotionAudio(pl.LightningModule):\n    def __init__(\n        self,\n        hubert_ckpt=\"weights/models--TencentGameMate--chinese-hubert-large/snapshots/90cb660492214f687e60f5ca509b20edae6e75bd\",\n        text2vec_ckpt=\"weights/models--shibing624--text2vec-base-chinese/snapshots/26420fdf61ddfd92fafbaf3bc21a7c06b1812248\",\n        llama_ckpt=\"weights/models--minlik--chinese-llama-7b-merged/snapshots/1ca4d87576f1fef4d44a949fb65bbe6b96675872\"):\n        super(MotionAudio,self).__init__()\n        \n        #path\n        current_directory = os.path.dirname(os.path.abspath(__file__))\n        hubert_ckpt = os.path.join(current_directory, hubert_ckpt)\n        text2vec_ckpt = os.path.join(current_directory, text2vec_ckpt)\n        llama_ckpt = os.path.join(current_directory, llama_ckpt)\n\n        #hubert\n        self.hubert_model=HubertModel.from_pretrained(hubert_ckpt)\n        self.hubert_feature_extractor=Wav2Vec2FeatureExtractor.from_pretrained(hubert_ckpt)\n        #text2vec\n        self.text2vec_model=BertModel.from_pretrained(text2vec_ckpt)\n        self.text2vec_tokenizer=BertTokenizer.from_pretrained(text2vec_ckpt)\n\n\n        #llama\n        self.llama_model=LlamaForCausalLM.from_pretrained(llama_ckpt, torch_dtype=\"auto\")\n        #self.llama_model = self.llama_model.to(torch.float32)\n        self.llama_tokenizer=LlamaTokenizer.from_pretrained(llama_ckpt)\n        if self.llama_tokenizer.pad_token_id is None:\n            self.llama_tokenizer.pad_token = self.llama_tokenizer.unk_token\n        #self.llama_model.model.resize_token_embeddings(len(self.llama_tokenizer))\n\n        for p in self.parameters():\n            p.requires_grad = False\n        #Qformer\n        self.audio_Qformer,self.audio_query_tokens=self.init_Qformer(num_query_token=32,vision_width=768)\n        self.audio_Qformer.cls = None\n        self.audio_Qformer.bert.embeddings.word_embeddings = None\n        self.audio_Qformer.bert.embeddings.position_embeddings = None\n        for layer in self.audio_Qformer.bert.encoder.layer:\n            layer.output = None\n            layer.intermediate = None\n        \n        self.audio_project=nn.Linear(1024,768)\n\n        self.audio_llama_project=nn.Linear(768,4096)\n\n        \n        \n    def init_Qformer(self,num_query_token, vision_width, cross_attention_freq=2):\n        path=os.path.dirname(os.path.abspath(__file__))\n        config_path=os.path.join(path,\"weights/models--bert-base-chinese/snapshots/8d2a91f91cc38c96bb8b4556ba70c392f8d5ee55\")\n        encoder_config = BertConfig.from_pretrained(config_path)\n        encoder_config.encoder_width = vision_width\n        # insert cross-attention layer every other block\n        encoder_config.add_cross_attention = True\n        encoder_config.cross_attention_freq = cross_attention_freq\n        encoder_config.query_length = num_query_token\n        Qformer = BertLMHeadModel(config=encoder_config)\n        ckpt=os.path.join(path,\"weights/models--bert-base-chinese/snapshots/8d2a91f91cc38c96bb8b4556ba70c392f8d5ee55/pytorch_model.bin\")\n        Qformer.load_state_dict(torch.load(ckpt),strict=False)\n\n        query_tokens = nn.Parameter(\n            torch.zeros(1, num_query_token, encoder_config.hidden_size)\n        )\n        query_tokens.data.normal_(mean=0.0, std=encoder_config.initializer_range)\n        return Qformer, query_tokens\n    def mean_pooling(self,model_output, attention_mask):\n        token_embeddings = model_output[0]  # First element of model_output contains all token embeddings\n        input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()\n        return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)\n    \n\n\n    \n    def forward(self, audio, describtion):\n        #hubert\n        with torch.no_grad():\n            audio_feature=self.hubert_feature_extractor(audio, padding=True,return_tensors=\"pt\",sampling_rate=16000).input_values.to(self.device)\n            audio_feature = audio_feature.half()\n            audio_feature=self.hubert_model(audio_feature).last_hidden_state\n        audio_feature=self.audio_project(audio_feature)\n\n        #text2vec\n        with torch.no_grad():\n            #describtion\n            describtion=[s+\"</s>\" for s in describtion]\n            describtion_input=self.text2vec_tokenizer(describtion, padding=True, truncation=True, return_tensors='pt').to(self.device)\n            describtion_feature=self.text2vec_model(**describtion_input)\n            describtion_feature=self.mean_pooling(describtion_feature,describtion_input['attention_mask']).unsqueeze(1)\n\n\n        #Qformer\n        audio_query_tokens=self.audio_query_tokens.expand(audio_feature.shape[0], -1, -1)\n        frame_atts = torch.ones(audio_feature.size()[:-1], dtype=torch.long).to(audio_feature.device)\n        #print(audio_query_tokens.shape,audio_feature.shape,frame_atts.shape)\n        audio_query_output=self.audio_Qformer.bert(\n            query_embeds=audio_query_tokens, #[32,768]\n            encoder_hidden_states=audio_feature,\n            encoder_attention_mask=frame_atts,\n            return_dict=True,\n            )\n        audio_hidden=audio_query_output.last_hidden_state\n\n        text_tokens=self.llama_tokenizer(describtion, padding=\"longest\", truncation=True, return_tensors='pt',add_special_tokens=False).to(self.device)\n\n        #print(audio_hidden.shape)\n        audio_input=self.audio_llama_project(audio_hidden)\n        batchsize=audio_input.shape[0]\n        bos=torch.ones([batchsize, 1],dtype=text_tokens.input_ids.dtype).to(self.device) * self.llama_tokenizer.bos_token_id\n        bos_embeds=self.llama_model.model.embed_tokens(bos.to(self.device))\n        #in training, we use different prompts for each audio\n        prompts=[ \"请用一句话用中文表述音频中说话人的情感状态：\", \"请用一句中文概括音频中讲话者的情感：\", \"请用一句中文简述音频里说话者的情感表现：\", \"请用一句中文概述所给音频中说话人的情感：\", \"请用一句话用中文描述音频中说话人的情感：\", \"请用一句中文描绘音频中说话者的情感：\", \"请用一句中文描述所给音频中说话人的情感：\", \"请用一句中文简要表述音频中说话人的情感：\", \"请用一句中文概括所给音频中说话者的情感：\", \"请用一句话用中文描述所给音频中说话人的情感：\", \"请用一句中文简述所给音频里说话者的情感：\", \"请用一句中文描述音频中讲话者的情感：\", \"请用一句中文概述音频中说话人的情感：\", \"请用一句话用中文表达音频中说话者的情感：\", \"请用一句中文简要描述音频中说话人的情感：\", \"请用一句中文概括音频中说话人的情感：\", \"请用一句中文描述所给音频中讲话者的情感：\", \"请用一句中文简述音频中说话者的情感：\", \"请用一句中文概述所给音频中讲话者的情感：\", \"请用一句话用中文描述音频中讲话者的情感：\", \"请用一句中文描述音频中说话人的情感状态：\", \"请用一句中文概括所给音频里说话者的情感：\", \"请用一句中文简述所给音频中说话人的情感表现：\", \"请用一句中文概述音频里说话者的情感：\", \"请用一句话用中文描述音频中说话人的情感表现：\", \"请用一句中文描绘所给音频中说话者的情感：\", \"请用一句中文描述音频里讲话者的情感：\", \"请用一句中文简要表述所给音频中说话人的情感：\", \"请用一句中文概括音频里说话者的情感：\", \"请用一句话用中文描述所给音频中讲话者的情感：\" ]\n        import random\n        prompt=prompts[random.randint(0,len(prompts)-1)]\n        prompts_id=self.llama_tokenizer(prompt,return_tensors='pt').input_ids.to(self.device)\n        prompts_id=prompts_id.expand(batchsize,-1)\n        prompts_embeds=self.llama_model.model.embed_tokens(prompts_id)\n\n        \n        targets=text_tokens.input_ids.masked_fill(\n            text_tokens.input_ids==self.llama_tokenizer.pad_token_id,-100\n        )\n        text_embeds=self.llama_model.model.embed_tokens(text_tokens.input_ids.to(self.device))\n        input_embeds=torch.cat([bos_embeds,audio_input,prompts_embeds,text_embeds],dim=1)\n        atts_audio=torch.ones(audio_input.size()[:-1], dtype=torch.long).to(audio_input.device)\n\n        #atts_audio=atts_audio.to(self.device)\n        attns_text=text_tokens.attention_mask\n        attns_bos=atts_audio[:,:1]\n        attns_prompt=torch.ones(prompts_embeds.size()[:-1], dtype=torch.long).to(prompts_embeds.device)\n        attns=torch.cat([attns_bos,atts_audio,attns_prompt,attns_text],dim=1)\n        print(input_embeds.shape,attns.shape,targets.shape)\n        outputs=self.llama_model(\n            inputs_embeds=input_embeds,\n            attention_mask=attns,\n            labels=targets,\n            return_dict=True,\n        )\n        loss=outputs.loss\n        #print(loss)\n\n        return loss\n    def training_step(self, batch, batch_idx):\n        audio, describtion,_=batch\n        loss=self.forward(audio, describtion)\n        self.log('train_loss', loss, on_step=True, on_epoch=True, prog_bar=True, logger=True,batch_size=len(audio),sync_dist=True)\n        return loss\n    def validation_step(self, batch, batch_idx):\n        audio, describtion,_=batch\n        loss=self.forward(audio, describtion)\n        self.log('val_loss', loss, on_step=True, on_epoch=True, prog_bar=True, logger=True,batch_size=len(audio),sync_dist=True)\n        return loss\n    def configure_optimizers(self):\n        optimizer = torch.optim.AdamW(filter(lambda p: p.requires_grad, self.parameters()), lr=0.000013, betas=(0.9, 0.999), eps=1e-08, weight_decay=1e-6)\n        return optimizer\n    def inference(self, audio):\n        with torch.no_grad():\n            audio_feature=self.hubert_feature_extractor(audio, padding=True,return_tensors=\"pt\",sampling_rate=16000).input_values.to(self.device)\n            audio_feature = audio_feature.float()\n            audio_feature=self.hubert_model(audio_feature).last_hidden_state\n            \n            audio_feature=self.audio_project(audio_feature)\n\n\n\n        #Qformer\n        audio_query_tokens=self.audio_query_tokens.expand(audio_feature.shape[0], -1, -1)\n        frame_atts = torch.ones(audio_feature.size()[:-1], dtype=torch.long).to(audio_feature.device)\n        audio_query_output=self.audio_Qformer.bert(\n            query_embeds=audio_query_tokens, #[32,768]\n            encoder_hidden_states=audio_feature,\n            encoder_attention_mask=frame_atts,\n            return_dict=True,\n            )\n        audio_hidden=audio_query_output.last_hidden_state\n\n        #print(audio_hidden.shape)\n        audio_input=self.audio_llama_project(audio_hidden)\n\n        batchsize=audio_input.shape[0]\n        #in inference, we use the same prompt for all audio\n        #prompts=[ \"请用一句话用中文表述音频中说话人的情感状态：\", \"请用一句中文概括音频中讲话者的情感：\", \"请用一句中文简述音频里说话者的情感表现：\", \"请用一句中文概述所给音频中说话人的情感：\", \"请用一句话用中文描述音频中说话人的情感：\", \"请用一句中文描绘音频中说话者的情感：\", \"请用一句中文描述所给音频中说话人的情感：\", \"请用一句中文简要表述音频中说话人的情感：\", \"请用一句中文概括所给音频中说话者的情感：\", \"请用一句话用中文描述所给音频中说话人的情感：\", \"请用一句中文简述所给音频里说话者的情感：\", \"请用一句中文描述音频中讲话者的情感：\", \"请用一句中文概述音频中说话人的情感：\", \"请用一句话用中文表达音频中说话者的情感：\", \"请用一句中文简要描述音频中说话人的情感：\", \"请用一句中文概括音频中说话人的情感：\", \"请用一句中文描述所给音频中讲话者的情感：\", \"请用一句中文简述音频中说话者的情感：\", \"请用一句中文概述所给音频中讲话者的情感：\", \"请用一句话用中文描述音频中讲话者的情感：\", \"请用一句中文描述音频中说话人的情感状态：\", \"请用一句中文概括所给音频里说话者的情感：\", \"请用一句中文简述所给音频中说话人的情感表现：\", \"请用一句中文概述音频里说话者的情感：\", \"请用一句话用中文描述音频中说话人的情感表现：\", \"请用一句中文描绘所给音频中说话者的情感：\", \"请用一句中文描述音频里讲话者的情感：\", \"请用一句中文简要表述所给音频中说话人的情感：\", \"请用一句中文概括音频里说话者的情感：\", \"请用一句话用中文描述所给音频中讲话者的情感：\" ]\n        prompt=\"请用一句中文简述音频里说话者的情感表现：\"\n        #import random\n        #prompt=prompts[random.randint(0,len(prompts)-1)]\n        \n        prompts_id=self.llama_tokenizer(prompt,return_tensors='pt').input_ids.to(self.device)\n        prompts_id=prompts_id.expand(batchsize,-1)\n        prompts_embeds=self.llama_model.model.embed_tokens(prompts_id)\n\n        bos=torch.ones([batchsize, 1],dtype=torch.int64).to(self.device) * self.llama_tokenizer.bos_token_id\n        bos_embeds=self.llama_model.model.embed_tokens(bos.to(self.device))\n        embeds=torch.cat([bos_embeds,audio_input,prompts_embeds],dim=1)\n        #print(embeds.dtype)\n        embeds=embeds.half()\n        outputs1=[]\n\n        # you may change the num of generated sentences here and change the parameters of llama to get better results such as top_k, top_p, num_beams\n        # to reduce randomness,we do this for 8 times and get 8 sentences\n        # then we calculate the similarity between each sentence and the other 7 sentences, and remove the 3 sentences with the lowest average similarity\n        for i in range(8):\n            with torch.no_grad():\n                outputs=self.llama_model.generate(\n                    inputs_embeds=embeds,\n                    max_new_tokens=50,\n                    min_new_tokens=3,\n                    do_sample=True,\n                    top_k=10,\n                    top_p=0.95,\n                    num_beams=5,\n                    repetition_penalty=10.0,\n                    pad_token_id=self.llama_tokenizer.pad_token_id,\n                    eos_token_id=self.llama_tokenizer.eos_token_id,\n                    #stopping_criteria=stopping_criteria,\n                    early_stopping=True,\n                    num_return_sequences=1,\n                    no_repeat_ngram_size=2,\n\n                )\n        #print(outputs)\n            output_tokens=self.llama_tokenizer.batch_decode(outputs,skip_special_tokens=True)\n            #output_tokens=self.post_processing(output_tokens)\n            print(output_tokens)\n            outputs1.append(output_tokens[0])\n        outputs1=self.post_processing(outputs1,self.device)\n\n        return outputs1,prompt\n    \n    def post_processing(self, sentences,device):\n        similarities = np.zeros((len(sentences), len(sentences)))\n        simi_cal=SimiCal(device=device)\n        for i in range(len(sentences)):\n            for j in range(len(sentences)):\n                similarities[i, j] = simi_cal(sentences[i], sentences[j])\n        avg_similarities = np.mean(similarities, axis=1)\n        least_related_indices=avg_similarities.argsort()[:3]\n        remaining_sentences = [sentences[i] for i in range(len(sentences)) if i not in least_related_indices]\n\n        \n        return remaining_sentences\n    def test_step(self, batch, batch_idx):\n        audio,_,describtion,fpath=batch\n        output_tokens,prompt=self.inference(audio)\n        path=os.path.dirname(os.path.abspath(__file__))\n        test_file=\"result/result_1.txt\"\n        test_file=os.path.join(path,test_file)\n        with open(test_file,\"a\",encoding=\"utf-8\") as f:\n            f.write(\"file: \"+fpath[0]+\"\\n\")\n            #f.write(\"prompt: \"+prompt+\"\\n\")\n            f.write(\"origin: \"+describtion[0]+\"\\n\")\n            f.write(\"result: \"+output_tokens[0]+\"\\n\")\n            f.write(\"result2: \"+output_tokens[1]+\"\\n\")\n            f.write(\"result3: \"+output_tokens[2]+\"\\n\")\n            f.write(\"result4: \"+output_tokens[3]+\"\\n\")\n            f.write(\"result5: \"+output_tokens[4]+\"\\n\")\n            f.write(\"\\n\")\n        \n\ndef count_parameters(model):\n    return sum(p.numel() for p in model.parameters() if p.requires_grad)\n\nif __name__ == \"__main__\":\n    model=MotionAudio()\n    print(count_parameters(model))\n\n"
  },
  {
    "path": "module/Qformer.py",
    "content": "import math\nimport os\nimport warnings\nfrom dataclasses import dataclass\nfrom typing import Optional, Tuple, Dict, Any\n\nimport torch\nfrom torch import Tensor, device, dtype, nn\nimport torch.utils.checkpoint\nfrom torch import nn\nfrom torch.nn import CrossEntropyLoss\nimport torch.nn.functional as F\n\nfrom transformers.activations import ACT2FN\nfrom transformers.file_utils import (\n    ModelOutput,\n)\nfrom transformers.modeling_outputs import (\n    BaseModelOutputWithPastAndCrossAttentions,\n    BaseModelOutputWithPoolingAndCrossAttentions,\n    CausalLMOutputWithCrossAttentions,\n    MaskedLMOutput,\n    MultipleChoiceModelOutput,\n    NextSentencePredictorOutput,\n    QuestionAnsweringModelOutput,\n    SequenceClassifierOutput,\n    TokenClassifierOutput,\n)\nfrom transformers.modeling_utils import (\n    PreTrainedModel,\n    apply_chunking_to_forward,\n    find_pruneable_heads_and_indices,\n    prune_linear_layer,\n)\nfrom transformers.utils import logging\nfrom transformers.models.bert.configuration_bert import BertConfig\n\nlogger = logging.get_logger(__name__)\n\n\nclass BertEmbeddings(nn.Module):\n    \"\"\"Construct the embeddings from word and position embeddings.\"\"\"\n\n    def __init__(self, config):\n        super().__init__()\n        self.word_embeddings = nn.Embedding(\n            config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id\n        )\n        self.position_embeddings = nn.Embedding(\n            config.max_position_embeddings, config.hidden_size\n        )\n\n        # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load\n        # any TensorFlow checkpoint file\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n        # position_ids (1, len position emb) is contiguous in memory and exported when serialized\n        self.register_buffer(\n            \"position_ids\", torch.arange(config.max_position_embeddings).expand((1, -1))\n        )\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n\n        self.config = config\n\n    def forward(\n        self,\n        input_ids=None,\n        position_ids=None,\n        query_embeds=None,\n        past_key_values_length=0,\n    ):\n        if input_ids is not None:\n            seq_length = input_ids.size()[1]\n        else:\n            seq_length = 0\n\n        if position_ids is None:\n            position_ids = self.position_ids[\n                :, past_key_values_length : seq_length + past_key_values_length\n            ].clone()\n\n        if input_ids is not None:\n            embeddings = self.word_embeddings(input_ids)\n            if self.position_embedding_type == \"absolute\":\n                position_embeddings = self.position_embeddings(position_ids)\n                embeddings = embeddings + position_embeddings\n\n            if query_embeds is not None:\n                embeddings = torch.cat((query_embeds, embeddings), dim=1)\n        else:\n            embeddings = query_embeds\n\n        embeddings = self.LayerNorm(embeddings)\n        embeddings = self.dropout(embeddings)\n        return embeddings\n\n\nclass BertSelfAttention(nn.Module):\n    def __init__(self, config, is_cross_attention):\n        super().__init__()\n        self.config = config\n        if config.hidden_size % config.num_attention_heads != 0 and not hasattr(\n            config, \"embedding_size\"\n        ):\n            raise ValueError(\n                \"The hidden size (%d) is not a multiple of the number of attention \"\n                \"heads (%d)\" % (config.hidden_size, config.num_attention_heads)\n            )\n\n        self.num_attention_heads = config.num_attention_heads\n        self.attention_head_size = int(config.hidden_size / config.num_attention_heads)\n        self.all_head_size = self.num_attention_heads * self.attention_head_size\n\n        self.query = nn.Linear(config.hidden_size, self.all_head_size)\n        if is_cross_attention:\n            self.key = nn.Linear(config.encoder_width, self.all_head_size)\n            self.value = nn.Linear(config.encoder_width, self.all_head_size)\n        else:\n            self.key = nn.Linear(config.hidden_size, self.all_head_size)\n            self.value = nn.Linear(config.hidden_size, self.all_head_size)\n\n        self.dropout = nn.Dropout(config.attention_probs_dropout_prob)\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            self.max_position_embeddings = config.max_position_embeddings\n            self.distance_embedding = nn.Embedding(\n                2 * config.max_position_embeddings - 1, self.attention_head_size\n            )\n        self.save_attention = False\n\n    def save_attn_gradients(self, attn_gradients):\n        self.attn_gradients = attn_gradients\n\n    def get_attn_gradients(self):\n        return self.attn_gradients\n\n    def save_attention_map(self, attention_map):\n        self.attention_map = attention_map\n\n    def get_attention_map(self):\n        return self.attention_map\n\n    def transpose_for_scores(self, x):\n        new_x_shape = x.size()[:-1] + (\n            self.num_attention_heads,\n            self.attention_head_size,\n        )\n        x = x.view(*new_x_shape)\n        return x.permute(0, 2, 1, 3)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n\n        # If this is instantiated as a cross-attention module, the keys\n        # and values come from an encoder; the attention mask needs to be\n        # such that the encoder's padding tokens are not attended to.\n        is_cross_attention = encoder_hidden_states is not None\n\n        if is_cross_attention:\n            key_layer = self.transpose_for_scores(self.key(encoder_hidden_states))\n            value_layer = self.transpose_for_scores(self.value(encoder_hidden_states))\n            attention_mask = encoder_attention_mask\n        elif past_key_value is not None:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n            key_layer = torch.cat([past_key_value[0], key_layer], dim=2)\n            value_layer = torch.cat([past_key_value[1], value_layer], dim=2)\n        else:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n\n        mixed_query_layer = self.query(hidden_states)\n\n        query_layer = self.transpose_for_scores(mixed_query_layer)\n\n        past_key_value = (key_layer, value_layer)\n\n        # Take the dot product between \"query\" and \"key\" to get the raw attention scores.\n        attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))\n\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            seq_length = hidden_states.size()[1]\n            position_ids_l = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(-1, 1)\n            position_ids_r = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(1, -1)\n            distance = position_ids_l - position_ids_r\n            positional_embedding = self.distance_embedding(\n                distance + self.max_position_embeddings - 1\n            )\n            positional_embedding = positional_embedding.to(\n                dtype=query_layer.dtype\n            )  # fp16 compatibility\n\n            if self.position_embedding_type == \"relative_key\":\n                relative_position_scores = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                attention_scores = attention_scores + relative_position_scores\n            elif self.position_embedding_type == \"relative_key_query\":\n                relative_position_scores_query = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                relative_position_scores_key = torch.einsum(\n                    \"bhrd,lrd->bhlr\", key_layer, positional_embedding\n                )\n                attention_scores = (\n                    attention_scores\n                    + relative_position_scores_query\n                    + relative_position_scores_key\n                )\n\n        attention_scores = attention_scores / math.sqrt(self.attention_head_size)\n        if attention_mask is not None:\n            # Apply the attention mask is (precomputed for all layers in BertModel forward() function)\n            attention_scores = attention_scores + attention_mask\n\n        # Normalize the attention scores to probabilities.\n        attention_probs = nn.Softmax(dim=-1)(attention_scores)\n\n        if is_cross_attention and self.save_attention:\n            self.save_attention_map(attention_probs)\n            attention_probs.register_hook(self.save_attn_gradients)\n\n        # This is actually dropping out entire tokens to attend to, which might\n        # seem a bit unusual, but is taken from the original Transformer paper.\n        attention_probs_dropped = self.dropout(attention_probs)\n\n        # Mask heads if we want to\n        if head_mask is not None:\n            attention_probs_dropped = attention_probs_dropped * head_mask\n\n        context_layer = torch.matmul(attention_probs_dropped, value_layer)\n\n        context_layer = context_layer.permute(0, 2, 1, 3).contiguous()\n        new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,)\n        context_layer = context_layer.view(*new_context_layer_shape)\n\n        outputs = (\n            (context_layer, attention_probs) if output_attentions else (context_layer,)\n        )\n\n        outputs = outputs + (past_key_value,)\n        return outputs\n\n\nclass BertSelfOutput(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n    def forward(self, hidden_states, input_tensor):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertAttention(nn.Module):\n    def __init__(self, config, is_cross_attention=False):\n        super().__init__()\n        self.self = BertSelfAttention(config, is_cross_attention)\n        self.output = BertSelfOutput(config)\n        self.pruned_heads = set()\n\n    def prune_heads(self, heads):\n        if len(heads) == 0:\n            return\n        heads, index = find_pruneable_heads_and_indices(\n            heads,\n            self.self.num_attention_heads,\n            self.self.attention_head_size,\n            self.pruned_heads,\n        )\n\n        # Prune linear layers\n        self.self.query = prune_linear_layer(self.self.query, index)\n        self.self.key = prune_linear_layer(self.self.key, index)\n        self.self.value = prune_linear_layer(self.self.value, index)\n        self.output.dense = prune_linear_layer(self.output.dense, index, dim=1)\n\n        # Update hyper params and store pruned heads\n        self.self.num_attention_heads = self.self.num_attention_heads - len(heads)\n        self.self.all_head_size = (\n            self.self.attention_head_size * self.self.num_attention_heads\n        )\n        self.pruned_heads = self.pruned_heads.union(heads)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n        self_outputs = self.self(\n            hidden_states,\n            attention_mask,\n            head_mask,\n            encoder_hidden_states,\n            encoder_attention_mask,\n            past_key_value,\n            output_attentions,\n        )\n        attention_output = self.output(self_outputs[0], hidden_states)\n\n        outputs = (attention_output,) + self_outputs[\n            1:\n        ]  # add attentions if we output them\n        return outputs\n\n\nclass BertIntermediate(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.intermediate_size)\n        if isinstance(config.hidden_act, str):\n            self.intermediate_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.intermediate_act_fn = config.hidden_act\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.intermediate_act_fn(hidden_states)\n        return hidden_states\n\n\nclass BertOutput(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.intermediate_size, config.hidden_size)\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n    def forward(self, hidden_states, input_tensor):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertLayer(nn.Module):\n    def __init__(self, config, layer_num):\n        super().__init__()\n        self.config = config\n        self.chunk_size_feed_forward = config.chunk_size_feed_forward\n        self.seq_len_dim = 1\n        self.attention = BertAttention(config)\n        self.layer_num = layer_num\n        if (\n            self.config.add_cross_attention\n            and layer_num % self.config.cross_attention_freq == 0\n        ):\n            self.crossattention = BertAttention(\n                config, is_cross_attention=self.config.add_cross_attention\n            )\n            self.has_cross_attention = True\n        else:\n            self.has_cross_attention = False\n        self.intermediate = BertIntermediate(config)\n        self.output = BertOutput(config)\n\n        self.intermediate_query = BertIntermediate(config)\n        self.output_query = BertOutput(config)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n        query_length=0,\n    ):\n        # decoder uni-directional self-attention cached key/values tuple is at positions 1,2\n        self_attn_past_key_value = (\n            past_key_value[:2] if past_key_value is not None else None\n        )\n        self_attention_outputs = self.attention(\n            hidden_states,\n            attention_mask,\n            head_mask,\n            output_attentions=output_attentions,\n            past_key_value=self_attn_past_key_value,\n        )\n        attention_output = self_attention_outputs[0]\n        outputs = self_attention_outputs[1:-1]\n\n        present_key_value = self_attention_outputs[-1]\n\n        if query_length > 0:\n            query_attention_output = attention_output[:, :query_length, :]\n\n            if self.has_cross_attention and encoder_hidden_states is not None:\n                assert (\n                    encoder_hidden_states is not None\n                ), \"encoder_hidden_states must be given for cross-attention layers\"\n                cross_attention_outputs = self.crossattention(\n                    query_attention_output,\n                    attention_mask,\n                    head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    output_attentions=output_attentions,\n                )\n                query_attention_output = cross_attention_outputs[0]\n                outputs = (\n                    outputs + cross_attention_outputs[1:-1]\n                )  # add cross attentions if we output attention weights\n\n            layer_output = apply_chunking_to_forward(\n                self.feed_forward_chunk_query,\n                self.chunk_size_feed_forward,\n                self.seq_len_dim,\n                query_attention_output,\n            )\n            if attention_output.shape[1] > query_length:\n                layer_output_text = apply_chunking_to_forward(\n                    self.feed_forward_chunk,\n                    self.chunk_size_feed_forward,\n                    self.seq_len_dim,\n                    attention_output[:, query_length:, :],\n                )\n                layer_output = torch.cat([layer_output, layer_output_text], dim=1)\n        else:\n            layer_output = apply_chunking_to_forward(\n                self.feed_forward_chunk,\n                self.chunk_size_feed_forward,\n                self.seq_len_dim,\n                attention_output,\n            )\n        outputs = (layer_output,) + outputs\n\n        outputs = outputs + (present_key_value,)\n\n        return outputs\n\n    def feed_forward_chunk(self, attention_output):\n        intermediate_output = self.intermediate(attention_output)\n        layer_output = self.output(intermediate_output, attention_output)\n        return layer_output\n\n    def feed_forward_chunk_query(self, attention_output):\n        intermediate_output = self.intermediate_query(attention_output)\n        layer_output = self.output_query(intermediate_output, attention_output)\n        return layer_output\n\n\nclass BertEncoder(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.config = config\n        self.layer = nn.ModuleList(\n            [BertLayer(config, i) for i in range(config.num_hidden_layers)]\n        )\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=False,\n        output_hidden_states=False,\n        return_dict=True,\n        query_length=0,\n    ):\n        all_hidden_states = () if output_hidden_states else None\n        all_self_attentions = () if output_attentions else None\n        all_cross_attentions = (\n            () if output_attentions and self.config.add_cross_attention else None\n        )\n\n        next_decoder_cache = () if use_cache else None\n\n        for i in range(self.config.num_hidden_layers):\n            layer_module = self.layer[i]\n            if output_hidden_states:\n                all_hidden_states = all_hidden_states + (hidden_states,)\n\n            layer_head_mask = head_mask[i] if head_mask is not None else None\n            past_key_value = past_key_values[i] if past_key_values is not None else None\n\n            if getattr(self.config, \"gradient_checkpointing\", False) and self.training:\n\n                if use_cache:\n                    logger.warn(\n                        \"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...\"\n                    )\n                    use_cache = False\n\n                def create_custom_forward(module):\n                    def custom_forward(*inputs):\n                        return module(\n                            *inputs, past_key_value, output_attentions, query_length\n                        )\n\n                    return custom_forward\n\n                layer_outputs = torch.utils.checkpoint.checkpoint(\n                    create_custom_forward(layer_module),\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                )\n            else:\n                layer_outputs = layer_module(\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    past_key_value,\n                    output_attentions,\n                    query_length,\n                )\n\n            hidden_states = layer_outputs[0]\n            if use_cache:\n                next_decoder_cache += (layer_outputs[-1],)\n            if output_attentions:\n                all_self_attentions = all_self_attentions + (layer_outputs[1],)\n                all_cross_attentions = all_cross_attentions + (layer_outputs[2],)\n\n        if output_hidden_states:\n            all_hidden_states = all_hidden_states + (hidden_states,)\n\n        if not return_dict:\n            return tuple(\n                v\n                for v in [\n                    hidden_states,\n                    next_decoder_cache,\n                    all_hidden_states,\n                    all_self_attentions,\n                    all_cross_attentions,\n                ]\n                if v is not None\n            )\n        return BaseModelOutputWithPastAndCrossAttentions(\n            last_hidden_state=hidden_states,\n            past_key_values=next_decoder_cache,\n            hidden_states=all_hidden_states,\n            attentions=all_self_attentions,\n            cross_attentions=all_cross_attentions,\n        )\n\n\nclass BertPooler(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.activation = nn.Tanh()\n\n    def forward(self, hidden_states):\n        # We \"pool\" the model by simply taking the hidden state corresponding\n        # to the first token.\n        first_token_tensor = hidden_states[:, 0]\n        pooled_output = self.dense(first_token_tensor)\n        pooled_output = self.activation(pooled_output)\n        return pooled_output\n\n\nclass BertPredictionHeadTransform(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        if isinstance(config.hidden_act, str):\n            self.transform_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.transform_act_fn = config.hidden_act\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.transform_act_fn(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states)\n        return hidden_states\n\n\nclass BertLMPredictionHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.transform = BertPredictionHeadTransform(config)\n\n        # The output weights are the same as the input embeddings, but there is\n        # an output-only bias for each token.\n        self.decoder = nn.Linear(config.hidden_size, config.vocab_size, bias=False)\n\n        self.bias = nn.Parameter(torch.zeros(config.vocab_size))\n\n        # Need a link between the two variables so that the bias is correctly resized with `resize_token_embeddings`\n        self.decoder.bias = self.bias\n\n    def forward(self, hidden_states):\n        hidden_states = self.transform(hidden_states)\n        hidden_states = self.decoder(hidden_states)\n        return hidden_states\n\n\nclass BertOnlyMLMHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.predictions = BertLMPredictionHead(config)\n\n    def forward(self, sequence_output):\n        prediction_scores = self.predictions(sequence_output)\n        return prediction_scores\n\n\nclass BertPreTrainedModel(PreTrainedModel):\n    \"\"\"\n    An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained\n    models.\n    \"\"\"\n\n    config_class = BertConfig\n    base_model_prefix = \"bert\"\n    _keys_to_ignore_on_load_missing = [r\"position_ids\"]\n\n    def _init_weights(self, module):\n        \"\"\"Initialize the weights\"\"\"\n        if isinstance(module, (nn.Linear, nn.Embedding)):\n            # Slightly different from the TF version which uses truncated_normal for initialization\n            # cf https://github.com/pytorch/pytorch/pull/5617\n            module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)\n        elif isinstance(module, nn.LayerNorm):\n            module.bias.data.zero_()\n            module.weight.data.fill_(1.0)\n        if isinstance(module, nn.Linear) and module.bias is not None:\n            module.bias.data.zero_()\n\n\nclass BertModel(BertPreTrainedModel):\n    \"\"\"\n    The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of\n    cross-attention is added between the self-attention layers, following the architecture described in `Attention is\n    all you need <https://arxiv.org/abs/1706.03762>`__ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,\n    Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin.\n    argument and :obj:`add_cross_attention` set to :obj:`True`; an :obj:`encoder_hidden_states` is then expected as an\n    input to the forward pass.\n    \"\"\"\n\n    def __init__(self, config, add_pooling_layer=False):\n        super().__init__(config)\n        self.config = config\n\n        self.embeddings = BertEmbeddings(config)\n\n        self.encoder = BertEncoder(config)\n\n        self.pooler = BertPooler(config) if add_pooling_layer else None\n\n        self.init_weights()\n\n    def get_input_embeddings(self):\n        return self.embeddings.word_embeddings\n\n    def set_input_embeddings(self, value):\n        self.embeddings.word_embeddings = value\n\n    def _prune_heads(self, heads_to_prune):\n        \"\"\"\n        Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base\n        class PreTrainedModel\n        \"\"\"\n        for layer, heads in heads_to_prune.items():\n            self.encoder.layer[layer].attention.prune_heads(heads)\n\n    def get_extended_attention_mask(\n        self,\n        attention_mask: Tensor,\n        input_shape: Tuple[int],\n        device: device,\n        is_decoder: bool,\n        has_query: bool = False,\n    ) -> Tensor:\n        \"\"\"\n        Makes broadcastable attention and causal masks so that future and masked tokens are ignored.\n\n        Arguments:\n            attention_mask (:obj:`torch.Tensor`):\n                Mask with ones indicating tokens to attend to, zeros for tokens to ignore.\n            input_shape (:obj:`Tuple[int]`):\n                The shape of the input to the model.\n            device: (:obj:`torch.device`):\n                The device of the input to the model.\n\n        Returns:\n            :obj:`torch.Tensor` The extended attention mask, with a the same dtype as :obj:`attention_mask.dtype`.\n        \"\"\"\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        if attention_mask.dim() == 3:\n            extended_attention_mask = attention_mask[:, None, :, :]\n        elif attention_mask.dim() == 2:\n            # Provided a padding mask of dimensions [batch_size, seq_length]\n            # - if the model is a decoder, apply a causal mask in addition to the padding mask\n            # - if the model is an encoder, make the mask broadcastable to [batch_size, num_heads, seq_length, seq_length]\n            if is_decoder:\n                batch_size, seq_length = input_shape\n\n                seq_ids = torch.arange(seq_length, device=device)\n                causal_mask = (\n                    seq_ids[None, None, :].repeat(batch_size, seq_length, 1)\n                    <= seq_ids[None, :, None]\n                )\n\n                # add a prefix ones mask to the causal mask\n                # causal and attention masks must have same type with pytorch version < 1.3\n                causal_mask = causal_mask.to(attention_mask.dtype)\n\n                if causal_mask.shape[1] < attention_mask.shape[1]:\n                    prefix_seq_len = attention_mask.shape[1] - causal_mask.shape[1]\n                    if has_query:  # UniLM style attention mask\n                        causal_mask = torch.cat(\n                            [\n                                torch.zeros(\n                                    (batch_size, prefix_seq_len, seq_length),\n                                    device=device,\n                                    dtype=causal_mask.dtype,\n                                ),\n                                causal_mask,\n                            ],\n                            axis=1,\n                        )\n                    causal_mask = torch.cat(\n                        [\n                            torch.ones(\n                                (batch_size, causal_mask.shape[1], prefix_seq_len),\n                                device=device,\n                                dtype=causal_mask.dtype,\n                            ),\n                            causal_mask,\n                        ],\n                        axis=-1,\n                    )\n                extended_attention_mask = (\n                    causal_mask[:, None, :, :] * attention_mask[:, None, None, :]\n                )\n            else:\n                extended_attention_mask = attention_mask[:, None, None, :]\n        else:\n            raise ValueError(\n                \"Wrong shape for input_ids (shape {}) or attention_mask (shape {})\".format(\n                    input_shape, attention_mask.shape\n                )\n            )\n\n        # Since attention_mask is 1.0 for positions we want to attend and 0.0 for\n        # masked positions, this operation will create a tensor which is 0.0 for\n        # positions we want to attend and -10000.0 for masked positions.\n        # Since we are adding it to the raw scores before the softmax, this is\n        # effectively the same as removing these entirely.\n        extended_attention_mask = extended_attention_mask.to(\n            dtype=self.dtype\n        )  # fp16 compatibility\n        extended_attention_mask = (1.0 - extended_attention_mask) * -10000.0\n        return extended_attention_mask\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        query_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        is_decoder=False,\n    ):\n        r\"\"\"\n        encoder_hidden_states  (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):\n            Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if\n            the model is configured as a decoder.\n        encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in\n            the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n        past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):\n            Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.\n            If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`\n            (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`\n            instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.\n        use_cache (:obj:`bool`, `optional`):\n            If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up\n            decoding (see :obj:`past_key_values`).\n        \"\"\"\n        output_attentions = (\n            output_attentions\n            if output_attentions is not None\n            else self.config.output_attentions\n        )\n        output_hidden_states = (\n            output_hidden_states\n            if output_hidden_states is not None\n            else self.config.output_hidden_states\n        )\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n\n        # use_cache = use_cache if use_cache is not None else self.config.use_cache\n\n        if input_ids is None:\n            assert (\n                query_embeds is not None\n            ), \"You have to specify query_embeds when input_ids is None\"\n\n        # past_key_values_length\n        past_key_values_length = (\n            past_key_values[0][0].shape[2] - self.config.query_length\n            if past_key_values is not None\n            else 0\n        )\n\n        query_length = query_embeds.shape[1] if query_embeds is not None else 0\n\n        embedding_output = self.embeddings(\n            input_ids=input_ids,\n            position_ids=position_ids,\n            query_embeds=query_embeds,\n            past_key_values_length=past_key_values_length,\n        )\n\n        input_shape = embedding_output.size()[:-1]\n        batch_size, seq_length = input_shape\n        device = embedding_output.device\n\n        if attention_mask is None:\n            attention_mask = torch.ones(\n                ((batch_size, seq_length + past_key_values_length)), device=device\n            )\n\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        if is_decoder:\n            extended_attention_mask = self.get_extended_attention_mask(\n                attention_mask,\n                input_ids.shape,\n                device,\n                is_decoder,\n                has_query=(query_embeds is not None),\n            )\n        else:\n            extended_attention_mask = self.get_extended_attention_mask(\n                attention_mask, input_shape, device, is_decoder\n            )\n\n        # If a 2D or 3D attention mask is provided for the cross-attention\n        # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length]\n        if encoder_hidden_states is not None:\n            if type(encoder_hidden_states) == list:\n                encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[\n                    0\n                ].size()\n            else:\n                (\n                    encoder_batch_size,\n                    encoder_sequence_length,\n                    _,\n                ) = encoder_hidden_states.size()\n            encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length)\n\n            if type(encoder_attention_mask) == list:\n                encoder_extended_attention_mask = [\n                    self.invert_attention_mask(mask) for mask in encoder_attention_mask\n                ]\n            elif encoder_attention_mask is None:\n                encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device)\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n            else:\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n        else:\n            encoder_extended_attention_mask = None\n\n        # Prepare head mask if needed\n        # 1.0 in head_mask indicate we keep the head\n        # attention_probs has shape bsz x n_heads x N x N\n        # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads]\n        # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length]\n        head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers)\n\n        encoder_outputs = self.encoder(\n            embedding_output,\n            attention_mask=extended_attention_mask,\n            head_mask=head_mask,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_extended_attention_mask,\n            past_key_values=past_key_values,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            query_length=query_length,\n        )\n        sequence_output = encoder_outputs[0]\n        pooled_output = (\n            self.pooler(sequence_output) if self.pooler is not None else None\n        )\n\n        if not return_dict:\n            return (sequence_output, pooled_output) + encoder_outputs[1:]\n\n        return BaseModelOutputWithPoolingAndCrossAttentions(\n            last_hidden_state=sequence_output,\n            pooler_output=pooled_output,\n            past_key_values=encoder_outputs.past_key_values,\n            hidden_states=encoder_outputs.hidden_states,\n            attentions=encoder_outputs.attentions,\n            cross_attentions=encoder_outputs.cross_attentions,\n        )\n\n\nclass BertLMHeadModel(BertPreTrainedModel):\n\n    _keys_to_ignore_on_load_unexpected = [r\"pooler\"]\n    _keys_to_ignore_on_load_missing = [r\"position_ids\", r\"predictions.decoder.bias\"]\n\n    def __init__(self, config):\n        super().__init__(config)\n\n        self.bert = BertModel(config, add_pooling_layer=False)\n        self.cls = BertOnlyMLMHead(config)\n\n        self.init_weights()\n\n    def get_output_embeddings(self):\n        return self.cls.predictions.decoder\n\n    def set_output_embeddings(self, new_embeddings):\n        self.cls.predictions.decoder = new_embeddings\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        query_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        labels=None,\n        past_key_values=None,\n        use_cache=True,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        return_logits=False,\n        is_decoder=True,\n        reduction=\"mean\",\n    ):\n        r\"\"\"\n        encoder_hidden_states  (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):\n            Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if\n            the model is configured as a decoder.\n        encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in\n            the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n        labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in\n            ``[-100, 0, ..., config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are\n            ignored (masked), the loss is only computed for the tokens with labels n ``[0, ..., config.vocab_size]``\n        past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):\n            Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.\n            If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`\n            (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`\n            instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.\n        use_cache (:obj:`bool`, `optional`):\n            If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up\n            decoding (see :obj:`past_key_values`).\n        Returns:\n        Example::\n            >>> from transformers import BertTokenizer, BertLMHeadModel, BertConfig\n            >>> import torch\n            >>> tokenizer = BertTokenizer.from_pretrained('bert-base-cased')\n            >>> config = BertConfig.from_pretrained(\"bert-base-cased\")\n            >>> model = BertLMHeadModel.from_pretrained('bert-base-cased', config=config)\n            >>> inputs = tokenizer(\"Hello, my dog is cute\", return_tensors=\"pt\")\n            >>> outputs = model(**inputs)\n            >>> prediction_logits = outputs.logits\n        \"\"\"\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n        if labels is not None:\n            use_cache = False\n        if past_key_values is not None:\n            query_embeds = None\n\n        outputs = self.bert(\n            input_ids,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            head_mask=head_mask,\n            query_embeds=query_embeds,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_attention_mask,\n            past_key_values=past_key_values,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            is_decoder=is_decoder,\n        )\n\n        sequence_output = outputs[0]\n        if query_embeds is not None:\n            sequence_output = outputs[0][:, query_embeds.shape[1] :, :]\n\n        prediction_scores = self.cls(sequence_output)\n\n        if return_logits:\n            return prediction_scores[:, :-1, :].contiguous()\n\n        lm_loss = None\n        if labels is not None:\n            # we are doing next-token prediction; shift prediction scores and input ids by one\n            shifted_prediction_scores = prediction_scores[:, :-1, :].contiguous()\n            labels = labels[:, 1:].contiguous()\n            loss_fct = CrossEntropyLoss(reduction=reduction, label_smoothing=0.1)\n            lm_loss = loss_fct(\n                shifted_prediction_scores.view(-1, self.config.vocab_size),\n                labels.view(-1),\n            )\n            if reduction == \"none\":\n                lm_loss = lm_loss.view(prediction_scores.size(0), -1).sum(1)\n\n        if not return_dict:\n            output = (prediction_scores,) + outputs[2:]\n            return ((lm_loss,) + output) if lm_loss is not None else output\n\n        return CausalLMOutputWithCrossAttentions(\n            loss=lm_loss,\n            logits=prediction_scores,\n            past_key_values=outputs.past_key_values,\n            hidden_states=outputs.hidden_states,\n            attentions=outputs.attentions,\n            cross_attentions=outputs.cross_attentions,\n        )\n\n    def prepare_inputs_for_generation(\n        self, input_ids, query_embeds, past=None, attention_mask=None, **model_kwargs\n    ):\n        # if model is used as a decoder in encoder-decoder model, the decoder attention mask is created on the fly\n        if attention_mask is None:\n            attention_mask = input_ids.new_ones(input_ids.shape)\n        query_mask = input_ids.new_ones(query_embeds.shape[:-1])\n        attention_mask = torch.cat([query_mask, attention_mask], dim=-1)\n\n        # cut decoder_input_ids if past is used\n        if past is not None:\n            input_ids = input_ids[:, -1:]\n\n        return {\n            \"input_ids\": input_ids,\n            \"query_embeds\": query_embeds,\n            \"attention_mask\": attention_mask,\n            \"past_key_values\": past,\n            \"encoder_hidden_states\": model_kwargs.get(\"encoder_hidden_states\", None),\n            \"encoder_attention_mask\": model_kwargs.get(\"encoder_attention_mask\", None),\n            \"is_decoder\": True,\n        }\n\n    def _reorder_cache(self, past, beam_idx):\n        reordered_past = ()\n        for layer_past in past:\n            reordered_past += (\n                tuple(\n                    past_state.index_select(0, beam_idx) for past_state in layer_past\n                ),\n            )\n        return reordered_past\n\n\nclass BertForMaskedLM(BertPreTrainedModel):\n\n    _keys_to_ignore_on_load_unexpected = [r\"pooler\"]\n    _keys_to_ignore_on_load_missing = [r\"position_ids\", r\"predictions.decoder.bias\"]\n\n    def __init__(self, config):\n        super().__init__(config)\n\n        self.bert = BertModel(config, add_pooling_layer=False)\n        self.cls = BertOnlyMLMHead(config)\n\n        self.init_weights()\n\n    def get_output_embeddings(self):\n        return self.cls.predictions.decoder\n\n    def set_output_embeddings(self, new_embeddings):\n        self.cls.predictions.decoder = new_embeddings\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        query_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        labels=None,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        return_logits=False,\n        is_decoder=False,\n    ):\n        r\"\"\"\n        labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Labels for computing the masked language modeling loss. Indices should be in ``[-100, 0, ...,\n            config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are ignored\n            (masked), the loss is only computed for the tokens with labels in ``[0, ..., config.vocab_size]``\n        \"\"\"\n\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n\n        outputs = self.bert(\n            input_ids,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            head_mask=head_mask,\n            query_embeds=query_embeds,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_attention_mask,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            is_decoder=is_decoder,\n        )\n\n        if query_embeds is not None:\n            sequence_output = outputs[0][:, query_embeds.shape[1] :, :]\n        prediction_scores = self.cls(sequence_output)\n\n        if return_logits:\n            return prediction_scores\n\n        masked_lm_loss = None\n        if labels is not None:\n            loss_fct = CrossEntropyLoss()  # -100 index = padding token\n            masked_lm_loss = loss_fct(\n                prediction_scores.view(-1, self.config.vocab_size), labels.view(-1)\n            )\n\n        if not return_dict:\n            output = (prediction_scores,) + outputs[2:]\n            return (\n                ((masked_lm_loss,) + output) if masked_lm_loss is not None else output\n            )\n\n        return MaskedLMOutput(\n            loss=masked_lm_loss,\n            logits=prediction_scores,\n            hidden_states=outputs.hidden_states,\n            attentions=outputs.attentions,\n        )\n"
  },
  {
    "path": "module/modeling_llama.py",
    "content": "# coding=utf-8\n# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved.\n#\n# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX\n# and OPT implementations in this library. It has been modified from its\n# original forms to accommodate minor architectural differences compared\n# to GPT-NeoX and OPT used by the Meta AI team that trained the model.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\" PyTorch LLaMA model.\"\"\"\nimport math\nfrom typing import List, Optional, Tuple, Union\n\nimport torch\nimport torch.utils.checkpoint\nfrom torch import nn\nfrom torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss\n\nfrom transformers.activations import ACT2FN\nfrom transformers.modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast, SequenceClassifierOutputWithPast\nfrom transformers.modeling_utils import PreTrainedModel\nfrom transformers.utils import add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings\nfrom transformers.models.llama.configuration_llama import LlamaConfig\n\n\nlogger = logging.get_logger(__name__)\n\n_CONFIG_FOR_DOC = \"LlamaConfig\"\n\n\n# Copied from transformers.models.bart.modeling_bart._make_causal_mask\ndef _make_causal_mask(\n    input_ids_shape: torch.Size, dtype: torch.dtype, device: torch.device, past_key_values_length: int = 0\n):\n    \"\"\"\n    Make causal mask used for bi-directional self-attention.\n    \"\"\"\n    bsz, tgt_len = input_ids_shape\n    mask = torch.full((tgt_len, tgt_len), torch.tensor(torch.finfo(dtype).min, device=device), device=device)\n    mask_cond = torch.arange(mask.size(-1), device=device)\n    mask.masked_fill_(mask_cond < (mask_cond + 1).view(mask.size(-1), 1), 0)\n    mask = mask.to(dtype)\n\n    if past_key_values_length > 0:\n        mask = torch.cat([torch.zeros(tgt_len, past_key_values_length, dtype=dtype, device=device), mask], dim=-1)\n    return mask[None, None, :, :].expand(bsz, 1, tgt_len, tgt_len + past_key_values_length)\n\n\n# Copied from transformers.models.bart.modeling_bart._expand_mask\ndef _expand_mask(mask: torch.Tensor, dtype: torch.dtype, tgt_len: Optional[int] = None):\n    \"\"\"\n    Expands attention_mask from `[bsz, seq_len]` to `[bsz, 1, tgt_seq_len, src_seq_len]`.\n    \"\"\"\n    bsz, src_len = mask.size()\n    tgt_len = tgt_len if tgt_len is not None else src_len\n\n    expanded_mask = mask[:, None, None, :].expand(bsz, 1, tgt_len, src_len).to(dtype)\n\n    inverted_mask = 1.0 - expanded_mask\n\n    return inverted_mask.masked_fill(inverted_mask.to(torch.bool), torch.finfo(dtype).min)\n\n\nclass LlamaRMSNorm(nn.Module):\n    def __init__(self, hidden_size, eps=1e-6):\n        \"\"\"\n        LlamaRMSNorm is equivalent to T5LayerNorm\n        \"\"\"\n        super().__init__()\n        self.weight = nn.Parameter(torch.ones(hidden_size))\n        self.variance_epsilon = eps\n\n    def forward(self, hidden_states):\n        input_dtype = hidden_states.dtype\n        variance = hidden_states.to(torch.float32).pow(2).mean(-1, keepdim=True)\n        hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon)\n\n        return (self.weight * hidden_states).to(input_dtype)\n\n\nclass LlamaRotaryEmbedding(torch.nn.Module):\n    def __init__(self, dim, max_position_embeddings=2048, base=10000, device=None):\n        super().__init__()\n        inv_freq = 1.0 / (base ** (torch.arange(0, dim, 2).float().to(device) / dim))\n        self.register_buffer(\"inv_freq\", inv_freq)\n\n        # Build here to make `torch.jit.trace` work.\n        self.max_seq_len_cached = max_position_embeddings\n        t = torch.arange(self.max_seq_len_cached, device=self.inv_freq.device, dtype=self.inv_freq.dtype)\n        freqs = torch.einsum(\"i,j->ij\", t, self.inv_freq)\n        # Different from paper, but it uses a different permutation in order to obtain the same calculation\n        emb = torch.cat((freqs, freqs), dim=-1)\n        dtype = torch.get_default_dtype()\n        self.register_buffer(\"cos_cached\", emb.cos()[None, None, :, :].to(dtype), persistent=False)\n        self.register_buffer(\"sin_cached\", emb.sin()[None, None, :, :].to(dtype), persistent=False)\n\n    def forward(self, x, seq_len=None):\n        # x: [bs, num_attention_heads, seq_len, head_size]\n        # This `if` block is unlikely to be run after we build sin/cos in `__init__`. Keep the logic here just in case.\n        if seq_len > self.max_seq_len_cached:\n            self.max_seq_len_cached = seq_len\n            t = torch.arange(self.max_seq_len_cached, device=x.device, dtype=self.inv_freq.dtype)\n            freqs = torch.einsum(\"i,j->ij\", t, self.inv_freq)\n            # Different from paper, but it uses a different permutation in order to obtain the same calculation\n            emb = torch.cat((freqs, freqs), dim=-1).to(x.device)\n            self.register_buffer(\"cos_cached\", emb.cos()[None, None, :, :].to(x.dtype), persistent=False)\n            self.register_buffer(\"sin_cached\", emb.sin()[None, None, :, :].to(x.dtype), persistent=False)\n        return (\n            self.cos_cached[:, :, :seq_len, ...].to(dtype=x.dtype),\n            self.sin_cached[:, :, :seq_len, ...].to(dtype=x.dtype),\n        )\n\n\ndef rotate_half(x):\n    \"\"\"Rotates half the hidden dims of the input.\"\"\"\n    x1 = x[..., : x.shape[-1] // 2]\n    x2 = x[..., x.shape[-1] // 2 :]\n    return torch.cat((-x2, x1), dim=-1)\n\n\ndef apply_rotary_pos_emb(q, k, cos, sin, position_ids):\n    # The first two dimensions of cos and sin are always 1, so we can `squeeze` them.\n    cos = cos.squeeze(1).squeeze(0)  # [seq_len, dim]\n    sin = sin.squeeze(1).squeeze(0)  # [seq_len, dim]\n    cos = cos[position_ids].unsqueeze(1)  # [bs, 1, seq_len, dim]\n    sin = sin[position_ids].unsqueeze(1)  # [bs, 1, seq_len, dim]\n    q_embed = (q * cos) + (rotate_half(q) * sin)\n    k_embed = (k * cos) + (rotate_half(k) * sin)\n    return q_embed, k_embed\n\n\nclass LlamaMLP(nn.Module):\n    def __init__(\n        self,\n        hidden_size: int,\n        intermediate_size: int,\n        hidden_act: str,\n    ):\n        super().__init__()\n        self.gate_proj = nn.Linear(hidden_size, intermediate_size, bias=False)\n        self.down_proj = nn.Linear(intermediate_size, hidden_size, bias=False)\n        self.up_proj = nn.Linear(hidden_size, intermediate_size, bias=False)\n        self.act_fn = ACT2FN[hidden_act]\n\n    def forward(self, x):\n        return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))\n\n\nclass LlamaAttention(nn.Module):\n    \"\"\"Multi-headed attention from 'Attention Is All You Need' paper\"\"\"\n\n    def __init__(self, config: LlamaConfig):\n        super().__init__()\n        self.config = config\n        self.hidden_size = config.hidden_size\n        self.num_heads = config.num_attention_heads\n        self.head_dim = self.hidden_size // self.num_heads\n        self.max_position_embeddings = config.max_position_embeddings\n\n        if (self.head_dim * self.num_heads) != self.hidden_size:\n            raise ValueError(\n                f\"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}\"\n                f\" and `num_heads`: {self.num_heads}).\"\n            )\n        self.q_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)\n        self.k_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)\n        self.v_proj = nn.Linear(self.hidden_size, self.num_heads * self.head_dim, bias=False)\n        self.o_proj = nn.Linear(self.num_heads * self.head_dim, self.hidden_size, bias=False)\n        self.rotary_emb = LlamaRotaryEmbedding(self.head_dim, max_position_embeddings=self.max_position_embeddings)\n\n    def _shape(self, tensor: torch.Tensor, seq_len: int, bsz: int):\n        return tensor.view(bsz, seq_len, self.num_heads, self.head_dim).transpose(1, 2).contiguous()\n\n    def forward(\n        self,\n        hidden_states: torch.Tensor,\n        attention_mask: Optional[torch.Tensor] = None,\n        position_ids: Optional[torch.LongTensor] = None,\n        past_key_value: Optional[Tuple[torch.Tensor]] = None,\n        output_attentions: bool = False,\n        use_cache: bool = False,\n    ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]:\n        bsz, q_len, _ = hidden_states.size()\n\n        query_states = self.q_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)\n        key_states = self.k_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)\n        value_states = self.v_proj(hidden_states).view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2)\n\n        kv_seq_len = key_states.shape[-2]\n        if past_key_value is not None:\n            kv_seq_len += past_key_value[0].shape[-2]\n        cos, sin = self.rotary_emb(value_states, seq_len=kv_seq_len)\n        query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin, position_ids)\n        # [bsz, nh, t, hd]\n\n        if past_key_value is not None:\n            # reuse k, v, self_attention\n            key_states = torch.cat([past_key_value[0], key_states], dim=2)\n            value_states = torch.cat([past_key_value[1], value_states], dim=2)\n\n        past_key_value = (key_states, value_states) if use_cache else None\n\n        attn_weights = torch.matmul(query_states, key_states.transpose(2, 3)) / math.sqrt(self.head_dim)\n\n        if attn_weights.size() != (bsz, self.num_heads, q_len, kv_seq_len):\n            raise ValueError(\n                f\"Attention weights should be of size {(bsz, self.num_heads, q_len, kv_seq_len)}, but is\"\n                f\" {attn_weights.size()}\"\n            )\n\n        if attention_mask is not None:\n            if attention_mask.size() != (bsz, 1, q_len, kv_seq_len):\n                raise ValueError(\n                    f\"Attention mask should be of size {(bsz, 1, q_len, kv_seq_len)}, but is {attention_mask.size()}\"\n                )\n            attn_weights = attn_weights + attention_mask\n            dtype_min = torch.tensor(\n                torch.finfo(attn_weights.dtype).min, device=attn_weights.device, dtype=attn_weights.dtype\n            )\n            attn_weights = torch.max(attn_weights, dtype_min)\n\n        # upcast attention to fp32\n        attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query_states.dtype)\n        attn_output = torch.matmul(attn_weights, value_states)\n\n        if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim):\n            raise ValueError(\n                f\"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is\"\n                f\" {attn_output.size()}\"\n            )\n\n        attn_output = attn_output.transpose(1, 2)\n        attn_output = attn_output.reshape(bsz, q_len, self.hidden_size)\n\n        attn_output = self.o_proj(attn_output)\n\n        if not output_attentions:\n            attn_weights = None\n\n        return attn_output, attn_weights, past_key_value\n\n\nclass LlamaDecoderLayer(nn.Module):\n    def __init__(self, config: LlamaConfig):\n        super().__init__()\n        self.hidden_size = config.hidden_size\n        self.self_attn = LlamaAttention(config=config)\n        self.mlp = LlamaMLP(\n            hidden_size=self.hidden_size,\n            intermediate_size=config.intermediate_size,\n            hidden_act=config.hidden_act,\n        )\n        self.input_layernorm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps)\n        self.post_attention_layernorm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps)\n\n    def forward(\n        self,\n        hidden_states: torch.Tensor,\n        attention_mask: Optional[torch.Tensor] = None,\n        position_ids: Optional[torch.LongTensor] = None,\n        past_key_value: Optional[Tuple[torch.Tensor]] = None,\n        output_attentions: Optional[bool] = False,\n        use_cache: Optional[bool] = False,\n    ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]:\n        \"\"\"\n        Args:\n            hidden_states (`torch.FloatTensor`): input to the layer of shape `(batch, seq_len, embed_dim)`\n            attention_mask (`torch.FloatTensor`, *optional*): attention mask of size\n                `(batch, 1, tgt_len, src_len)` where padding elements are indicated by very large negative values.\n            output_attentions (`bool`, *optional*):\n                Whether or not to return the attentions tensors of all attention layers. See `attentions` under\n                returned tensors for more detail.\n            use_cache (`bool`, *optional*):\n                If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding\n                (see `past_key_values`).\n            past_key_value (`Tuple(torch.FloatTensor)`, *optional*): cached past key and value projection states\n        \"\"\"\n\n        residual = hidden_states\n\n        hidden_states = self.input_layernorm(hidden_states)\n\n        # Self Attention\n        hidden_states, self_attn_weights, present_key_value = self.self_attn(\n            hidden_states=hidden_states,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            past_key_value=past_key_value,\n            output_attentions=output_attentions,\n            use_cache=use_cache,\n        )\n        hidden_states = residual + hidden_states\n\n        # Fully Connected\n        residual = hidden_states\n        hidden_states = self.post_attention_layernorm(hidden_states)\n        hidden_states = self.mlp(hidden_states)\n        hidden_states = residual + hidden_states\n\n        outputs = (hidden_states,)\n\n        if output_attentions:\n            outputs += (self_attn_weights,)\n\n        if use_cache:\n            outputs += (present_key_value,)\n\n        return outputs\n\n\nLLAMA_START_DOCSTRING = r\"\"\"\n    This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the\n    library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads\n    etc.)\n\n    This model is also a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass.\n    Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage\n    and behavior.\n\n    Parameters:\n        config ([`LlamaConfig`]):\n            Model configuration class with all the parameters of the model. Initializing with a config file does not\n            load the weights associated with the model, only the configuration. Check out the\n            [`~PreTrainedModel.from_pretrained`] method to load the model weights.\n\"\"\"\n\n\n@add_start_docstrings(\n    \"The bare LLaMA Model outputting raw hidden-states without any specific head on top.\",\n    LLAMA_START_DOCSTRING,\n)\nclass LlamaPreTrainedModel(PreTrainedModel):\n    config_class = LlamaConfig\n    base_model_prefix = \"model\"\n    supports_gradient_checkpointing = True\n    _no_split_modules = [\"LlamaDecoderLayer\"]\n    _skip_keys_device_placement = \"past_key_values\"\n\n    def _init_weights(self, module):\n        std = self.config.initializer_range\n        if isinstance(module, nn.Linear):\n            module.weight.data.normal_(mean=0.0, std=std)\n            if module.bias is not None:\n                module.bias.data.zero_()\n        elif isinstance(module, nn.Embedding):\n            module.weight.data.normal_(mean=0.0, std=std)\n            if module.padding_idx is not None:\n                module.weight.data[module.padding_idx].zero_()\n\n    def _set_gradient_checkpointing(self, module, value=False):\n        if isinstance(module, LlamaModel):\n            module.gradient_checkpointing = value\n\n\nLLAMA_INPUTS_DOCSTRING = r\"\"\"\n    Args:\n        input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`):\n            Indices of input sequence tokens in the vocabulary. Padding will be ignored by default should you provide\n            it.\n\n            Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and\n            [`PreTrainedTokenizer.__call__`] for details.\n\n            [What are input IDs?](../glossary#input-ids)\n        attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*):\n            Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`:\n\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n\n            [What are attention masks?](../glossary#attention-mask)\n\n            Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and\n            [`PreTrainedTokenizer.__call__`] for details.\n\n            If `past_key_values` is used, optionally only the last `decoder_input_ids` have to be input (see\n            `past_key_values`).\n\n            If you want to change padding behavior, you should read [`modeling_opt._prepare_decoder_attention_mask`]\n            and modify to your needs. See diagram 1 in [the paper](https://arxiv.org/abs/1910.13461) for more\n            information on the default strategy.\n\n            - 1 indicates the head is **not masked**,\n            - 0 indicates the head is **masked**.\n        position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):\n            Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0,\n            config.n_positions - 1]`.\n\n            [What are position IDs?](../glossary#position-ids)\n        past_key_values (`tuple(tuple(torch.FloatTensor))`, *optional*, returned when `use_cache=True` is passed or when `config.use_cache=True`):\n            Tuple of `tuple(torch.FloatTensor)` of length `config.n_layers`, with each tuple having 2 tensors of shape\n            `(batch_size, num_heads, sequence_length, embed_size_per_head)`) and 2 additional tensors of shape\n            `(batch_size, num_heads, encoder_sequence_length, embed_size_per_head)`.\n\n            Contains pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention\n            blocks) that can be used (see `past_key_values` input) to speed up sequential decoding.\n\n            If `past_key_values` are used, the user can optionally input only the last `decoder_input_ids` (those that\n            don't have their past key value states given to this model) of shape `(batch_size, 1)` instead of all\n            `decoder_input_ids` of shape `(batch_size, sequence_length)`.\n        inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*):\n            Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This\n            is useful if you want more control over how to convert `input_ids` indices into associated vectors than the\n            model's internal embedding lookup matrix.\n        use_cache (`bool`, *optional*):\n            If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding (see\n            `past_key_values`).\n        output_attentions (`bool`, *optional*):\n            Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned\n            tensors for more detail.\n        output_hidden_states (`bool`, *optional*):\n            Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for\n            more detail.\n        return_dict (`bool`, *optional*):\n            Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple.\n\"\"\"\n\n\n@add_start_docstrings(\n    \"The bare LLaMA Model outputting raw hidden-states without any specific head on top.\",\n    LLAMA_START_DOCSTRING,\n)\nclass LlamaModel(LlamaPreTrainedModel):\n    \"\"\"\n    Transformer decoder consisting of *config.num_hidden_layers* layers. Each layer is a [`LlamaDecoderLayer`]\n\n    Args:\n        config: LlamaConfig\n    \"\"\"\n\n    def __init__(self, config: LlamaConfig):\n        super().__init__(config)\n        self.padding_idx = config.pad_token_id\n        self.vocab_size = config.vocab_size\n\n        self.embed_tokens = nn.Embedding(config.vocab_size, config.hidden_size, self.padding_idx)\n        self.layers = nn.ModuleList([LlamaDecoderLayer(config) for _ in range(config.num_hidden_layers)])\n        self.norm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps)\n\n        self.gradient_checkpointing = False\n        # Initialize weights and apply final processing\n        self.post_init()\n\n    def get_input_embeddings(self):\n        return self.embed_tokens\n\n    def set_input_embeddings(self, value):\n        self.embed_tokens = value\n\n    # Copied from transformers.models.bart.modeling_bart.BartDecoder._prepare_decoder_attention_mask\n    def _prepare_decoder_attention_mask(self, attention_mask, input_shape, inputs_embeds, past_key_values_length):\n        # create causal mask\n        # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len]\n        combined_attention_mask = None\n        if input_shape[-1] > 1:\n            combined_attention_mask = _make_causal_mask(\n                input_shape,\n                inputs_embeds.dtype,\n                device=inputs_embeds.device,\n                past_key_values_length=past_key_values_length,\n            )\n\n        if attention_mask is not None:\n            # [bsz, seq_len] -> [bsz, 1, tgt_seq_len, src_seq_len]\n            expanded_attn_mask = _expand_mask(attention_mask, inputs_embeds.dtype, tgt_len=input_shape[-1]).to(\n                inputs_embeds.device\n            )\n            combined_attention_mask = (\n                expanded_attn_mask if combined_attention_mask is None else expanded_attn_mask + combined_attention_mask\n            )\n\n        return combined_attention_mask\n\n    @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING)\n    def forward(\n        self,\n        input_ids: torch.LongTensor = None,\n        attention_mask: Optional[torch.Tensor] = None,\n        position_ids: Optional[torch.LongTensor] = None,\n        past_key_values: Optional[List[torch.FloatTensor]] = None,\n        inputs_embeds: Optional[torch.FloatTensor] = None,\n        use_cache: Optional[bool] = None,\n        output_attentions: Optional[bool] = None,\n        output_hidden_states: Optional[bool] = None,\n        return_dict: Optional[bool] = None,\n    ) -> Union[Tuple, BaseModelOutputWithPast]:\n        output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions\n        output_hidden_states = (\n            output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states\n        )\n        use_cache = use_cache if use_cache is not None else self.config.use_cache\n\n        return_dict = return_dict if return_dict is not None else self.config.use_return_dict\n\n        # retrieve input_ids and inputs_embeds\n        if input_ids is not None and inputs_embeds is not None:\n            raise ValueError(\"You cannot specify both decoder_input_ids and decoder_inputs_embeds at the same time\")\n        elif input_ids is not None:\n            batch_size, seq_length = input_ids.shape\n        elif inputs_embeds is not None:\n            batch_size, seq_length, _ = inputs_embeds.shape\n        else:\n            raise ValueError(\"You have to specify either decoder_input_ids or decoder_inputs_embeds\")\n\n        seq_length_with_past = seq_length\n        past_key_values_length = 0\n\n        if past_key_values is not None:\n            past_key_values_length = past_key_values[0][0].shape[2]\n            seq_length_with_past = seq_length_with_past + past_key_values_length\n\n        if position_ids is None:\n            device = input_ids.device if input_ids is not None else inputs_embeds.device\n            position_ids = torch.arange(\n                past_key_values_length, seq_length + past_key_values_length, dtype=torch.long, device=device\n            )\n            position_ids = position_ids.unsqueeze(0).view(-1, seq_length)\n        else:\n            position_ids = position_ids.view(-1, seq_length).long()\n\n        if inputs_embeds is None:\n            inputs_embeds = self.embed_tokens(input_ids)\n        # embed positions\n        if attention_mask is None:\n            attention_mask = torch.ones(\n                (batch_size, seq_length_with_past), dtype=torch.bool, device=inputs_embeds.device\n            )\n        attention_mask = self._prepare_decoder_attention_mask(\n            attention_mask, (batch_size, seq_length), inputs_embeds, past_key_values_length\n        )\n\n        hidden_states = inputs_embeds\n\n        if self.gradient_checkpointing and self.training:\n            if use_cache:\n                logger.warning_once(\n                    \"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...\"\n                )\n                use_cache = False\n\n        # decoder layers\n        all_hidden_states = () if output_hidden_states else None\n        all_self_attns = () if output_attentions else None\n        next_decoder_cache = () if use_cache else None\n\n        for idx, decoder_layer in enumerate(self.layers):\n            if output_hidden_states:\n                all_hidden_states += (hidden_states,)\n\n            past_key_value = past_key_values[idx] if past_key_values is not None else None\n\n            if self.gradient_checkpointing and self.training:\n\n                def create_custom_forward(module):\n                    def custom_forward(*inputs):\n                        # None for past_key_value\n                        return module(*inputs, output_attentions, None)\n\n                    return custom_forward\n\n                layer_outputs = torch.utils.checkpoint.checkpoint(\n                    create_custom_forward(decoder_layer),\n                    hidden_states,\n                    attention_mask,\n                    position_ids,\n                    None,\n                )\n            else:\n                layer_outputs = decoder_layer(\n                    hidden_states,\n                    attention_mask=attention_mask,\n                    position_ids=position_ids,\n                    past_key_value=past_key_value,\n                    output_attentions=output_attentions,\n                    use_cache=use_cache,\n                )\n\n            hidden_states = layer_outputs[0]\n\n            if use_cache:\n                next_decoder_cache += (layer_outputs[2 if output_attentions else 1],)\n\n            if output_attentions:\n                all_self_attns += (layer_outputs[1],)\n\n        hidden_states = self.norm(hidden_states)\n\n        # add hidden states from the last decoder layer\n        if output_hidden_states:\n            all_hidden_states += (hidden_states,)\n\n        next_cache = next_decoder_cache if use_cache else None\n        if not return_dict:\n            return tuple(v for v in [hidden_states, next_cache, all_hidden_states, all_self_attns] if v is not None)\n        return BaseModelOutputWithPast(\n            last_hidden_state=hidden_states,\n            past_key_values=next_cache,\n            hidden_states=all_hidden_states,\n            attentions=all_self_attns,\n        )\n\n\nclass LlamaForCausalLM(LlamaPreTrainedModel):\n    _tied_weights_keys = [\"lm_head.weight\"]\n\n    def __init__(self, config):\n        super().__init__(config)\n        self.model = LlamaModel(config)\n\n        self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False)\n\n        # Initialize weights and apply final processing\n        self.post_init()\n\n    def get_input_embeddings(self):\n        return self.model.embed_tokens\n\n    def set_input_embeddings(self, value):\n        self.model.embed_tokens = value\n\n    def get_output_embeddings(self):\n        return self.lm_head\n\n    def set_output_embeddings(self, new_embeddings):\n        self.lm_head = new_embeddings\n\n    def set_decoder(self, decoder):\n        self.model = decoder\n\n    def get_decoder(self):\n        return self.model\n\n    @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING)\n    @replace_return_docstrings(output_type=CausalLMOutputWithPast, config_class=_CONFIG_FOR_DOC)\n    def forward(\n        self,\n        input_ids: torch.LongTensor = None,\n        attention_mask: Optional[torch.Tensor] = None,\n        position_ids: Optional[torch.LongTensor] = None,\n        past_key_values: Optional[List[torch.FloatTensor]] = None,\n        inputs_embeds: Optional[torch.FloatTensor] = None,\n        labels: Optional[torch.LongTensor] = None,\n        use_cache: Optional[bool] = None,\n        output_attentions: Optional[bool] = None,\n        output_hidden_states: Optional[bool] = None,\n        return_dict: Optional[bool] = None,\n    ) -> Union[Tuple, CausalLMOutputWithPast]:\n        r\"\"\"\n        Args:\n            labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*):\n                Labels for computing the masked language modeling loss. Indices should either be in `[0, ...,\n                config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored\n                (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`.\n\n        Returns:\n\n        Example:\n\n        ```python\n        >>> from transformers import AutoTokenizer, LlamaForCausalLM\n\n        >>> model = LlamaForCausalLM.from_pretrained(PATH_TO_CONVERTED_WEIGHTS)\n        >>> tokenizer = AutoTokenizer.from_pretrained(PATH_TO_CONVERTED_TOKENIZER)\n\n        >>> prompt = \"Hey, are you conscious? Can you talk to me?\"\n        >>> inputs = tokenizer(prompt, return_tensors=\"pt\")\n\n        >>> # Generate\n        >>> generate_ids = model.generate(inputs.input_ids, max_length=30)\n        >>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]\n        \"Hey, are you conscious? Can you talk to me?\\nI'm not conscious, but I can talk to you.\"\n        ```\"\"\"\n\n        output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions\n        output_hidden_states = (\n            output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states\n        )\n        return_dict = return_dict if return_dict is not None else self.config.use_return_dict\n\n        # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn)\n        outputs = self.model(\n            input_ids=input_ids,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            past_key_values=past_key_values,\n            inputs_embeds=inputs_embeds,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n        )\n\n        hidden_states = outputs[0]\n        logits = self.lm_head(hidden_states)\n\n        loss = None\n        if labels is not None:\n            len_labels=labels.shape[1]\n            # Shift so that tokens < n predict n\n            shift_logits = logits[..., -len_labels:-1, :].contiguous()\n            shift_labels = labels[..., 1:].contiguous()\n            # Flatten the tokens\n            loss_fct = CrossEntropyLoss(ignore_index=-100)\n            shift_logits = shift_logits.view(-1, self.config.vocab_size)\n            shift_labels = shift_labels.view(-1)\n            # Enable model parallelism\n            shift_labels = shift_labels.to(shift_logits.device)\n            loss = loss_fct(shift_logits, shift_labels)\n\n        if not return_dict:\n            output = (logits,) + outputs[1:]\n            return (loss,) + output if loss is not None else output\n\n        return CausalLMOutputWithPast(\n            loss=loss,\n            logits=logits,\n            past_key_values=outputs.past_key_values,\n            hidden_states=outputs.hidden_states,\n            attentions=outputs.attentions,\n        )\n\n    def prepare_inputs_for_generation(\n        self, input_ids, past_key_values=None, attention_mask=None, inputs_embeds=None, **kwargs\n    ):\n        if past_key_values:\n            input_ids = input_ids[:, -1:]\n\n        position_ids = kwargs.get(\"position_ids\", None)\n        if attention_mask is not None and position_ids is None:\n            # create position_ids on the fly for batch generation\n            position_ids = attention_mask.long().cumsum(-1) - 1\n            position_ids.masked_fill_(attention_mask == 0, 1)\n            if past_key_values:\n                position_ids = position_ids[:, -1].unsqueeze(-1)\n\n        # if `inputs_embeds` are passed, we only want to use them in the 1st generation step\n        if inputs_embeds is not None and past_key_values is None:\n            model_inputs = {\"inputs_embeds\": inputs_embeds}\n        else:\n            model_inputs = {\"input_ids\": input_ids}\n\n        model_inputs.update(\n            {\n                \"position_ids\": position_ids,\n                \"past_key_values\": past_key_values,\n                \"use_cache\": kwargs.get(\"use_cache\"),\n                \"attention_mask\": attention_mask,\n            }\n        )\n        return model_inputs\n\n    @staticmethod\n    def _reorder_cache(past_key_values, beam_idx):\n        reordered_past = ()\n        for layer_past in past_key_values:\n            reordered_past += (\n                tuple(past_state.index_select(0, beam_idx.to(past_state.device)) for past_state in layer_past),\n            )\n        return reordered_past\n\n\n@add_start_docstrings(\n    \"\"\"\n    The LLaMa Model transformer with a sequence classification head on top (linear layer).\n\n    [`LlamaForSequenceClassification`] uses the last token in order to do the classification, as other causal models\n    (e.g. GPT-2) do.\n\n    Since it does classification on the last token, it requires to know the position of the last token. If a\n    `pad_token_id` is defined in the configuration, it finds the last token that is not a padding token in each row. If\n    no `pad_token_id` is defined, it simply takes the last value in each row of the batch. Since it cannot guess the\n    padding tokens when `inputs_embeds` are passed instead of `input_ids`, it does the same (take the last value in\n    each row of the batch).\n    \"\"\",\n    LLAMA_START_DOCSTRING,\n)\nclass LlamaForSequenceClassification(LlamaPreTrainedModel):\n    def __init__(self, config):\n        super().__init__(config)\n        self.num_labels = config.num_labels\n        self.model = LlamaModel(config)\n        self.score = nn.Linear(config.hidden_size, self.num_labels, bias=False)\n\n        # Initialize weights and apply final processing\n        self.post_init()\n\n    def get_input_embeddings(self):\n        return self.model.embed_tokens\n\n    def set_input_embeddings(self, value):\n        self.model.embed_tokens = value\n\n    @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING)\n    def forward(\n        self,\n        input_ids: torch.LongTensor = None,\n        attention_mask: Optional[torch.Tensor] = None,\n        position_ids: Optional[torch.LongTensor] = None,\n        past_key_values: Optional[List[torch.FloatTensor]] = None,\n        inputs_embeds: Optional[torch.FloatTensor] = None,\n        labels: Optional[torch.LongTensor] = None,\n        use_cache: Optional[bool] = None,\n        output_attentions: Optional[bool] = None,\n        output_hidden_states: Optional[bool] = None,\n        return_dict: Optional[bool] = None,\n    ) -> Union[Tuple, SequenceClassifierOutputWithPast]:\n        r\"\"\"\n        labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*):\n            Labels for computing the sequence classification/regression loss. Indices should be in `[0, ...,\n            config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If\n            `config.num_labels > 1` a classification loss is computed (Cross-Entropy).\n        \"\"\"\n        return_dict = return_dict if return_dict is not None else self.config.use_return_dict\n\n        transformer_outputs = self.model(\n            input_ids,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            past_key_values=past_key_values,\n            inputs_embeds=inputs_embeds,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n        )\n        hidden_states = transformer_outputs[0]\n        logits = self.score(hidden_states)\n\n        if input_ids is not None:\n            batch_size = input_ids.shape[0]\n        else:\n            batch_size = inputs_embeds.shape[0]\n\n        if self.config.pad_token_id is None and batch_size != 1:\n            raise ValueError(\"Cannot handle batch sizes > 1 if no padding token is defined.\")\n        if self.config.pad_token_id is None:\n            sequence_lengths = -1\n        else:\n            if input_ids is not None:\n                sequence_lengths = (torch.ne(input_ids, self.config.pad_token_id).sum(-1) - 1).to(logits.device)\n            else:\n                sequence_lengths = -1\n\n        pooled_logits = logits[torch.arange(batch_size, device=logits.device), sequence_lengths]\n\n        loss = None\n        if labels is not None:\n            labels = labels.to(logits.device)\n            if self.config.problem_type is None:\n                if self.num_labels == 1:\n                    self.config.problem_type = \"regression\"\n                elif self.num_labels > 1 and (labels.dtype == torch.long or labels.dtype == torch.int):\n                    self.config.problem_type = \"single_label_classification\"\n                else:\n                    self.config.problem_type = \"multi_label_classification\"\n\n            if self.config.problem_type == \"regression\":\n                loss_fct = MSELoss()\n                if self.num_labels == 1:\n                    loss = loss_fct(pooled_logits.squeeze(), labels.squeeze())\n                else:\n                    loss = loss_fct(pooled_logits, labels)\n            elif self.config.problem_type == \"single_label_classification\":\n                loss_fct = CrossEntropyLoss()\n                loss = loss_fct(pooled_logits.view(-1, self.num_labels), labels.view(-1))\n            elif self.config.problem_type == \"multi_label_classification\":\n                loss_fct = BCEWithLogitsLoss()\n                loss = loss_fct(pooled_logits, labels)\n        if not return_dict:\n            output = (pooled_logits,) + transformer_outputs[1:]\n            return ((loss,) + output) if loss is not None else output\n\n        return SequenceClassifierOutputWithPast(\n            loss=loss,\n            logits=pooled_logits,\n            past_key_values=transformer_outputs.past_key_values,\n            hidden_states=transformer_outputs.hidden_states,\n            attentions=transformer_outputs.attentions,\n        )"
  },
  {
    "path": "readme.md",
    "content": "# SECAP: Speech Emotion Captioning with Large Language Model\r\nSECap: [Paper](https://ojs.aaai.org/index.php/AAAI/article/view/29902) | [arXiv](https://arxiv.org/abs/2312.10381) | [Demo](https://thuhcsi.github.io/secap_demo/)\r\n\r\n\r\n![model](picture/model.png)\r\n\r\nThis repository contains the implementation of the paper \"SECap: Speech Emotion Captioning with Large Language Model\".Please refer to our paper for more details. \r\n\r\nThe repo includes the model code, training and testing scripts, and a test dataset. The test dataset consists of 600 wav audio files and their corresponding emotion descriptions.\r\n\r\n## Datset\r\nWe public the 600-test dataset in the `dataset` folder. The dataset consists of 600 wav audio files and their corresponding emotion descriptions. \r\n\r\nThe `dataset` folder contains the following files:\r\n\r\n`wav`: the folder contains 600 wav audio files.\r\n\r\n`text.txt`: the file contains the transcribtion of the 600 audio files.\r\n\r\n`fid2captions.json`: the file contains the emotion captions of the 600 audio files.\r\n\r\n## Download\r\nYou can simply download the repository by using the following command:\r\n\r\n```\r\ngit clone https://github.com/thuhcsi/SECap.git\r\n```\r\n\r\n## Installation\r\n\r\nTo install the project dependencies, use the following command:\r\n```\r\nconda env create -f environment.yml\r\n```\r\n\r\n## Pretrained Model\r\nYou need to download two fils to run the code. The first one is the `model.ckpt`, which is the pretrained model of the SECaps. The second one is the `weights`, which is the required weights of dependencies.\r\n\r\nIf you download the `weights.tar.gz`, you need to unzip it and put the files in `weights` folder.\r\n\r\n```\r\ntar -xvf weights.tar.gz -C path/to/SECap\r\n```\r\n\r\nThen you need to put the `model.ckpt` file and `weights` folder in the main folder(SECap).\r\n\r\n---\r\n\r\nYou can download the `model.ckpt` from [kuake pandownload](https://pan.quark.cn/s/1c3deee6cd68) or [google drive](https://drive.google.com/file/d/11q_ZXj0wXnLcw3nH-m8LyI_egMMDaMvR/view?usp=drive_link) and put it in the main folder.\r\n\r\nYou can download the `weights` from [kuake pandownload](https://pan.quark.cn/s/53891d06c3db) or `weights.tar.gz` from [google drive](https://drive.google.com/file/d/1drs4-i5g8Ta7OVjriKU3vJTshj2Va9_B/view?usp=drive_link) and put it in the main folder.\r\n\r\n---\r\n\r\nMeanwhile. we have provided the pretrained checkpoints in the huggingface model hub. You can also download `model.ckpt` and `weights.tar.gz`from [here](https://huggingface.co/yaoxunxu/SECaps). \r\n\r\n---\r\n\r\n\r\n## Inference and Testing\r\n\r\nIf you want to test the model on your own data, use the `inference.py` script. For example:\r\n\r\n```\r\ncd scripts\r\npython inference.py --wavdir /path/to/your/audio.wav\r\n```\r\n\r\n\r\nIf you want to test the model on the provided test dataset of 600 audio files and their emotion descriptions, use the `test.py` script. For example:\r\n\r\n```\r\ncd scripts\r\npython test.py \r\n```\r\n\r\n\r\n## Training\r\n\r\nIf you want to train the model, use the `train.py` script. But first, you need to create a training dataset. The training dataset should be a folder containing audio files and their corresponding emotion descriptions.\r\nFor example:\r\n\r\n```\r\ncd scripts\r\npython train.py \r\n```\r\n\r\n\r\n## Calculating Similarity\r\nWe use the sentence similarity to evaluate the generated descriptions.\r\n\r\nSpecifically, we generate the descriptions of the 600 audio files for 8 times and calculate the similarity between each sentence and the other 7 sentences, and remove the 3 sentences with the lowest average similarity. We use these 5 sentences as the final generated descriptions and calculate the similarity between the generated descriptions and the ground truth descriptions.\r\n\r\nIf you want to calculate the similarity between the generated descriptions and the ground truth descriptions, use the `tool/get_sentence_simi.py` script. For example:\r\n\r\n```\r\ncd tool\r\n# modify the path in get_sentence_simi.py\r\npython get_sentence_simi.py\r\n```\r\n\r\nYou can also use the `tool/get_sentence_simi.py` script to calculate the similarity between the generated descriptions and the ground truth descriptions of your own data. \r\n\r\n## Result\r\nYou can find your result in the `result` folder.\r\n\r\nWe also provide one of our results in the `result` folder,which is result.txt. \r\n\r\nIt uses the prompt\"请用中文用一句话描述上面给出的音频中说话人的情感：\",You can use one of the training prompts or your own prompt.\r\n\r\n## Citation\r\n\r\nIf you use this repository in your research, please kindly cite our paper:\r\n\r\n```\r\n@inproceedings{xu2024secap,\r\n  title={Secap: Speech emotion captioning with large language model},\r\n  author={Xu, Yaoxun and Chen, Hangting and Yu, Jianwei and Huang, Qiaochu and Wu, Zhiyong and Zhang, Shi-Xiong and Li, Guangzhi and Luo, Yi and Gu, Rongzhi},\r\n  booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},\r\n  volume={38},\r\n  number={17},\r\n  pages={19323--19331},\r\n  year={2024}\r\n}\r\n```\r\n"
  },
  {
    "path": "result/result.txt",
    "content": "file: tx_emotion_00303000260.wav\norigin: 心情快乐舒畅\nresult: 快乐而愉悦，心情舒畅\nresult2: 情绪很舒畅\nresult3: 情绪很舒畅\nresult4: 快乐而愉悦，心情舒畅\nresult5: 快乐而愉悦，心情舒畅\n\nfile: tx_emotion_00403000145.wav\norigin: 越想心里越快乐，越想心里越美\nresult: 高兴极了，很是开心\nresult2: 高兴极了，很是开心\nresult3: 高兴极了，很是开心\nresult4: 高兴极了，很是开心\nresult5: 高兴极了，很是开心\n\nfile: tx_emotion_00204000391.wav\norigin: 心里生气，不爽\nresult: 心生不满，感到气愤\nresult2: 心生不满，感到气愤\nresult3: 心生不满，感到气愤\nresult4: 心生不满，感到气愤\nresult5: 感到很生气，气愤不已\n\nfile: tx_emulate_02_231_0008_000034.wav\norigin: 语调高扬，反对的语气，突出内心的不满和愤怒\nresult: 语速较快，声音较高，情绪中带着一丝不满\nresult2: 语速较快，声音较高，情绪中带着一丝不满\nresult3: 语速较快，声音较高，情绪中带着一丝不满\nresult4: 语速较快，声音较高，情绪中带着一丝不满\nresult5: 语速较快，声音较高，情绪中带着一丝不满\n\nfile: tx_xiao_0200103000102.wav\norigin: 又惊又喜，语气中充满喜悦和惊讶\nresult: 满怀期待，语气中充满兴奋和快乐\nresult2: 满怀期待，语气中充满兴奋和欣喜\nresult3: 满怀期待，语气中充满快乐\nresult4: 满怀期待的语气，情绪中透着激动和兴奋\nresult5: 满怀期待，语气中充满欢乐和快乐\n\nfile: tx_xiao_0200107000936.wav\norigin: 表明内心充满委屈和不满，流露出极度的悲伤\nresult: 情绪波动较大，语气中充满了委屈和难过\nresult2: 情绪波动较大，语气中充满了委屈难过\nresult3: 情绪波动较大，语气中充满了委屈和难过\nresult4: 情绪波动较大，语气中充满了委屈和难过\nresult5: 情绪波动较大，语气中充满了委屈和难过\n\nfile: tx_emulate_02_263_0002_000014.wav\norigin: 推拒的语气，语气欢乐，突出心情的舒畅开心\nresult: 语速轻快，声音高扬上扬，情绪中带着开心和快乐\nresult2: 语速轻快，声音高扬上扬，情绪中带着开心和快乐\nresult3: 语速轻快，声音高扬威，话语中带着快乐的情绪\nresult4: 语速轻快，声音高扬抖擞，情绪中带着开心和快乐\nresult5: 语速很快，声音轻快情绪中很舒爽\n\nfile: tx_emulate_02_057_0034_000160.wav\norigin: 声音很重，语气十分愤慨，情绪激动而带有怒气\nresult: 语气不平，语速变快，情绪中带有怒火\nresult2: 语气不平，语速变快，情绪中带有怒火\nresult3: 语气不平，语速变快，言语中带有怒火\nresult4: 语气不平，语速变快，情绪中带有怒火\nresult5: 语气不平，语速变快，情绪中带有怒火\n\nfile: tx_emotion_00201000209.wav\norigin: 内心对他人感到抱歉，责怪自己\nresult: 细致，不急躁\nresult2: 细致，心酸悲痛\nresult3: 冷静，不急躁\nresult4: 冷静，不急躁\nresult5: 细致，心酸痛苦\n\nfile: tx_emotion_00403000157.wav\norigin: 发自内心的喜悦\nresult: 开心，欢乐\nresult2: 高兴快乐，开心\nresult3: 开心，欢乐\nresult4: 开心，欢乐\nresult5: 开心，欢乐\n\nfile: tx_emotion_00403000393.wav\norigin: 形容内心十分开心，高兴\nresult: 欢乐，不禁哈哈大笑\nresult2: 欢乐，不禁欢呼雀跃\nresult3: 欢乐，不禁哈哈大笑\nresult4: 欢乐，不禁哈哈大笑\nresult5: 欢乐，不禁欢呼雀跃\n\nfile: tx_emulate_01_002_0007_000012.wav\norigin: 声音用力，语气上扬，非常生气的情感。\nresult: 声音激烈，语气中透露出一种不耐烦的情绪\nresult2: 声音激烈，语气中透露出一种不耐烦的情绪\nresult3: 声音激烈，语气中透露着不耐烦的情绪\nresult4: 声音激烈，语气中透露着不耐烦的情绪\nresult5: 声音激烈，语气中透露出一种不耐烦的情绪\n\nfile: tx_emulate_02_245_0001_000034.wav\norigin: 声音高亢尖利，语气里带着不悦，情绪激动，非常恼怒的情绪\nresult: 语气不悦，内心十分不开心，而且特别的愤怒\nresult2: 语气不悦，表达心中的不满和责怪\nresult3: 语气激昂，内心十分不开心，而且特别的愤怒\nresult4: 语气激昂，表达内心的愤怒和不悦\nresult5: 语气激昂，内心十分不悦和不开心\n\nfile: tx_emotion_00303000082.wav\norigin: 感到幸福和满意\nresult: 很开心而感到\nresult2: 很开心而感到\nresult3: 很开心而感到\nresult4: 很开心而感到\nresult5: 很开心而感到\n\nfile: tx_emulate_00_109_0004_000071.wav\norigin: 语速极快，情绪中非常不爽，声音很尖锐，后面又流露放缓了态度\nresult: 语气中带有一种不满和不耐烦的情绪，还有一点抱怨\nresult2: 语气中带有一种不满和不耐烦，还有一点抱怨\nresult3: 语气中带有一种不满和不耐烦，还有一点抱怨\nresult4: 语气中带有一种不满和不耐烦的情绪，还有一点抱怨\nresult5: 语气中带有一种不满和不耐烦的情绪，还有一点抱怨\n\nfile: tx_emulate_02_042_0002_000101.wav\norigin: 语气激烈，情绪非常激动，有愤怒的情绪。\nresult: 语气较重，情绪激动，心中充满愤怒。\nresult2: 语气较重，情绪中充满愤怒\nresult3: 语气较重，情绪激动，心中有愤怒之情\nresult4: 语气较重，情绪激动，心中充满愤怒。\nresult5: 语气较重，情绪中充满愤怒\n\nfile: tx_xiao_0200105000606.wav\norigin: 语调高昂且急促，表达生气不满之情。\nresult: 语调低沉，声音嘶哑，情绪中透露出愤慨的感觉。\nresult2: 语调高昂，声音中透露出愤慨的情绪。\nresult3: 语调低沉，声音中透露出愤慨的情绪。\nresult4: 语调高昂，声音中透露出愤慨的情绪。\nresult5: 语调高昂，声音中透露出愤懑的情绪。\n\nfile: tx_xiao_0200107001042.wav\norigin: 语气中充满了悲伤痛苦，声音较小传递了悲痛欲绝的情绪，有哭泣声\nresult: 语气低沉，情绪悲痛欲绝。\nresult2: 语气低沉，情绪悲痛欲绝，内心十分痛苦\nresult3: 语气十分低落，情绪悲痛欲绝，内心痛苦不堪\nresult4: 语气低沉，情绪悲痛欲绝，内心痛苦不堪\nresult5: 语气低沉，情绪悲痛欲绝，内心痛苦不堪\n\nfile: tx_xiao_0200103000095.wav\norigin: 语调高，语气激动，情绪积极向往，十分期盼\nresult: 情绪激动，语调上扬，声音中透露出高兴\nresult2: 情绪激动，语气中带有兴奋和欣喜。\nresult3: 情绪激动，语调上扬，声音中透露出欣喜\nresult4: 情绪激动，语调上扬，声音中透露出欣喜\nresult5: 情绪激动，语气中带有兴奋和欣喜。\n\nfile: tx_emotion_00309000160.wav\norigin: 感到又惊又喜，不可思议\nresult: 感到难以置信，不敢相信\nresult2: 感到难以置信，不敢相信\nresult3: 感到难以置信，不敢相信\nresult4: 感到难以置信，不敢相信\nresult5: 感到不可思议，意想不到\n\nfile: tx_emulate_01_003_0003_000018.wav\norigin: 非常高兴，话语中透露着喜欢和愉悦\nresult: 语气中透露着一种愉悦的心情，还有一点的期待\nresult2: 语气中透露着一种愉悦的心情，还有一点的期待\nresult3: 语气中透露着一种愉悦的心情，还有一点的期待\nresult4: 语气中透露着一种愉悦的心情，还有一点的期待\nresult5: 语气中透露着一种愉悦的心情，还有一点的期待\n\nfile: tx_xiao_0200105000643.wav\norigin: 语调高昂，语速极快，流露生气不满之情。\nresult: 语调高昂，情绪中透露出气愤和恼怒。\nresult2: 语调高昂，情绪中透露出气愤和恼怒。\nresult3: 语调高昂，情绪中透露出恼怒和气愤。\nresult4: 语调高昂，情绪中透露出气愤和恼怒。\nresult5: 语调高昂，情绪中透露出气愤和愤怒。\n\nfile: tx_emotion_00207000162.wav\norigin: 内心内疚，泣不成声，情绪无法控制\nresult: 忧伤，伤心难过\nresult2: 忧伤，伤心难过\nresult3: 忧伤，伤心难过\nresult4: 忧伤，伤心难过\nresult5: 忧伤，伤心难过\n\nfile: tx_xiao_0100101000076.wav\norigin: 有强烈的自嘲感，对自己的行为等十分不屑却又感到悲伤与无奈\nresult: 语气低沉，情绪中透露出无奈。\nresult2: 语气低沉，情绪中透露出无奈。\nresult3: 语气低沉，情绪中透露出无奈。\nresult4: 语气低沉，情绪中透露出失落与无奈。\nresult5: 语气低沉，情绪中透露出无奈。\n\nfile: tx_emotion_00303000198.wav\norigin: 心情快乐舒畅\nresult: 快乐而喜悦\nresult2: 快乐而喜悦\nresult3: 快乐而喜悦\nresult4: 快乐而喜悦\nresult5: 快乐而喜悦\n\nfile: tx_emulate_02_051_0001_000002.wav\norigin: 音调很高，语速很快，内心有点不满的情绪。\nresult: 语速很快，特别的生气，而且很不开心。\nresult2: 语速很快，特别的生气，而且很气愤。\nresult3: 语速很快，特别的生气，而且很气愤。\nresult4: 语速很快，特别的生气，而且非常的气愤。\nresult5: 语速很快，特别的生气，而且非常的愤怒。\n\nfile: tx_emotion_00305000283.wav\norigin: 对往事的追忆中带有心酸，还有一丝伤感。\nresult: 难过，伤心，恼怒\nresult2: 难过，伤心，恼怒\nresult3: 难过，伤心，恼怒\nresult4: 难过，伤心，恼怒\nresult5: 难过，伤心，恼怒\n\nfile: tx_emotion_00203000069.wav\norigin: 对什么感到很喜欢，心里很是欢喜\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 欢快，心情舒畅\nresult4: 欢快，心情舒畅\nresult5: 欢快，心情舒畅\n\nfile: tx_xiao_0200103000554.wav\norigin: 感觉是自尊心得到了极大的满足，说话语气带有兴奋和得意之感\nresult: 情绪激动，内心充满欢喜和喜悦\nresult2: 情绪激动，内心充满喜悦和欣喜\nresult3: 情绪激动，内心充满欢喜和喜悦\nresult4: 情绪激动，内心充满欢喜和喜悦\nresult5: 情绪激动，内心充满欢喜和喜悦\n\nfile: tx_emotion_00402000480.wav\norigin: 愤怒得咬牙切齿，恶狠狠的样子\nresult: 很生气，让人觉得很愤怒\nresult2: 很生气，愤怒的\nresult3: 很生气，让人觉得很愤怒\nresult4: 很生气，让人觉得很愤怒\nresult5: 很生气，让人觉得很愤怒\n\nfile: tx_emotion_00209000215.wav\norigin: 悲哀痛苦，悲伤难过\nresult: 感到吃惊叹止，难以置信\nresult2: 感到吃惊叹止，难以置信\nresult3: 感到吃惊叹止，难以置信\nresult4: 感到吃惊叹止，难以置信\nresult5: 感到吃惊叹止，难以置信\n\nfile: tx_emotion_00403000432.wav\norigin: 形容内心十分开心，高兴\nresult: 高兴极兴，感到很是幸福快乐\nresult2: 高兴极兴，感到很是幸福快乐\nresult3: 高兴极兴，感到很是幸福快乐\nresult4: 高兴极兴，感到很是幸福快乐\nresult5: 高兴极兴，感到很是开心\n\nfile: tx_emotion_00206000315.wav\norigin: 百思不得其解\nresult: 对人和事物充满了好奇\nresult2: 对人和事物充满了好奇\nresult3: 对人和事物充满了好奇\nresult4: 对人和事物充满了好奇\nresult5: 对人和事物充满了好奇\n\nfile: tx_emulate_02_056_0005_000027.wav\norigin: 前高后低的语调，中间语气逐渐变弱，有些不屑的语气\nresult: 语气很重，情绪中带着一丝不悦。\nresult2: 语气很重，情绪中带着一丝不悦\nresult3: 语气很重，情绪中带着一丝不悦的感觉。\nresult4: 语气很重，情绪中带着一丝不悦和不满\nresult5: 语气很重，情绪中带着一丝不悦\n\nfile: tx_emulate_00_121_0002_000009.wav\norigin: 声音带着欢快，心里比较开心，满目含笑。\nresult: 欢快的语气，重情重义，表现心情很好。\nresult2: 语速缓慢，语气欢快，突出心情愉快。\nresult3: 语速缓慢，语气轻快，突出了心情愉悦的情绪\nresult4: 欢快的语气，重情重义，突出心情愉悦。\nresult5: 语速缓慢，语气欢快，突出心情愉悦\n\nfile: tx_emulate_02_007_0006_000025.wav\norigin: 语气不悦，心中充满不满和责怪\nresult: 语气中带着疑惑，内心有点不解。\nresult2: 语气中带着疑惑，内心有点不解。\nresult3: 语气中带着疑惑，内心有点不解。\nresult4: 语气中带着疑惑，内心有点不解。\nresult5: 语气中带着疑惑，内心有点不解。\n\nfile: tx_emulate_00_130_0001_000057.wav\norigin: 语气不确定，有疑问和困惑，摇摆不定\nresult: 语气中满是疑惑，很不理解某人或者某事。\nresult2: 语气中满是疑惑和不解，很是不理解的口吻\nresult3: 语气中满是疑惑，很不理解某人或者某事究竟怎么回事。\nresult4: 语气中满是疑惑和不解，很是不理解的口吻。\nresult5: 语气中满是好奇心，很是不理解的口吻。\n\nfile: tx_emulate_02_254_0005_000110.wav\norigin: 开始时语调波折起伏，带有强烈的无奈，后来加重音调，不爽的情绪流露出来\nresult: 语气中透露着不耐烦的感觉，表现心里的不满\nresult2: 语气中透露着不耐烦的感觉，表现心里的不满\nresult3: 语气中透露着不耐烦的感觉，表现心里的不满\nresult4: 语气中透露着不耐烦的感觉，表现心里的不满\nresult5: 语气低沉，音调上扬，声音中透露着不耐烦的感觉\n\nfile: tx_emulate_00_130_0003_000017.wav\norigin: 语气中透露欢乐，带有些些调侃\nresult: 语气中透露着一种不屑一顾的态度，心情十分烦躁。\nresult2: 语气中透露着一种不屑一顾的情绪，态度十分傲慢。\nresult3: 语气中透露着一种不屑一顾的情绪，心情十分不好。\nresult4: 语气中透露着一种不屑一顾的情绪，心情十分烦躁。\nresult5: 语气中透露着一种不屑一顾的态度，心情十分不好。\n\nfile: tx_xiao_0100103000336.wav\norigin: 因一件事心情大好，语调上扬，仿佛能看到脸上洋溢着幸福的笑容\nresult: 语气上扬，声音中透露出一种轻松愉快的情绪\nresult2: 语气上扬，声音中透露出一种轻松愉快的情绪\nresult3: 语气上扬，声音中透露出欢快的情绪\nresult4: 语气上扬，声音中透露出欢快的情绪\nresult5: 语气上扬，声音中透露出一种轻松愉快的情绪\n\nfile: tx_emulate_00_186_0001_000023.wav\norigin: 声调较高，语速较快，语气中带着愉悦，表明说话者欣喜愉悦的心情\nresult: 语速较快，声调较高，语气中带着快乐，凸显了说话者情绪的愉悦\nresult2: 语气轻快，字里行间充满了快乐的情绪。\nresult3: 语速较快，声调较高，语气中带着愉悦，凸显了说话者内心的快乐\nresult4: 语气轻快，声音高扬，字里行间充满快乐的心情。\nresult5: 语气轻快，字里行间充满了快乐的感觉\n\nfile: tx_emotion_00405000239.wav\norigin: 心里生气，恼怒且气愤\nresult: 气愤在喉咙吐不出\nresult2: 气愤在喉咙吐不出\nresult3: 气愤在喉咙吐不出\nresult4: 气愤在喉咙吐不出\nresult5: 气愤在喉咙吐不出\n\nfile: tx_emulate_00_112_0002_000016.wav\norigin: 语速快，声音中充满着急和担心\nresult: “不可思议，难以置信”\nresult2: “不可思议，难以置信”\nresult3: “不可思议，难以置信”\nresult4: “不可思议，难以置信”\nresult5: “不可思议，难以置信”\n\nfile: tx_emulate_02_007_0010_000050.wav\norigin: 语气沉闷，情绪非常大，带有埋怨和责怪\nresult: 言语急促，语气强硬，情绪激动\nresult2: 言语急切，语气强硬，态度坚决\nresult3: 言语急促，语气强硬，态度坚决\nresult4: 言语急切，语气强硬，情绪激动\nresult5: 言语急切，语气强硬，情绪激动\n\nfile: tx_xiao_0200107000662.wav\norigin: 语调由低落转为坦然，语气悲伤无奈伴有清楚明了，情绪痛苦但逐渐释怀\nresult: 语气中透露着内心的伤感，情绪低落。\nresult2: 语气带有内心的伤感，情绪低落。\nresult3: 语气带有内心的伤感，情绪比较低落。\nresult4: 语气中透露着内心的伤感，情绪比较低落。\nresult5: 语气中透露着内心的痛苦，情绪比较低落。\n\nfile: tx_emulate_00_108_0001_000079.wav\norigin: 声音微弱，语气中带有一丝慌张和心虚\nresult: 语气中闪点的慌张，说话里夹杂着恐惧。\nresult2: 语气中带着害怕的慌张，说话里夹杂着恐惧。\nresult3: 语气中充满的慌张，说话里夹杂着紧张和害怕\nresult4: 语气中带着慌张的紧张，说话里夹杂着害怕。\nresult5: 语气中带着慌张的不安，说话里夹杂着紧张和害怕\n\nfile: tx_xiao_0100103000344.wav\norigin: 语调急促且高扬，饱含欣喜得意之情。\nresult: 语速快，情绪中充满了喜悦和欣喜\nresult2: 语速适中，表达内心喜悦之情。\nresult3: 语速适中，表达喜悦之情。\nresult4: 语速适中，表达喜悦之情。\nresult5: 情绪激动，语气中透露出欣喜\n\nfile: tx_emotion_00203000065.wav\norigin: 语调间掩饰不住的开心快乐的喜悦\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 欢快，心情舒畅\nresult4: 欢快，心情舒畅\nresult5: 欢快，心情舒畅\n\nfile: tx_emulate_01_007_0006_000025.wav\norigin: 声音拔高，语速较快，语气中带着讨厌，非常不喜的情绪\nresult: 语速较快，语调较高，声音中带有一丝抱怨和不耐烦，凸显了说话者内心的不满\nresult2: 语速较快，语调较高，声音中带有一丝抱怨和不满，凸显了说话者内心的不悦\nresult3: 语速较快，语调较高，声音中带有一丝抱怨和不满，凸显了说话者内心的不悦\nresult4: 语速较快，语调较高，声音中带有一丝抱怨和不满，凸显了说话者内心的不悦\nresult5: 语速较快，语调较高，声音中带有一丝抱怨和不满，凸显了说话者内心的不悦\n\nfile: tx_emulate_02_245_0002_000035.wav\norigin: 声音高挑，话语中带着失望，很烦躁，有点生气的情绪\nresult: 语速很快，声音高昂，情绪暴躁\nresult2: 语速很快，声音较高，情绪中带着一丝怒火\nresult3: 语速很快，声音较高，情绪中带着一丝怒火\nresult4: 语速很快，声音高昂，情绪暴躁\nresult5: 语速很快，声音较高，情绪中带着一丝怒火\n\nfile: tx_emulate_02_008_0011_000058.wav\norigin: 心里面满是自责，言语中充满着不愉快，非常的伤心\nresult: 语调低沉，声音中带有一丝哭腔，透露着内心的难过和委屈\nresult2: 语气哀伤，声音中带有一丝哭腔，难受的情绪溢于言表\nresult3: 语调低沉，声音带有一丝丝哭腔，情绪中带着委屈和难过\nresult4: 语气哀伤，声音带着一丝哭腔，难受的情绪溢于言表\nresult5: 语气哀伤，声音带着哭腔，情绪中透着委屈和难过\n\nfile: tx_emulate_01_020_0007_000012.wav\norigin: 句子中带有一种激动的心情，还有一点愉快的语气，还有一点喜悦\nresult: 语调较高，语速稍快，表现情绪激动\nresult2: 语调较高，语速较快，表现情绪激动\nresult3: 语调较高，语速较快，表现情绪激动\nresult4: 语调较高，语速较快，表现情绪激动\nresult5: 语调较高，语速较快，表现情绪激动\n\nfile: tx_xiao_0100105000158.wav\norigin: 语速快，声音沉稳，语气发怒的迹象，表达人生气\nresult: 声音有力，语气强硬，情绪较为激动。\nresult2: 声音大，语气强硬，情绪十分激动。\nresult3: 语气强硬，情绪中带有生气与怒意。\nresult4: 语气强硬，情绪中透露着生气与不满。\nresult5: 语气强硬，声音较大，情绪较为激动。\n\nfile: tx_emulate_01_031_0011_000045.wav\norigin: 语速较慢，语调较高，语气中充满亢奋，凸显了说话者内心的激动，情绪高涨\nresult: 语速较快，声音较高，语气中带着自信，凸显了说话者内心的信心\nresult2: 语气中带着自信，声音高亢，情绪十分激动\nresult3: 语速较快，声音较高，语气中带着自信，凸显了说话者内心的信心\nresult4: 语速较快，声音较高，语气中充满了自信，凸显了说话者内心的勇气\nresult5: 语速较快，声音较高，语气中带着自信，凸显了说话者内心的高傲\n\nfile: tx_emotion_00306000460.wav\norigin: 心中疑惑不解，充满好奇\nresult: 对某事有着好奇和质疑\nresult2: 对某事有着好奇和质疑\nresult3: 对某事有着好奇和质疑\nresult4: 对某事有着好奇和质疑\nresult5: 对某事有着好奇和质疑\n\nfile: tx_emulate_00_115_0002_000007.wav\norigin: 精神抖擞，语气中充满得意和肯定\nresult: 语气中透露着一种不屑一顾的感觉，内心很是藐视\nresult2: 语气中透露着一种不屑一顾的感觉，内心很是藐视\nresult3: 说话很认真，语气中透露着一种不屑一顾的感觉。\nresult4: 说话很认真，语气中透露着一种不屑一顾的感觉。\nresult5: 说话很认真，语气中透露着一种不屑一顾的感觉。\n\nfile: tx_emulate_01_001_0018_000065.wav\norigin: 声音很坚定，着急更甚，心绪火烧火燎的。\nresult: 语气铿锵有力，很是坚决。\nresult2: 语气很重，非常的坚决和坚定。\nresult3: 语气铿锵有力，十分坚定和坚决。\nresult4: 语气铿锵有力，很是坚定和坚决。\nresult5: 语气铿锵有力，十分的坚定和坚决。\n\nfile: tx_emulate_02_006_0002_000017.wav\norigin: 语速较快，言语夸耀感叹，表现出心中敬畏\nresult: 语速较快，语调很高，言语中充满感慨，表明说话者内心极度的愤慨\nresult2: 语速较快，语调很高，言语中充满了感慨，凸显了说话者内心的悲伤\nresult3: 语速较快，语气中带着一丝不悦的感觉\nresult4: 语速很快，声音高扬，语气里充满感慨。\nresult5: 语速较快，语调很高，言语中充满感慨，凸显了说话者情绪\n\nfile: tx_xiao_0100107000421.wav\norigin: 神情低落，带着哀伤痛苦，语音低沉\nresult: 语气十分哀伤，声音有些颤抖，听起来有伤心难过\nresult2: 语气十分哀伤，情绪低落忧郁\nresult3: 语气十分哀伤，情绪低落忧郁\nresult4: 语气十分哀伤，情绪低落忧郁\nresult5: 语气十分哀伤，声音颤抖，情绪低落\n\nfile: tx_xiao_0200103000184.wav\norigin: 语气轻快，语调上扬，情绪表现出兴奋和愉悦。\nresult: 声音响亮，语速较快，情绪十分兴奋。\nresult2: 内心充满了喜悦和欣喜，语气轻快。\nresult3: 情绪激动，语气中充满的期待和欣喜。\nresult4: 情绪激动，语气中透露着欣喜和兴奋。\nresult5: 情绪激动，语气轻快，内心充满期待和欣喜。\n\nfile: tx_emotion_00403000052.wav\norigin: 心情快乐舒畅\nresult: 欢乐，心里快乐，心情愉悦\nresult2: 欢乐，内心很是开心\nresult3: 欢乐，内心快乐\nresult4: 欢乐，心里快乐，心情愉悦\nresult5: 欢乐，心里快乐，心情愉悦\n\nfile: tx_emulate_02_045_0002_000003.wav\norigin: 心情急切，语速很快，感觉焦躁为难\nresult: 声音高，语速很快，情绪中透出内心的紧张和不安。\nresult2: 声音微扬，语速较快，表明说话者内心的慌乱。\nresult3: 声音微扬，语气中透露着内心的担忧和不安。\nresult4: 声音微扬，语气中透露着内心的担忧和不安。\nresult5: 声音微扬，语气中透露着内心的担忧和不安。\n\nfile: tx_emulate_02_044_0010_000061.wav\norigin: 心情激动，情绪冲动， 笑逐言开，非常感谢\nresult: 语调欢快，言语间透出内心的快乐。\nresult2: 语调欢快，言语间透出内心的快乐。\nresult3: 语气轻快，言语间透出愉悦的心情。\nresult4: 语调欢快，言语间透出内心的快乐。\nresult5: 语调欢快，言语间透出愉悦的心情。\n\nfile: tx_emulate_01_008_0011_000050.wav\norigin: 声音高扬，话语中透着哀伤和心疼的情绪\nresult: 语气中充满了悲伤，声音略带哭腔，情绪低落\nresult2: 语气中充满了悲伤，声音略带哭腔，情绪低落\nresult3: 语气中充满了悲伤，声音带有哭腔，情绪低落\nresult4: 语气中充满了悲伤，声音带有哭腔，情绪高昂\nresult5: 语气中充满了悲伤，声音带着哭腔，情绪低落\n\nfile: tx_emulate_01_024_0009_000083.wav\norigin: 语气高昂，情绪中带着抱怨与责怪。\nresult: 语气激烈，情绪激动，语调高昂，凸显着愤怒的情感\nresult2: 语气激烈，情绪激动，语调高昂，凸显着不满和愤慨\nresult3: 语气很重，情绪激动到极点，内心非常的不满和愤怒。\nresult4: 语气很重，情绪激动到极点，内心极度的不满和恼怒。\nresult5: 语气激烈，情绪激动，语调高昂，凸显着愤怒的情感\n\nfile: tx_emulate_00_125_0002_000058.wav\norigin: 语调十分欢快，整个人神采飞扬的，声音中满是得意，很是满意\nresult: 声音轻快，语气中透露出内心的自信和得意。\nresult2: 声音轻快，语气中透露出内心的自信和得意。\nresult3: 声音很轻快，语气中透露出内心的自信和得意。\nresult4: 声音轻快，语气中透露出内心的自信和得意。\nresult5: 声音轻快，语气中透露出内心的自信和得意。\n\nfile: tx_emotion_00403000175.wav\norigin: 内心感到心满意足\nresult: 快乐幸福和喜悦的表达\nresult2: 快乐幸福的内心\nresult3: 快乐幸福的内心\nresult4: 快乐幸福的内心\nresult5: 快乐幸福的内心\n\nfile: tx_emotion_00303000167.wav\norigin: 听到开心的事，愉快高兴\nresult: 很开心而感到舒畅\nresult2: 很开心而感到舒畅\nresult3: 很开心而感到舒畅\nresult4: 很开心而感到舒畅\nresult5: 很开心而感到舒畅\n\nfile: tx_emulate_02_007_0024_000112.wav\norigin: 语气加强，声音充满了不耐烦，表现出了怨恨\nresult: 声音高昂，语速较快，情绪十分激动，内心充满了怒火\nresult2: 声音高昂，语速很快，情绪十分激动，内心充满愤怒\nresult3: 声音高昂，语速很快，情绪十分激动，内心充满了愤怒和不满\nresult4: 声音高昂，语速很快，情绪十分激动，内心充满了愤怒\nresult5: 声音高昂，语速很快，情绪十分激动，内心充满了怒火\n\nfile: tx_emulate_02_002_0018_000067.wav\norigin: 语速较快，语调较高，语气中带着质疑，凸显了说话者内心的不满和不悦\nresult: 语速较快，语调较高，情绪中带着一丝不屑，表明说话者内心极度的厌恶\nresult2: 语速较快，语调较高，情绪中带着一丝不屑，表明说话者内心极度的厌恶\nresult3: 语速较快，语调较高，情绪中带着一丝不屑，表明说话者内心极度的厌恶\nresult4: 语速较快，语调较高，情绪中带着一丝不屑，表明说话者内心极度的厌恶\nresult5: 语速较快，语调较高，情绪中带着一丝不屑，表明说话者内心极度的厌恶\n\nfile: tx_emotion_00403000163.wav\norigin: 心里高兴极了\nresult: 高兴极了\nresult2: 高兴极了\nresult3: 高兴极了\nresult4: 高兴极了\nresult5: 高兴极了\n\nfile: tx_emulate_00_117_0002_000013.wav\norigin: 声音微扬，语调低缓，话语中带着无所谓，一点也不重视的感觉\nresult: 语调平缓，抑扬顿挫，内心不屑一顾。\nresult2: 语调平缓，抑扬顿挫，内心不屑一顾。\nresult3: 语调平缓，抑扬顿挫，内心不屑一顾。\nresult4: 语调平缓，抑扬顿挫，内心不屑一顾。\nresult5: 语调轻柔，语气平缓，内心不屑一顾。\n\nfile: tx_emulate_00_120_0002_000071.wav\norigin: 语调急促且高扬，语气紧张，流露害怕恐惧之情。\nresult: 语调高亢，语气激昂，显示着内心的骄傲。\nresult2: 语气轻快，语调高昂，表现出心中的自信。\nresult3: 语气轻快，语调高昂，表现出心中的自信。\nresult4: 语调高亢，语气激昂，表现出内心的欣喜。\nresult5: 语调高亢，语气激昂，表现出内心的自信和勇气。\n\nfile: tx_emulate_00_122_0001_000025.wav\norigin: 情绪激扬，心里带着喜悦之情，由内而发的开心。\nresult: 语气欢快，内心感到十分的欣慰和开心\nresult2: 语气欢快上扬，内心感到十分的欣慰和开心\nresult3: 语气欢快上扬，内心感到非常的欣慰和开心\nresult4: 语气欢快上扬，内心感到十分的欣慰和开心\nresult5: 语气欢快，内心感到十分的欣慰和幸福\n\nfile: tx_emulate_00_153_0001_000033.wav\norigin: 心里止不住地难过，语气中带有淡淡的失落\nresult: 语气中带有一种不屑的轻视，还夹杂着失落和无奈\nresult2: 语气中带有一种不屑的情绪，夹杂着无奈\nresult3: 语气中带有一种不屑的情绪，夹杂着无奈和委屈\nresult4: 语气中带有一种无奈，还夹杂着不悦的心情\nresult5: 语气中带有一种不屑的情绪，还夹杂着无奈\n\nfile: tx_emulate_01_209_0001_000021.wav\norigin: 语气中带着不敢相信，但是又保持着怀疑的态度\nresult: 语气中充满着疑惑和不解，心里面非常的纳闷\nresult2: 语气中充满着疑惑和不解，心里面非常的纳闷\nresult3: 语气中充满了疑惑和不解，心里面非常的纳闷\nresult4: 语气中充满着疑惑和不解，心里面非常的纳闷\nresult5: 语气中充满了疑惑和不解，心里面非常的纳闷\n\nfile: tx_emulate_00_151_0007_000028.wav\norigin: 语气较为轻快，心情舒畅，愉悦的情绪。\nresult: 语气轻快，心情十分愉悦。\nresult2: 语气轻快，心情十分愉悦和舒畅。\nresult3: 语气轻快，心情十分愉悦和快乐。\nresult4: 语气轻快，心情十分愉悦和舒畅。\nresult5: 语气轻快，心情十分愉悦和快乐。\n\nfile: tx_emulate_01_011_0010_000050.wav\norigin: 声音平缓，语速适中，情绪中带着幸灾乐祸感觉。\nresult: 语速较快，情绪较为激动。\nresult2: 语速较快，情绪较为激动。\nresult3: 语速较快，情绪较为激动。\nresult4: 语速较快，情绪较为激动。\nresult5: 语速较快，情绪较为激动。\n\nfile: tx_emulate_02_242_0002_000069.wav\norigin: 声音逐渐拔高，语气中十分不满，情绪激动的感觉\nresult: 语速较快，声音较高，情绪中带着一丝抱怨。\nresult2: 语速较快，声音较高，情绪中带着一丝抱怨。\nresult3: 语气很重，声音较高，情绪中带着不满。\nresult4: 语速较快，声音较高，情绪中带着抱怨。\nresult5: 语速较快，声音较高，情绪中带着一丝抱怨。\n\nfile: tx_emulate_00_171_0006_000036.wav\norigin: 一开始说话语调不高，声音很低，后来语速却较快显示出心有不甘，但是又毫无办法\nresult: 语气中透着无奈，情绪有些烦躁\nresult2: 语气中透着无奈，情绪有些烦躁\nresult3: 语气中充满无奈，内心很不乐意\nresult4: 语气中透着无奈，情绪有些烦躁\nresult5: 语气中充满无奈，内心十分不乐意\n\nfile: tx_xiao_0200106000644.wav\norigin: 平缓却逐渐上升语调，表达自己的疑惑之情。\nresult: 语调平缓，表达内心的疑惑不解。\nresult2: 语调平缓，表达内心的疑惑和不解。\nresult3: 语调上扬，表达内心的疑惑和不解。\nresult4: 语调上扬，表达内心的疑惑不解。\nresult5: 语调平缓，表达内心的疑惑不解。\n\nfile: tx_emulate_00_144_0005_000014.wav\norigin: 语气十分不爽，略有些愤懑\nresult: 语速很快，声音中透露着一种烦躁和不耐烦的情绪。\nresult2: 语速很快，声音中透露着一种不耐烦的情绪\nresult3: 语气中满是不耐烦和不满，很是不爽\nresult4: 语气中满是生气和不满，十分不悦\nresult5: 语气中满是不耐烦和生气，心中充满不满。\n\nfile: tx_xiao_0100106000099.wav\norigin: 语气笃定，体现出内心充满诚意。\nresult: 说话语速缓慢，声音轻柔，情绪中透露出不满和不屑\nresult2: 表达内心的不解，说话语速较慢，声音比较低沉\nresult3: 表达内心的不满和不相信\nresult4: 表达内心的不解和担忧。\nresult5: 表达内心的不解，说话语速较慢，声音比较低沉\n\nfile: tx_emulate_01_016_0023_000150.wav\norigin: 语气有些慌乱，声音刻意压低，态度严肃\nresult: 语气很急促，情绪非常的慌乱不安。\nresult2: 语气很急促，情绪十分的慌乱不安。\nresult3: 语气很急促，情绪十分的慌乱不安。\nresult4: 语气很急促，情绪十分的慌乱不安。\nresult5: 语气很急促，情绪非常的慌乱。\n\nfile: tx_xiao_0200101000952.wav\norigin: 语调平稳，语气中夹杂着一丝忧伤\nresult: 精神平缓，语速缓慢，流露一丝哀伤\nresult2: 精神平缓，语速缓慢，流露一丝哀伤\nresult3: 精神平缓，语气中带有一丝不舍。\nresult4: 精神平缓，语速缓慢，流露一丝哀伤\nresult5: 精神平缓，语气中带着一丝不舍。\n\nfile: tx_xiao_0100103000306.wav\norigin: 语调急促且高扬，饱含喜气洋洋之情。\nresult: 积极向上的语气\nresult2: 积极向上的语气,声音中透露出的是开心愉悦的心情。\nresult3: 积极向上的语气\nresult4: 积极向上的语气\nresult5: 积极向上的语气\n\nfile: tx_emotion_00207000080.wav\norigin: 悲哀痛苦，悲伤难过\nresult: 悲哀难过\nresult2: 悲哀难过\nresult3: 悲哀难过\nresult4: 悲哀难过\nresult5: 悲哀难过\n\nfile: tx_emulate_00_137_0003_000022.wav\norigin: 语速缓慢，音调较高，语气轻松愉快，内心很开心，声音有些调皮\nresult: 语气轻快，声音中透露着一种轻松愉快的情绪\nresult2: 语气轻快，声音里透露着一种轻松愉快的情绪\nresult3: 语气轻快，声音中透露着一种轻松愉快的情绪\nresult4: 语气轻快，声音中透露着一种轻松愉快的情绪\nresult5: 语气轻快，声音中透露着轻松愉快的情绪\n\nfile: tx_xiao_0100103000354.wav\norigin: 轻松快活的语气，说话欢快，体现了乐观的心态\nresult: 语气平和，情绪里透着欣喜。\nresult2: 语调上扬，流露喜悦之情。\nresult3: 语调高昂，流露喜悦之情。\nresult4: 语气轻快，情绪里透露着喜悦和欣喜\nresult5: 语气平缓，情绪里夹杂着愉悦和欣喜。\n\nfile: tx_emulate_02_046_0004_000012.wav\norigin: 说话语速很快，声音高昂，透露着内心的激动兴奋\nresult: 语调高昂，声音洪亮，表现了内心的惊讶和不解。\nresult2: 语调高昂，声音洪亮，充满了惊讶和欣喜\nresult3: 语调高昂，声音洪亮，带有浓厚的惊讶。\nresult4: 语调高昂，声音洪亮，表现了内心的惊讶和不解\nresult5: 语调高昂，声音洪亮，带有浓厚的惊讶和欣喜\n\nfile: tx_emulate_00_108_0004_000011.wav\norigin: 声音高拔，语调高，语气中带着疑惑，十分意外的感觉\nresult: 声音微扬，语速稍快，话语中透露着疑惑的情绪\nresult2: 声音微扬，语速稍快，话语中透露着困惑的情绪\nresult3: 声音微扬，语速稍快，话语中带着困惑的情绪\nresult4: 声音微扬，语速稍快，话语中透露着困惑的情绪\nresult5: 声音微扬，语速稍快，话语中透露着疑惑的情绪\n\nfile: tx_emotion_00303000052.wav\norigin: 非常愉快、高兴\nresult: 快乐和幸福\nresult2: 快乐和幸福\nresult3: 快乐和幸福\nresult4: 快乐和幸福\nresult5: 快乐和幸福\n\nfile: tx_emotion_00202000436.wav\norigin: 急切，激动，表示立场分明。\nresult: 很生气，还自责\nresult2: 很生气，还自责\nresult3: 很生气，还自责\nresult4: 很生气，气愤不已\nresult5: 很生气，还自责\n\nfile: tx_emotion_00205000265.wav\norigin: 傲气十足，对自己有信心\nresult: 很生气，伤心难过\nresult2: 很生气，心里十分悲痛\nresult3: 很生气，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，伤心难过\n\nfile: tx_emulate_01_018_0003_000014.wav\norigin: 语调较高，情绪很欢快，语气充满了开心。\nresult: 语调高扬，声音欢快激昂，内心充满了一种愉悦的心情。\nresult2: 语调高扬，声音欢快激动，心里十分开心。\nresult3: 语调高扬，轻快的语气表达出快乐的心情。\nresult4: 语调高扬，声音欢快激动，心里满是喜悦\nresult5: 语气轻快，声音轻松愉悦，内心十分开心。\n\nfile: tx_emulate_01_022_0022_000108.wav\norigin: 语气较重，声音高昂，情绪非常生气。\nresult: 语速较慢，音调较高，声音中带有一丝不悦的感觉，情绪沮丧\nresult2: 语速较慢，声音清脆高亢，情绪激动。\nresult3: 语调高亢，声音较重，情绪激动。\nresult4: 语速很快，声音高昂，情绪十分激动。\nresult5: 语速较慢，声音清脆高亢，情绪有些激动。\n\nfile: tx_emotion_00204000458.wav\norigin: 嫉妒，不满，生出怨恨情绪\nresult: 很烦闷，恼怒不已\nresult2: 很烦闷，恼怒不已\nresult3: 很烦闷，恼怒不已\nresult4: 很烦闷，恼怒不已\nresult5: 很烦闷，恼怒不已\n\nfile: tx_emotion_00400000160.wav\norigin: 语气平和，语调平静\nresult: 语气平和，十分舒缓\nresult2: 语气平和，十分舒缓\nresult3: 语气平和，十分舒缓\nresult4: 语气平和，十分舒缓\nresult5: 语气平和，十分舒缓\n\nfile: tx_emulate_01_190_0001_000042.wav\norigin: 语调欢快得意，心情舒畅，精神愉快。\nresult: 语速较快，声音中带着欢快的情绪\nresult2: 语速较快，声音中带着欢快的情绪\nresult3: 语速较快，声音中带着欢快的情绪\nresult4: 语速较快，声音中带着欢快的情绪\nresult5: 语速较快，声音中带着欢快的情绪\n\nfile: tx_emotion_00208000257.wav\norigin: 愤愤的感慨\nresult: 感到悲哀和痛苦\nresult2: 感到悲哀和痛苦\nresult3: 感到悲哀和痛苦\nresult4: 感到悲哀和痛苦\nresult5: 感到悲哀和痛苦\n\nfile: tx_emulate_00_133_0005_000062.wav\norigin: 语气很温柔，声音很细，透露着一种讽刺不满的感觉\nresult: 语气轻快，音调逐渐升高，表现出内心的不耐烦\nresult2: 语气轻快，音调上扬，表现内心的不耐烦\nresult3: 语速较快，音调较高，表现内心的不耐烦\nresult4: 语速较快，音调较高，表现内心的不耐烦\nresult5: 语气轻快，音调逐渐升高，表现出内心的不耐烦\n\nfile: tx_emotion_00305000014.wav\norigin: 内心很愤怒，快要爆发出来了\nresult: 感到难以忍受，心生不满\nresult2: 感到难以忍受，十分恼怒\nresult3: 感到难以忍受，心生不满\nresult4: 感到难以忍受，心生不满\nresult5: 感到难以忍受，心生不满\n\nfile: tx_xiao_0100106000103.wav\norigin: 语气上扬，语速适中，声音缓慢，充满疑问\nresult: 语气抑扬顿挫，声音轻柔，言声里透露出一丝不屑。\nresult2: 语气抑扬顿挫，声音柔和，言辞中带着一丝不屑。\nresult3: 语气抑扬顿挫，声音柔和，言声里带有一丝不屑。\nresult4: 语气抑扬顿挫，声音柔和，言辞中透露出一丝不屑。\nresult5: 语气抑扬顿挫，声音柔和，言声里带有一丝不屑。\n\nfile: tx_emotion_00210000419.wav\norigin: 情绪激动警惕为保护她而着急\nresult: 情绪激动失望\nresult2: 情绪激动失望\nresult3: 情绪激动失望\nresult4: 情绪激动失望\nresult5: 情绪激动失望\n\nfile: tx_emotion_00202000301.wav\norigin: 怜惜又愤恨，泣不成声，难以控制情绪。\nresult: 很生气，气愤不已\nresult2: 很生气，气愤不已\nresult3: 很生气，气愤不已\nresult4: 很生气，气愤不已\nresult5: 很生气，气愤不已\n\nfile: tx_xiao_0100107000103.wav\norigin: 声音里带有抽泣，情绪里流露出伤心。\nresult: 声音低沉，语气中充满了悲伤难过的情绪。\nresult2: 声音低沉，语气中充满了悲伤难过的情绪。\nresult3: 情绪低落，语气中带有一丝无奈。\nresult4: 情绪低落，语气中充满了哀伤。\nresult5: 情绪低迷，语气中充满了哀伤。\n\nfile: tx_emotion_00400000011.wav\norigin: 平静的阐述，无情绪\nresult: 平静的言语\nresult2: 平静的言语\nresult3: 平静的言语\nresult4: 平静的言语\nresult5: 平静的言语\n\nfile: tx_emotion_00207000252.wav\norigin: 心境十分悲伤\nresult: 感到可怜， ‘sickened’ at the thought of it\nresult2: 感到可怜， ‘sick’ at the thought of it\nresult3: 感到可怜， ‘sick’ at the thought of it\nresult4: 感到可怜， ‘sick’ at the thought of it\nresult5: 悲哀，伤心难过\n\nfile: tx_emotion_00304000079.wav\norigin: 心里激愤\nresult: 愤怒，发怒，声音悲愤\nresult2: 愤怒，发怒，声音哽咽\nresult3: 愤怒，发怒，声音悲愤\nresult4: 愤怒，发怒，声音哽咽\nresult5: 愤怒，发怒，声音哽咽\n\nfile: tx_emotion_00201000323.wav\norigin: 心里无比疼痛，伤心\nresult: 悲伤不已，心里悲痛\nresult2: 悲伤不已，心里悲痛\nresult3: 悲伤不已，心里悲痛\nresult4: 悲伤不已，心里悲痛\nresult5: 悲伤不已，心里悲痛\n\nfile: tx_emulate_00_112_0006_000020.wav\norigin: 祈求的口吻中带有些委屈\nresult: 语气中充满了不满，还带有一点委屈\nresult2: 语气中带有一种不耐烦和不满之情\nresult3: 语气中带有一种不满和不耐烦\nresult4: 语气中带有一种不满和不耐烦，还有一点委屈\nresult5: 语气中带有一种不满和埋怨，还有一点不耐烦\n\nfile: tx_emulate_01_203_0008_000028.wav\norigin: 语调低沉急促，抑扬顿挫，内心充满鄙视和看不惯，带有嘲讽和傲慢之意\nresult: 声音中透露着内心的不满，语气很是不爽\nresult2: 声音中透露着内心的不满，语气很是鄙夷\nresult3: 声音中透露着内心的不满，语气很不爽\nresult4: 声音中透露着内心的不满，语气很是鄙夷\nresult5: 声音中透露着内心的不满，语气很是苛责\n\nfile: tx_xiao_0200103000648.wav\norigin: 声音欢快，有一些高兴\nresult: 情绪激动，内心充满喜悦和欣喜。\nresult2: 情绪激动，内心充满喜悦和欣喜。\nresult3: 情绪激动，内心充满着喜悦和满足。\nresult4: 情绪激动，内心充满喜悦和欣喜。\nresult5: 情绪激动，内心充满喜悦和满足。\n\nfile: tx_emulate_00_109_0005_000085.wav\norigin: 语速较快，情绪波动起伏，语调高亢起伏，在指责不满之余还有质疑的意味\nresult: 语气很重，语速较快，情绪中充满了不耐烦和不开心\nresult2: 语气很重，语速快，话语里充满了不耐烦和不高兴的情绪\nresult3: 语气很重，语速快，话语里充满了不耐烦的情绪。\nresult4: 语气很重，语速较快，情绪里充满了不爽和不开心\nresult5: 语气很重，语速较快，情绪里充满不耐烦和恼怒。\n\nfile: tx_emulate_01_024_0013_000139.wav\norigin: 声音高昂，语气很重，情绪中带着愤恨和气怒。\nresult: 语气很重，声音高昂，情绪十分不满。\nresult2: 语气很重，声音高昂，情绪十分不满。\nresult3: 语气很重，声音高昂，情绪十分不满。\nresult4: 语气很重，声音高昂，情绪十分不满。\nresult5: 语气很重，声音高昂，情绪十分不满。\n\nfile: tx_emulate_01_034_0005_000040.wav\norigin: 语调冷淡急促，内心充满不悦与好奇，带有些许的醋意\nresult: 疑问的语气，带有一种疑惑和不理解\nresult2: 疑问的语气，带有一种疑惑和不理解\nresult3: 疑问的语气，带有一点疑惑和不理解\nresult4: 疑问的语气，带有一种疑惑和不理解\nresult5: 疑问的语气，带有一种疑惑和不理解\n\nfile: tx_emotion_00204000494.wav\norigin: 心生不满，厌恶。\nresult: 语气急切，声音洪亮\nresult2: 语气急切，声音洪亮\nresult3: 语气急切，声音洪亮\nresult4: 语气急切，声音洪亮\nresult5: 语气急切，声音洪亮\n\nfile: tx_emulate_02_001_0015_000048.wav\norigin: 语气激昂，表达内心不爽，不快的感受。\nresult: 反问的语气，情绪激动，表现出心中的不解和愤怒\nresult2: 反问的语气，情绪激动，表现出心中的不解和恼怒\nresult3: 反问的语气，情绪激动，表现出心中的不解和恼怒\nresult4: 反问的语气，情绪激动，表现出心中的不解和恼怒\nresult5: 反问语气，情绪激动，表现出了心中的不解和恼怒\n\nfile: tx_emotion_00309000124.wav\norigin: 心里开心激动\nresult: 感到难以忍受，难不成\nresult2: 感到难以忍受，难不成\nresult3: 感到难以忍受，难不成\nresult4: 感到难以忍受，难不成\nresult5: 感到难以忍受，难不成\n\nfile: tx_xiao_0200106000535.wav\norigin: 语气轻松，感到十分好奇且期待。\nresult: 语气轻快，声音中透露出关心的情绪。\nresult2: 语气轻快，声音中透露出关心的情绪。\nresult3: 语气轻快，声音中透露出关心的情绪。\nresult4: 语气轻快，声音中透露出一种好奇的态度，求问的情绪。\nresult5: 语气轻快，声音中透露出关心的情绪。\n\nfile: tx_xiao_0100105000307.wav\norigin: 语气中透露出自以为是，得意的情感。\nresult: 语速快，情绪中透露着不耐烦的感觉。\nresult2: 语气强硬，透露着生气的样子。\nresult3: 语速很快，透露着生气的样子。\nresult4: 语速比较快，情绪中透露着一种很不耐烦的感觉。\nresult5: 语速快，情绪激昂，透露出不服气。\n\nfile: tx_emulate_01_001_0019_000077.wav\norigin: 语气充满了惊讶，好像难以想象居然会这样。\nresult: 语气激昂，声色俱高，表达了内心的惊讶和愤怒。\nresult2: 语气激昂，声色俱厉，声音充满了激动和惊讶\nresult3: 语气激昂，声色俱厉，带有愤慨和惊讶\nresult4: 语气激昂，声色俱厉，声音充满了惊讶和愤怒\nresult5: 语气激昂，声色俱高，充满了内心的震惊和惊讶。\n\nfile: tx_emotion_00203000357.wav\norigin: 因高兴或受某种刺激而精神激奋\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 愉快高兴，开心极了\nresult4: 欢快，心情舒畅\nresult5: 欢欣，愉快高兴\n\nfile: tx_emulate_00_131_0005_000061.wav\norigin: 语气很重，语速很快，情绪十分不耐烦。\nresult: 语速较慢，话语中带着紧张不安的情绪。\nresult2: 语速较慢，话语中带着紧张不安的情绪。\nresult3: 语速较慢，话语中充满了紧张不安的情绪。\nresult4: 语速较慢，话语中带着紧张不安的情绪。\nresult5: 语速较慢，话语中带着紧张不安的情绪。\n\nfile: tx_emotion_00305000164.wav\norigin: 激动而愤怒，发怒，恼怒\nresult: 感到惊讶，惊慌乱,害怕\nresult2: 感到惊讶，惊慌乱,害怕\nresult3: 感到惊讶，惊慌乱,害怕\nresult4: 感到惊讶，惊慌乱,害怕\nresult5: 感到惊讶，惊慌乱,害怕\n\nfile: tx_emotion_00205000069.wav\norigin: 心里难受，不舒服\nresult: 很着急，恼怒\nresult2: 很烦闷，恼怒不已\nresult3: 很着急，恼怒\nresult4: 很着急，恼怒\nresult5: 很烦闷，恼怒不已\n\nfile: tx_emotion_00402000299.wav\norigin: 急切，激动，大声表达自己的不满。\nresult: 很生气，又平静的样子\nresult2: 很生气，又平静的样子\nresult3: 很生气，又平静的样子\nresult4: 很生气，又平静的样子\nresult5: 很生气，又平静的样子\n\nfile: tx_emulate_01_196_0003_000051.wav\norigin: 语气中充满了无奈，感觉实在是不知道怎么办\nresult: 语气中透露着内心的疑惑和不解，很是纳闷\nresult2: 语气中透露着困惑不解的心情，心里面很是疑惑。\nresult3: 语气中带着疑惑，心里面很不解和不知所措\nresult4: 语气中带着疑惑，心里面很不解\nresult5: 语气中透露着内心的疑惑，心里面很是不知所措\n\nfile: tx_emotion_00303000119.wav\norigin: 形容内心十分开心，高兴\nresult: 很开心，高兴起来\nresult2: 很兴奋和开心\nresult3: 很开心，高兴起来\nresult4: 很兴奋和开心\nresult5: 很开心，高兴起来\n\nfile: tx_emotion_00305000280.wav\norigin: 平缓的情绪，不骄不躁\nresult: 非常的伤心，内心痛苦难受\nresult2: 非常的伤心，内心痛苦难受\nresult3: 非常的伤心，内心痛苦难受\nresult4: 非常的伤心，内心痛苦难受\nresult5: 非常的伤心，内心痛苦难受\n\nfile: tx_emotion_00305000383.wav\norigin: 对人真诚的劝告或忠告，深刻有力。\nresult: 心生不满，感到厌烦。\nresult2: 心生不满，感到厌烦。\nresult3: 心生不满，感到厌烦。\nresult4: 心生不满，感到厌烦。\nresult5: 心生不满，感到厌烦。\n\nfile: tx_emotion_00203000273.wav\norigin: 感到幸福和满意\nresult: 感到开心，激动\nresult2: 愉悦于某事\nresult3: 感到开心，激动\nresult4: 感到开心，激动\nresult5: 愉悦于某事\n\nfile: tx_emotion_00403000252.wav\norigin: 感到满足时的高兴心情\nresult: 感到兴奋和期待\nresult2: 感到兴奋和期待\nresult3: 感到兴奋和期待\nresult4: 感到兴奋和期待\nresult5: 感到兴奋和期待\n\nfile: tx_emotion_00409000325.wav\norigin: 心情快乐舒畅\nresult: 很快乐的样子\nresult2: 很快乐的样子\nresult3: 很快乐的样子\nresult4: 很快乐的样子\nresult5: 很快乐的样子\n\nfile: tx_emulate_01_032_0011_000017.wav\norigin: 语速较快，语调较高，语气带着开心的感觉，表明说话者情绪十分高涨，兴致勃勃\nresult: 语速较快，语调较高，情绪愉悦，举止活泼\nresult2: 语速较快，语调较高，情绪愉悦，举止活泼\nresult3: 语速较快，语调较高，情绪愉悦，举止活泼\nresult4: 语速较快，语调比较高，表明说话者内心很兴奋，情绪十分激动\nresult5: 语速较快，语调较高，情绪愉悦，突出说话者的兴致\n\nfile: tx_emotion_00303000023.wav\norigin: 心情快乐舒畅\nresult: 很开心而感到\nresult2: 心情十分高兴，乐在其中。\nresult3: 很开心而感到\nresult4: 心情十分高兴，乐在其中。\nresult5: 很开心而感到\n\nfile: tx_emulate_02_265_0002_000087.wav\norigin: 语气生硬，带有不开心，不愉快的情绪。\nresult: 语气较重，带有埋怨的情绪。\nresult2: 语气较重，带有埋怨的情绪。\nresult3: 语气较重，带有埋怨和责怪的情绪。\nresult4: 语气较重，带有埋怨的情绪。\nresult5: 语气较重，带有埋怨和责怪。\n\nfile: tx_emulate_00_104_0001_000113.wav\norigin: 声调上扬，声音尖锐洪亮，字正腔圆，情绪有些激动，质疑责骂的语气表达了心中的不满与质疑\nresult: 语气急促，情绪十分激动，声音尖锐强硬，内心充满怒火\nresult2: 语气激昂，情绪十分激动，声音尖锐强硬，内心充满怒火\nresult3: 语气激昂，情绪十分激动，声音尖锐强硬，内心充满愤怒\nresult4: 语气激昂，情绪十分激动，声音尖锐强硬，内心充满怒火\nresult5: 语气激昂，情绪十分激动，声音尖锐强硬，内心充满怒火\n\nfile: tx_xiao_0100104000064.wav\norigin: 语调高昂且急促，表达生气不满之情。\nresult: 声音大，语速快，声嘶力竭的怒吼表达了愤怒\nresult2: 声音大，语速快，声嘶力竭的怒吼表达了愤怒\nresult3: 声音大，语速快，声嘶力竭的怒吼表达了愤怒\nresult4: 声音大，语速快，声嘶力竭的怒吼表达了愤怒\nresult5: 声音大，语速快，声嘶力竭的情绪表现出了愤怒\n\nfile: tx_emotion_00207000018.wav\norigin: 抱着希望，结果却是深深的失望\nresult: 内心里充满悲痛和自责\nresult2: 内心里充满悲痛和自责\nresult3: 内心里充满悲痛和自责\nresult4: 内心里充满悲痛和自责\nresult5: 内心里充满悲痛和自责\n\nfile: tx_emulate_01_024_0010_000114.wav\norigin: 语速较快，内心十分的激动和坚定的激昂的情感。\nresult: 情绪激动，语速较快，特别的愤怒\nresult2: 情绪激动，语速较快，特别的愤怒\nresult3: 情绪激动，语速较快，特别的愤怒\nresult4: 情绪激动，语速较快，特别的愤怒\nresult5: 情绪激动，语速较快，特别的愤怒\n\nfile: tx_emotion_00206000458.wav\norigin: 内心愉悦，开心\nresult: 迷惑，不能理解\nresult2: 迷惑，不能理解\nresult3: 迷惑，不能理解\nresult4: 迷惑，不能理解\nresult5: 迷惑，不能理解\n\nfile: tx_emotion_00309000452.wav\norigin: 恍然大悟，原来是他\nresult: 感到难以置信\nresult2: 感到难以置信\nresult3: 感到难以置信\nresult4: 感到难以置信\nresult5: 感到难以置信\n\nfile: tx_emulate_00_132_0004_000026.wav\norigin: 语气中充满笃定和喜悦，心里十分开心、有把握\nresult: 语气轻快，突出内心的欢喜和喜悦。\nresult2: 语气轻快，突出内心的欢喜和喜悦。\nresult3: 语气轻快，突出内心的欢喜和喜悦。\nresult4: 语气轻快，突出内心的欢喜和喜悦。\nresult5: 语气轻快，突出内心的欢喜和喜悦。\n\nfile: tx_emulate_02_055_0015_000044.wav\norigin: 升起的语调中满满的期盼\nresult: 语气强硬，语调高昂，透露出内心的疑惑和不解。\nresult2: 语气强硬，语调高昂，表现了内心的疑惑和不解。\nresult3: 语调上扬，语速较快，表达内心的困惑和不解。\nresult4: 语调上扬，语速较快，表达内心的疑惑和不解。\nresult5: 语调上扬，语气激烈，表现了内心的疑惑和不解。\n\nfile: tx_xiao_0200106000737.wav\norigin: 声音低沉，内心觉得不理解\nresult: 语气柔和，给人一种好奇的感觉。\nresult2: 语气柔和，给人一种好奇的感觉。\nresult3: 语气柔和，给人一种好奇的感觉。\nresult4: 语气柔和，给人一种好奇的感觉。\nresult5: 语气柔和，给人一种好奇的感觉。\n\nfile: tx_emulate_00_111_0001_000042.wav\norigin: 声色十分的温柔，难以抑制躁动的心，开心高兴到了极点。\nresult: 情绪激动，兴致高涨，心满意足。\nresult2: 情绪激动，兴致高昂，心满意足。\nresult3: 情绪激动，兴致高涨，心满意足。\nresult4: 情绪激动，兴致高涨，心满意足。\nresult5: 情绪激动，兴致高涨，心满意足。\n\nfile: tx_emotion_00301000052.wav\norigin: 悲哀痛苦，悲伤难过。\nresult: 伤心，难过，情绪激动。\nresult2: 伤心，难过，情绪激动。\nresult3: 心里委屈，烦恼，窝火\nresult4: 伤心，难过，情绪激动。\nresult5: 伤心，难过，情绪激动。\n\nfile: tx_xiao_0100104000354.wav\norigin: 语气肯定不容置疑，略带有生气\nresult: 声音高亢，语速较快，表现非常生气\nresult2: 声音高亢，语速较快，表现非常生气\nresult3: 声音高亢，语速较快，表现非常生气\nresult4: 声音高亢，语速较快，表现非常生气\nresult5: 声音高亢，语速较快，表现非常生气\n\nfile: tx_emulate_00_110_0004_000099.wav\norigin: 声音断断续续，语气中带着窘迫\nresult: 语气中透出一种紧张不安的感觉，还有一点的慌乱。\nresult2: 语气中充满了一种紧张不安的情绪，又夹杂着一丝不知所措\nresult3: 语气中充满了一种紧张不安的感觉，又夹杂着一点不解的心情。\nresult4: 语气中充满了一种紧张的感觉，心里有点不放心。\nresult5: 语气中充满了一种担心的慌张的感觉，心里有点不放心。\n\nfile: tx_emulate_02_260_0001_000039.wav\norigin: 语气中透露着轻视、不屑，心里很看不起\nresult: 语气轻蔑，态度不耐烦，流露出浓浓的抱怨\nresult2: 语气轻蔑，态度不耐烦，流露着埋怨\nresult3: 语气轻蔑，态度不耐烦，流露出埋怨\nresult4: 语气轻蔑，态度不耐烦，流露出浓浓的抱怨\nresult5: 语气轻蔑，态度不耐烦，流露出埋怨\n\nfile: tx_emulate_02_239_0002_000056.wav\norigin: 语气温柔耐心，透露着一种劝说的感觉\nresult: 语气轻蔑，言辞带有讥讽的意味\nresult2: 语气轻蔑，言辞带有讥讽的意味\nresult3: 语气轻蔑，言辞带有讥讽的意味\nresult4: 说话语速较快，声音尖锐，态度很不耐烦\nresult5: 说话语速较快，语气带有一丝讥讽的意味\n\nfile: tx_emotion_00208000327.wav\norigin: 感到不满，很愤怒，打抱不平的样子\nresult: 感觉自己气愤的情绪\nresult2: 感觉自己气愤的情绪\nresult3: 感觉自己气愤的情绪\nresult4: 感觉自己气愤的情绪\nresult5: 感觉自己气愤的情绪\n\nfile: tx_emotion_00403000077.wav\norigin: 高兴的压抑不住心跳\nresult: 心情快乐舒畅\nresult2: 心情快乐舒畅\nresult3: 心情快乐舒畅\nresult4: 心情快乐舒畅\nresult5: 心情快乐舒畅\n\nfile: tx_xiao_0200107000972.wav\norigin: 带有哭意，语气里饱含着期待恳求和渴望，还有浓浓的卑微之感\nresult: 语速缓慢，情绪低落沮丧\nresult2: 语速缓慢，情绪低落沮丧\nresult3: 语速缓慢，情绪低落伤感\nresult4: 语速缓慢，情绪低落沮丧\nresult5: 语速缓慢，情绪低落沮丧\n\nfile: tx_emulate_00_123_0001_000048.wav\norigin: 语气很轻松，表现的镇定自若，很坦然的样子。\nresult: 语气中充满了不解的疑惑，很是不理解的感觉。\nresult2: 语气中充满了疑惑和不解，非常的困惑。\nresult3: 语气中透露着一种惊讶的情绪，还有一丝不解\nresult4: 语气中充满了不解的疑惑，很是不理解的感觉\nresult5: 语气中充满了好奇心，内心充满疑惑和不理解\n\nfile: tx_emotion_00302000054.wav\norigin: 因不如意的事心里悲痛，伤心难过\nresult: 很生气的发怒\nresult2: 很生气的发怒\nresult3: 很生气，感觉很不高兴\nresult4: 很生气，心里委屈。\nresult5: 很生气的发怒\n\nfile: tx_emotion_00403000359.wav\norigin: 心里很是欢愉，开心\nresult: 高兴极了\nresult2: 高兴极了\nresult3: 高兴极了\nresult4: 高兴极了\nresult5: 高兴极了\n\nfile: tx_xiao_0200106000563.wav\norigin: 语气疑惑但十分理直气壮，情绪厌烦拒绝\nresult: 语气轻快，充满着好奇和探究\nresult2: 语气轻柔，声音比较低沉，带有些许的疑惑\nresult3: 语气轻快，充满着好奇。\nresult4: 语气轻快，情绪中透露出些许的不耐烦。\nresult5: 语气轻快，充满着疑惑和不解。\n\nfile: tx_emotion_00303000173.wav\norigin: 愉快高兴，心情舒畅\nresult: 愉快高兴，心情舒畅\nresult2: 愉快高兴，心情舒畅\nresult3: 愉快高兴，心情舒畅\nresult4: 愉快高兴，心情舒畅\nresult5: 愉快高兴，心情舒畅\n\nfile: tx_emulate_02_045_0015_000057.wav\norigin: 音调很高，声音起伏比较大，声音中透露着一种内心的愤怒\nresult: 语气激动，其愤怒和愤恨溢于言表。\nresult2: 语气有些激动，其声音中透露着一种愤懑不满的情绪\nresult3: 语气有些激动，其悔恨之情溢于言表。\nresult4: 语调高昂，其愤怒和悔恨之情溢于言表。\nresult5: 语气激昂，其愤怒和悔恨之情溢于言表。\n\nfile: tx_emotion_00409000081.wav\norigin: 好奇心所致，保持疑惑，想要知道答案。\nresult: 语气对某事有所喜悦\nresult2: 语气从容，很是兴奋和惊喜\nresult3: 语气对某事有所喜悦\nresult4: 语气对某事有所喜悦\nresult5: 语气对某事有所喜悦\n\nfile: tx_emulate_02_055_0004_000004.wav\norigin: 有些指责的语气，特别的愤怒，怒不可遏，而且十分的失望。\nresult: 语速很快，声音很高，情绪中带着怒火\nresult2: 语速很快，声音很高，情绪中带着怒火\nresult3: 语速很快，声音很高，情绪中带着怒火\nresult4: 语速很快，声音很高，情绪中带着怒火\nresult5: 语速很快，声音很高，情绪中带着怒火\n\nfile: tx_emotion_00208000087.wav\norigin: 心里苦楚，内心悲伤，悲痛，委屈\nresult: 语气平静，情绪平和\nresult2: 语气平静，情绪平和\nresult3: 语气平静，情绪平和\nresult4: 语气平静，情绪平和\nresult5: 语气平静，情绪平和\n\nfile: tx_emotion_00202000429.wav\norigin: 声音高亢、清越，情绪激昂、强烈\nresult: 很生气，伤心难过\nresult2: 很生气，伤心难过\nresult3: 很生气，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，心里难过\n\nfile: tx_emulate_02_002_0016_000058.wav\norigin: 语调上扬，语速加快，言语狂妄，居功自傲\nresult: 语气中透露出不服意，内心十分的不屑\nresult2: 语气中透露出不服意，内心十分的不屑\nresult3: 语气中透露出不服，非常的不屑一顾\nresult4: 语气中透露出不服意，内心十分不屑\nresult5: 语气中透露出不服意，内心十分的不屑\n\nfile: tx_emulate_00_127_0001_000084.wav\norigin: 话语中带着一种收到意外之喜后的喜悦\nresult: 语调急促，情绪高涨，内心很是欣喜\nresult2: 语调急促，情绪激动，内心十分欣喜\nresult3: 语调急促，情绪激动，内心很是欣喜\nresult4: 语调高昂，情绪十分激动，内心很是欣喜\nresult5: 语调急促，情绪高昂，内心十分欣喜\n\nfile: tx_emulate_01_013_0007_000032.wav\norigin: 声音微扬，语调渐高，话语里带着安抚，心底十分善良的\nresult: 声音高扬，语速较快，话语里充满期待和好奇心\nresult2: 声音欢快的语气，话语里充满期待和快乐\nresult3: 声音欢快，语速较快，话语里充满了期待和兴奋\nresult4: 声音欢快，语速较快，话语里充满期待和好奇心\nresult5: 语速较快，声音微扬，话语里充满期待和好奇\n\nfile: tx_emulate_01_005_0004_000013.wav\norigin: 语气中透露着激动、欣赏和高兴，声音高扬\nresult: 语速加快，语调高昂，声音里充满了迫不及待的焦急\nresult2: 语速加快，语调高昂，声音里透露着内心的慌乱。\nresult3: 语速加快，语气急促，声音里充满了迫不及待的情绪\nresult4: 语速加快，语调高昂，声音里带着迫不及待的焦急\nresult5: 语速加快，语调高昂，情绪激动\n\nfile: tx_emulate_00_125_0008_000017.wav\norigin: 声音不急不快，内心带着感叹和抒发的心情。\nresult: 声音的语速，话语中透露出内心的担忧和紧张。\nresult2: 声音的语速，话语中透露出内心的担忧和忧虑。\nresult3: 声音的语速，话语中带着内心的担忧和忧虑。\nresult4: 声音的语速，话语中透露出内心的担忧和忧虑。\nresult5: 声音的语气中透出内心的担忧，还有一丝丝的不放心。\n\nfile: tx_emulate_00_135_0004_000015.wav\norigin: 语速快，声音轻快明亮，包含激动和急切、担忧\nresult: 声音急促，语速较快，内心极度着急\nresult2: 声音急促，语速较快，内心极度着急\nresult3: 声音尖锐，语速急促，内心极度的慌乱和恐惧。\nresult4: 语调急促，情绪激动，内心极度的着急和慌乱。\nresult5: 声音急促，语速较快，内心很是着急。\n\nfile: tx_emotion_00409000119.wav\norigin: 语气虽然有些怀疑，但是更多的是尊重\nresult: 有奇怪的语气或行为\nresult2: 有奇怪的语气或行为\nresult3: 语气有疑义，还有一点怀疑的声音\nresult4: 有奇怪的语气或行为\nresult5: 有奇怪的语气或行为\n\nfile: tx_emulate_02_006_0020_000097.wav\norigin: 语气哀伤，情绪低迷，表现出心中的痛苦\nresult: 语气哀伤，情绪低落，表现出内心的悲伤\nresult2: 语气哀伤，情绪低落，表现出内心的悲伤\nresult3: 语气哀伤，情绪低落，表现出内心的悲伤\nresult4: 语调哀伤，情绪低落，表现出内心的悲伤\nresult5: 语气哀伤，情绪低落，表现出内心的悲伤\n\nfile: tx_xiao_0100104000428.wav\norigin: 语气中充满不耐烦的意味，内心满是愤怒和不满\nresult: 态度强硬，语气中透露着不耐烦的情绪\nresult2: 态度强硬，语气中透露着不耐烦的情绪\nresult3: 态度强硬，语气中带有不耐烦的感觉。\nresult4: 态度强硬，语气中带有不耐烦的感觉。\nresult5: 态度强硬，语气带有不耐烦的意味。\n\nfile: tx_emulate_02_006_0019_000090.wav\norigin: 情绪低落，语气哀伤，言语间充满了渴求和希望\nresult: 语气哀伤，情绪低落，话语中带着无奈。\nresult2: 语气哀伤，情绪低落，内心感到无助。\nresult3: 语气哀伤，情绪低落，表现出心中的无能无力。\nresult4: 语气哀伤，情绪低落，言语间充满了无奈。\nresult5: 语气哀伤，情绪低落，表现出心中的无能无力。\n\nfile: tx_xiao_0200103000640.wav\norigin: 语气张扬，语调上扬，体现内心得意满足的情绪。\nresult: 内心充满了喜悦和满足，语气铿锵有力\nresult2: 内心充满了喜悦和满足，语气铿锵有力\nresult3: 内心充满了喜悦和满足，语气铿锵有力\nresult4: 内心充满了喜悦和满足，语气铿锵有力\nresult5: 内心充满了喜悦和满足，语气中带有欣喜\n\nfile: tx_emulate_00_114_0001_000001.wav\norigin: 语速不疾不徐，语气十分笃定，很有说服力\nresult: 语速很快，态度坚决，内心充满坚定和坚韧\nresult2: 语速适中，音调较高，表现一种坚定的情绪\nresult3: 语速快，音调适中，表现了内心的坚定不移\nresult4: 语速快，话语中带着坚定的情感，十分坚决\nresult5: 语速快，音调较高，表现一种坚定不移的感觉\n\nfile: tx_emotion_00202000136.wav\norigin: 说话很没有耐心，很浮躁的内心\nresult: 很生气，难过不已\nresult2: 感到难以忍受，难过失望。\nresult3: 很生气，难过不已\nresult4: 感到难以忍受，难过已久\nresult5: 很生气，难过不已\n\nfile: tx_emulate_01_206_0004_000007.wav\norigin: 语调高亢急促，铿锵有力，内心充满焦躁与愤怒，带有些许的委屈和斥责\nresult: 语气急促，情绪激动，说话心里很是恼怒。\nresult2: 语气急促，情绪激动，说话心里很是恼怒。\nresult3: 语气急促，情绪激动，说话带有抱怨和愤怒。\nresult4: 语气急促，情绪激昂，内心极度的不满和恼怒。\nresult5: 语气急促，情绪激动，内心充满恼怒和愤怒。\n\nfile: tx_emulate_00_110_0002_000038.wav\norigin: 语速很快，声音很高，情绪中充满释然。\nresult: 声音平易，语速中带着一丝关心和理解。\nresult2: 声音平易，语速中带着一丝关心和体贴。\nresult3: 声音平易，语速正常，话语里带着严肃认真的情感。\nresult4: 声音平易，语速中带着一丝关心和体贴。\nresult5: 语速很快，语气平缓，话语里带着关心和理解。\n\nfile: tx_emulate_01_033_0006_000075.wav\norigin: 每个字都掷地有声，表达不容置喙之情。\nresult: 语气铿锵有力，音调高亢坚定，内心充满怒火。\nresult2: 语调高亢急促，铿锵有力，话语中透露着坚定不移的个性，带有威严\nresult3: 语气铿锵有力，音调高亢坚定，内心充满怒火。\nresult4: 语调高扬，铿锵有力，内心充满怒火，情绪激动；声色俱厉，带有威严\nresult5: 语气铿锵有力，内心充满坚定和果断\n\nfile: tx_emotion_00401000327.wav\norigin: 很低沉的语气，让人感到忧伤和失落\nresult: 忧伤悲痛，悲伤难过\nresult2: 忧伤悲痛，悲伤难过\nresult3: 忧伤悲痛，悲伤难过\nresult4: 忧伤悲痛，悲伤难过\nresult5: 忧伤悲痛，悲伤难过\n\nfile: tx_emotion_00401000440.wav\norigin: 思绪万千，心中忧愁满满\nresult: 表现的诚实，让人不约而止\nresult2: 表现的诚实，让人无可否认\nresult3: 表现的诚实，让人不约而止\nresult4: 表现的诚实，让人可以了解自己的真实感受\nresult5: 表现的诚实，让人很认真认可\n\nfile: tx_emotion_00309000167.wav\norigin: 内心着急于想知道某事\nresult: 难以置信\nresult2: 难以置信\nresult3: 难以置信\nresult4: 难以置信\nresult5: 难以置信\n\nfile: tx_xiao_0100107000431.wav\norigin: 态度痛苦悲伤，郁闷叹息，声音低沉\nresult: 内心悲伤，语气低沉\nresult2: 语气较为低沉，情绪中透露着悲伤\nresult3: 语气较为低沉，表达着内心的悲伤\nresult4: 语气较为激动，内心十分痛苦\nresult5: 语气较为低沉，情绪悲伤痛苦\n\nfile: tx_emulate_00_113_0002_000003.wav\norigin: 语气十分做作，做作中带着些不满\nresult: 语气中透露着内心的不屑\nresult2: 语气中透露着内心的不屑\nresult3: 语气中透露着内心的不屑\nresult4: 语气中透露着内心的不屑\nresult5: 语气中透露着内心的不屑\n\nfile: tx_emulate_02_227_0002_000019.wav\norigin: 声音重，语带愤怒，有点儿愤然不平的样子。\nresult: 语调上扬，情绪激动，表达内心的不爽和不开心\nresult2: 语调上扬，情绪激动，表达着不开心的感觉。\nresult3: 语调上扬，话语中充满了不开心的情绪\nresult4: 语调上扬，情绪激动，表达内心的不爽和不开心\nresult5: 语调上扬，情绪激动，表达着不开心的感觉。\n\nfile: tx_emulate_01_020_0001_000004.wav\norigin: 赞美的语气，充满着满意的心情，夹杂着一点感叹\nresult: 语气中透露着浓厚的兴趣，声色俱佳\nresult2: 语气中透露着浓厚的兴趣，声色俱佳\nresult3: 语气中透露着浓厚的兴趣，声色俱佳。\nresult4: 语气中透露着浓厚的兴趣，声色俱佳\nresult5: 语气中透露着浓厚的兴趣，声色俱佳。\n\nfile: tx_emulate_01_210_0009_000010.wav\norigin: 语速快，语气强硬，铿锵有力的语气透出内心的镇定与平静的情绪。\nresult: 语气很重，言语中充满了嫌弃和不屑\nresult2: 语气很重，言语中充满了嫌弃和不屑\nresult3: 语气很重，言语中充满了嫌弃和不耐烦\nresult4: 语气很重，言语中充满着不屑和蔑视\nresult5: 语气很重，言语中满是嫌弃和责怪\n\nfile: tx_xiao_0200106000584.wav\norigin: 语调略高，语气肯定明确，情绪略有些惊讶与恍惚\nresult: 疑惑的语气透出一种好奇的心情。\nresult2: 询问的语气透露出好奇的心情。\nresult3: 疑惑的语气透出一种不解的感觉。\nresult4: 疑惑的语气透出一种好奇的心情。\nresult5: 语气充满疑惑，声音里透露出关心。\n\nfile: tx_emotion_00400000378.wav\norigin: 深沉，不外露，耐人寻味\nresult: 语气平和，语调平静\nresult2: 语气平和，语调平静\nresult3: 语气平和，语调平静\nresult4: 语气平和，语调平静\nresult5: 语气平和，语调平静\n\nfile: tx_emulate_01_022_0009_000026.wav\norigin: 声色极其的凄楚，声音沉闷，心里很不满且气愤。\nresult: 语气铿锵有力，内心充满敬意。\nresult2: 语气铿锵有力，内心充满敬意。\nresult3: 语气铿锵有力，内心充满敬意。\nresult4: 语气铿锵有力，内心充满敬意。\nresult5: 语气铿锵有力，让人肃然起敬。\n\nfile: tx_xiao_0100103000032.wav\norigin: 语气开心，有点儿激动，十分开心和快乐\nresult: 语气轻快，声音欢快高昂，心情愉悦。\nresult2: 语气轻快，声音高昂表示高兴。\nresult3: 语气轻快，声音高昂表示高兴。\nresult4: 语气轻快，声音高昂表示高兴。\nresult5: 语气轻快，声音高昂表示高兴。\n\nfile: tx_emulate_01_011_0011_000059.wav\norigin: 理直气壮的语气带着些微着急\nresult: 声音语速较快，言语中充满了气愤的情绪\nresult2: 声音语速较快，言语中充满了气愤的情绪\nresult3: 声音语速较快，言语中充满了气愤的心情\nresult4: 声音语速较快，言语中充满了气愤的心情\nresult5: 声音语速较快，言语中充满了气愤的心情\n\nfile: tx_emulate_00_108_0002_000070.wav\norigin: 上来语调就上扬，愉悦的感情溢于言表，后面是认真的叮嘱，表达自己对当前的心满意足\nresult: 语速平缓，声音中透出内心的愉悦和满足\nresult2: 语速适中，语调平缓，声音里含着感激和满足\nresult3: 语速适中，语调柔和轻快，话语里透露着内心的满足与喜悦\nresult4: 语速平缓，声音中透出愉悦的心情，心情十分舒畅\nresult5: 语速适中，语调柔和轻快，话语里透露着内心的满足与喜悦\n\nfile: tx_emulate_01_013_0007_000025.wav\norigin: 语速较快，内心不耐烦，带有抱怨不满的情绪。\nresult: 语速较快，情绪中带着一丝丝的期待。\nresult2: 语气中带着喜悦的快乐，心情十分愉悦。\nresult3: 语速较快，语调较高，声音里带着一丝欣喜，表明说话者内心十分高兴\nresult4: 语气中带着喜悦的快乐，心情十分愉悦。\nresult5: 语速较快，情绪中带着喜悦和欢喜\n\nfile: tx_emotion_00205000198.wav\norigin: 怜惜又愤恨，泣不成声，难以控制情绪\nresult: 很生气，气愤不已，声音洪亮。\nresult2: 很生气，气愤不已，声音洪亮。\nresult3: 很生气，气愤不已，声音洪亮。\nresult4: 很生气，气愤不已，声音洪亮。\nresult5: 很生气，气愤不已，声音洪亮。\n\nfile: tx_emotion_00400000026.wav\norigin: 深沉，不外露，耐人寻味\nresult: 沉着，十分舒缓\nresult2: 沉着，十分舒缓\nresult3: 沉着，十分舒缓\nresult4: 沉着，十分舒缓\nresult5: 沉着，十分舒缓\n\nfile: tx_emotion_00303000474.wav\norigin: 非常愉快、高兴\nresult: 非常愉快、高兴\nresult2: 非常愉快、高兴\nresult3: 非常愉快、高兴\nresult4: 非常愉快、高兴\nresult5: 非常愉快、高兴\n\nfile: tx_emotion_00403000173.wav\norigin: 感到满足时的高兴心情\nresult: 愉快、开心\nresult2: 愉快、开心\nresult3: 开心，欢乐\nresult4: 开心，欢乐\nresult5: 愉快、开心\n\nfile: tx_xiao_0100106000077.wav\norigin: 语气戏谑轻松，内心开心且欢快。\nresult: 语速缓慢，声音里透露出不解的情绪。\nresult2: 语气平和，声音中透露出不解之情。\nresult3: 语速缓慢，声音中透露出疑惑不解之情。\nresult4: 语气平缓，声音中透露出不解之情。\nresult5: 语速缓慢，音调上扬，声音中透露出不解之情。\n\nfile: tx_emulate_01_009_0003_000026.wav\norigin: 声音低婉，语速微扬，话语里带着羞怯，十分可爱的感觉\nresult: 语调很舒畅，话语里充满了欢快的情绪。\nresult2: 语调很舒畅，话语里充满了轻松快乐的感觉。\nresult3: 语调很舒畅，话语里充满了欢快的情绪。\nresult4: 语调很轻快，话语里充满了欢乐的情绪。\nresult5: 语调很舒畅，话语里充满了欢快的情绪。\n\nfile: tx_emotion_00303000310.wav\norigin: 出乎意料的高兴\nresult: 快乐舒畅\nresult2: 快乐舒畅\nresult3: 快乐舒畅\nresult4: 快乐舒畅\nresult5: 快乐舒畅\n\nfile: tx_emotion_00409000323.wav\norigin: 带有佩服的言语\nresult: 很开心，兴奋不已\nresult2: 很开心，兴奋不已\nresult3: 很开心，兴奋不已\nresult4: 很开心，兴奋不已\nresult5: 很开心，兴奋不已\n\nfile: tx_emulate_01_007_0021_000120.wav\norigin: 十分认真的语气，特别的坦然，语重心长的。\nresult: 语调较高，语速较快，声音里带着一丝不悦\nresult2: 语调较高，语速较快，声音里带着一丝不悦\nresult3: 语调较高，语速较快，声音里带着一丝不悦\nresult4: 语调较高，语速较快，声音里充满了惊讶和不解\nresult5: 语调较高，语速较快，声音里带着一丝不悦\n\nfile: tx_emotion_00303000127.wav\norigin: 喜事临门，心情美好而快乐。\nresult: 快乐而喜悦，亦舒畅\nresult2: 快乐而喜悦，亦舒畅\nresult3: 快乐而喜悦，亦舒畅\nresult4: 快乐而喜悦，亦舒畅\nresult5: 快乐而喜悦，亦舒畅\n\nfile: tx_xiao_0200101000731.wav\norigin: 声音里透露出自责与懊悔。\nresult: 情绪低落，语气中充满哀伤。\nresult2: 情绪低落，语气中透露着哀伤。\nresult3: 情绪低落，语气中充满哀伤。\nresult4: 情绪低落，语气忧愁伤感。\nresult5: 情绪低落，语气中透露着哀伤。\n\nfile: tx_emulate_01_031_0015_000061.wav\norigin: 声音沉稳，语速微缓，话语中带着谦卑，说话做事极度小心的感觉\nresult: 语气沉稳，带着些许的忧虑。\nresult2: 语气沉稳，带着深切的哀伤。\nresult3: 语气低沉，带着哀伤的情绪。\nresult4: 语气低沉，带着些许的担忧和忧虑。\nresult5: 语气沉稳，带着深切的哀伤。\n\nfile: tx_emulate_01_012_0004_000021.wav\norigin: 说话的语速非常的烦闷声音中带着一些气愤与不满。\nresult: 语气轻柔，情绪平和\nresult2: 语气轻柔，情绪平和\nresult3: 语气轻柔，情绪平和\nresult4: 语气轻柔，情绪平和\nresult5: 语气轻柔，情绪平和\n\nfile: tx_emotion_00303000360.wav\norigin: 愉快高兴，心情舒畅\nresult: 快乐的情绪\nresult2: 快乐的情绪\nresult3: 快乐的情绪\nresult4: 快乐的情绪\nresult5: 快乐的情绪\n\nfile: tx_emulate_01_014_0011_000061.wav\norigin: 语气轻快，内心放松，轻松，得意洋洋的高兴情感。\nresult: 语调很轻快，语速较快，声音中透露出内心的愉悦\nresult2: 语调很轻快，语速较快，流露出内心的兴奋和欣喜\nresult3: 语调很轻快，语速较快，表明了说话者内心的兴高采烈\nresult4: 语调很轻快，语速较快，表明了说话者内心的兴致\nresult5: 语调很轻快，语气带着笑意，心情十分舒畅，非常开心的情绪。\n\nfile: tx_emulate_02_265_0001_000066.wav\norigin: 语调高扬，情绪激愤，内心很是气愤\nresult: 情绪激动，语气激烈，突出内心的愤怒和责怪。\nresult2: 语气激烈，情绪激动，突出内心的愤怒和责怪。\nresult3: 情绪激动，语气激烈，透露出内心的愤怒和责怪。\nresult4: 语气激烈，情绪激动，突出内心的愤怒和责怪。\nresult5: 语气激烈，情绪激动，突出内心的愤怒和责怪。\n\nfile: tx_emotion_00301000457.wav\norigin: 伤心难过，声音颤抖，情绪激动失望\nresult: 对以前美好的回忆感到惋惜，同情自己。\nresult2: 对以前美好的回忆感到惋惜，同情自己。\nresult3: 对以前美好的回忆感到惋惜，同情自己。\nresult4: 对以前美好的回忆感到惋惜，同情自己。\nresult5: 对以前美好的回忆感到惋惜，同情自己。\n\nfile: tx_emotion_00303000148.wav\norigin: 听到开心的事，心情舒畅\nresult: 情绪很愉悦。\nresult2: 情绪很愉悦。\nresult3: 情绪很愉悦。\nresult4: 情绪很兴奋\nresult5: 非常兴奋或惊奇的情绪\n\nfile: tx_emulate_02_055_0033_000122.wav\norigin: 音调升高，心事重重的情感，带有不高兴的情绪。\nresult: 语速很快，声音很高，情绪十分激动\nresult2: 语速很快，声音很高，情绪非常激动\nresult3: 语速很快，声音很高，情绪非常激动\nresult4: 语速很快，声音很高，情绪非常激动\nresult5: 语速很快，声音很高，情绪十分激动\n\nfile: tx_emulate_02_242_0002_000072.wav\norigin: 声音逐渐高昂，话语中感动情绪非常激动很生气的感觉\nresult: 语气很重，声音高昂，话语中带着不满的情绪。\nresult2: 语气很重，声音高昂，话语中带着不满的情绪。\nresult3: 语气很重，声音高昂，话语中带着不满的感觉。\nresult4: 语气很重，声音高扬，话语中带着不满的情绪。\nresult5: 语气很重，声音高昂，话语中带着不满的情绪。\n\nfile: tx_emulate_01_020_0017_000067.wav\norigin: 情绪非常激动，说话声带着哭腔，久久不能平静\nresult: 语气十分悲痛，声色凄凉\nresult2: 语气十分悲痛，声色凄凉\nresult3: 语气十分悲痛，声色凄凉\nresult4: 语气十分悲痛，声色凄凉\nresult5: 语气十分悲痛，声色凄凉\n\nfile: tx_emotion_00403000439.wav\norigin: 非常愉快、高兴\nresult: 感到满心欢喜，欢乐\nresult2: 感到满心欢喜，欢乐\nresult3: 感到满心欢喜，欢乐\nresult4: 感到满心欢喜，欢乐\nresult5: 感到满心欢喜，欢乐\n\nfile: tx_emotion_00303000421.wav\norigin: 听到开心的事，心情舒畅\nresult: 非常愉快、高兴\nresult2: 非常愉快、高兴\nresult3: 非常愉快、高兴\nresult4: 非常愉快、高兴\nresult5: 非常愉快、高兴\n\nfile: tx_emulate_02_039_0002_000034.wav\norigin: 有些着急的感觉，情绪十分严肃认真。\nresult: 语速较快，声音高昂，情绪十分激动\nresult2: 语速较快，声音高昂，情绪十分激动\nresult3: 语速较快，声音高昂，情绪十分激动\nresult4: 语速较快，声音高昂，情绪十分激动\nresult5: 语速较快，声音高挑，情绪十分激动\n\nfile: tx_emulate_02_003_0023_000078.wav\norigin: 语速较缓，语气加强，表现出心中的埋怨和责怪之情\nresult: 语速较快，情绪中带着一丝傲慢\nresult2: 语速较快，情绪中带着一丝傲慢\nresult3: 语速较快，情绪中带着一丝丝傲慢\nresult4: 语速较快，情绪中带着一丝傲慢\nresult5: 语速较快，情绪中带着一丝丝傲慢\n\nfile: tx_emotion_00210000453.wav\norigin: 不满，生出怨恨情绪\nresult: 伤心难过，情绪控制不了\nresult2: 伤心难过，情绪控制不了\nresult3: 伤心难过，心里悲痛失望之情\nresult4: 伤心难过，情绪控制不了\nresult5: 伤心难过，情绪控制不了\n\nfile: tx_xiao_0200103000008.wav\norigin: 语调渐高，无比惊讶与欣喜。\nresult: 情绪激动，语调上扬，声音明亮，充满喜悦\nresult2: 情绪激动，声音高昂，语调欢快，透露着兴奋和欣喜\nresult3: 情绪激动，声音明亮，语速较快，音调高昂，流露欣喜\nresult4: 情绪激动，语调高昂，声音明亮，透露着欣喜。\nresult5: 情绪激动，声音明亮，语调高昂，充满期待和欣喜\n\nfile: tx_emulate_00_125_0001_000067.wav\norigin: 声音逐渐高扬，语调渐高，话语中带着惊恐和害怕，内心非常的紧张的情绪\nresult: 语气铿锵有力，语调平缓，情绪中带着骄傲和自信。\nresult2: 语气铿锵有力，语调上扬，内心充满了骄傲和自豪。\nresult3: 语气铿锵有力，语速缓慢，情绪中带着骄傲和自豪。\nresult4: 声音激昂，语调铿锵有力，平缓的语气彰显了内心的坚定和自信，心情十分舒畅\nresult5: 语气铿锵有力，语调上扬，情绪激昂\n\nfile: tx_emotion_00306000098.wav\norigin: 心里疑惑不解，对此感到好奇\nresult: 疑惑不解\nresult2: 疑惑不解\nresult3: 疑惑不解\nresult4: 疑惑不解\nresult5: 疑惑不解\n\nfile: tx_emulate_00_119_0001_000034.wav\norigin: 声音高挑，语速微快，话语里带着责备，心里非常着急，很是凌乱，没有办法的感觉\nresult: 声音高，语速平缓，话语里带着不耐烦的感觉，内心非常的恼怒。\nresult2: 声音高，语速平缓，话语里带着不耐烦的感觉，非常的恼怒。\nresult3: 声音高挑，语速微快，话语里带着担心和担忧的情绪，内心很是着急。\nresult4: 声音高挑，语速微快，话语里带着不耐烦的感觉，心里非常的恼怒。\nresult5: 声音高挑，语速微快，话语里带着不耐烦的感觉，心里非常的恼怒。\n\nfile: tx_xiao_0200106000881.wav\norigin: 语气较为调皮，带有甜蜜和喜悦之意的询问\nresult: 语气中透露出内心的疑惑和不解。\nresult2: 问道的语气中充满了疑惑和不解，表达出不信任的感觉。\nresult3: 疑惑的语气透出一种不信任的态度。\nresult4: 语气中透露出内心的疑惑和不解。\nresult5: 疑惑的语气透着不解和不满之情。\n\nfile: tx_emulate_01_199_0001_000022.wav\norigin: 情绪有些激动，说话的语气也很不好，语速很快。\nresult: 语气激烈，情绪十分激动\nresult2: 语气激烈，情绪十分激动\nresult3: 情绪激动，语速较快，内心十分的愤怒\nresult4: 语气激烈，情绪十分激动\nresult5: 情绪激动，语气激烈，突出内心的愤怒\n\nfile: tx_emotion_00202000425.wav\norigin: 嫉妒，不满，生出怨恨情绪。\nresult: 很生气，心里苦楚，内心悲伤，恼怒。\nresult2: 很生气，心里苦楚，内心悲伤，不开心，恼怒。\nresult3: 很生气，心里苦楚，内心悲伤，不开心，恼怒。\nresult4: 很生气，心里苦楚，内心悲伤，恼怒。\nresult5: 很生气，心里苦楚，内心悲伤，恼怒。\n\nfile: tx_emotion_00303000389.wav\norigin: 心情快乐舒畅\nresult: 快乐和幸福\nresult2: 快乐和幸福\nresult3: 快乐和幸福\nresult4: 快乐和幸福\nresult5: 快乐和幸福\n\nfile: tx_emotion_00301000494.wav\norigin: 伤心难过，又无能为力\nresult: 很痛苦的感觉，心里悲痛\nresult2: 心里悲痛，悲伤难过\nresult3: 心里十分的悲哀，很凄凉\nresult4: 很痛苦的感觉，心里悲痛\nresult5: 很痛苦的感觉，心里悲痛\n\nfile: tx_xiao_0100104000205.wav\norigin: 语调上扬，声音略带嘶哑，表达愤怒和质问的情绪\nresult: 语调上扬，情绪非常激动愤怒\nresult2: 语调上扬，情绪非常激动愤怒\nresult3: 语调上扬，情绪非常激动愤怒\nresult4: 语调上扬，情绪激动、满腔的怒气溢于胸中\nresult5: 语调上扬，情绪非常激动愤怒\n\nfile: tx_emulate_00_135_0002_000003.wav\norigin: 声音清脆，带着笑声，心里的快乐展现在声音中\nresult: 语调欢快上扬，抑扬顿挫，表现出心情愉快的快乐。\nresult2: 语调欢快上扬，抑扬顿挫，内心十分高兴。\nresult3: 语调欢快上扬，抑扬顿挫，表现出开心的情绪。\nresult4: 语调欢快上扬，抑扬顿挫，表现出开心的情绪。\nresult5: 语调欢快高亢，抑扬顿挫，表现出开心愉快的心情。\n\nfile: tx_emulate_01_016_0003_000006.wav\norigin: 声音高，语速快，话语中带着种种的质问，表示迷惑不解。\nresult: 语气中充满了不安，内心带着些许的慌乱和不知所措\nresult2: 语气中充满了不安，内心充满的慌乱和不知所措\nresult3: 语气中充满了不安，内心充满的慌乱和不知所措\nresult4: 语气中充满了不安，内心带着些许的慌乱和不解。\nresult5: 语气中充满了不安，内心充满的慌乱和不解。\n\nfile: tx_emulate_01_191_0005_000043.wav\norigin: 语调由低变激昂，先是很无奈，后来发出了急躁的抱怨，心里非常不满\nresult: 声音中透露着内心的不满，带有些许的不耐烦\nresult2: 声音中透露着一种不耐烦的感觉，带有些许的不满\nresult3: 声音中透露着内心的不满，带有些许的不耐烦之意\nresult4: 语调起伏不平，声音中透露着内心的烦躁和不满\nresult5: 声音中透露着内心的不满，带有些许的不耐烦之意\n\nfile: tx_emulate_02_261_0005_000107.wav\norigin: 语气中充满恼怒，非常的不满，极力指责。\nresult: 语气急促，语速较快，情绪中带着恼怒和责备\nresult2: 语调高亢，语速较快，情绪中带着不满和恼怒\nresult3: 语调高亢，语速较快，情绪中带着不满和恼怒\nresult4: 语调高亢，语速较快，情绪中带着不满和愤怒\nresult5: 语气急促，语速较快，情绪中带着恼怒和责备\n\nfile: tx_emulate_02_006_0009_000053.wav\norigin: 声音加高，语气愤愤，言语间充满了振奋\nresult: 声音高扬的语气，情绪十分激动，内心充满愤怒\nresult2: 声音高扬的语气，情绪非常激动，内心充满了愤怒和愤恨\nresult3: 声音高扬的语气，情绪十分激动，内心充满愤怒\nresult4: 声音高扬的语气，情绪十分激动，内心充满了好奇和激愤\nresult5: 声音高扬的语气，情绪十分激动，内心充满愤怒\n\nfile: tx_emulate_01_023_0006_000042.wav\norigin: 语气很重，语速缓慢，情绪中带着不悦和不高兴。\nresult: 语气中带着不屑的轻蔑和鄙薄的感觉，心里很烦躁，还有一点不服气。\nresult2: 语气中带着不屑的轻蔑，情绪上充满着鄙夷和瞧不起\nresult3: 语气中带着不屑的轻蔑和鄙薄的感觉，心情烦躁。\nresult4: 语气中带着不屑的轻蔑，情绪上充满了鄙夷和瞧不起\nresult5: 语气中带着不屑的轻蔑，情绪上充满着鄙夷和瞧不起。\n\nfile: tx_emulate_02_052_0011_000081.wav\norigin: 语调上扬，情绪激愤，语气愤愤，凸显出心中的不甘和怨恨\nresult: 语气很重，情绪中带着不满和愤怒。\nresult2: 语气很重，情绪中带着不满和愤怒。\nresult3: 语气很重，情绪中带着不满和愤怒。\nresult4: 语气很重，情绪中带着不满和愤怒。\nresult5: 语气很重，情绪中带着不满和愤怒。\n\nfile: tx_xiao_0200104000848.wav\norigin: 生气极了，反问中透露出愤怒\nresult: 声音大，语速较快，情绪激动而愤怒。\nresult2: 声音大，语速较快，表现内心的愤怒和不满。\nresult3: 声音大，语速较快，情绪激动而愤怒。\nresult4: 声音大，语速较快，表现内心的愤怒和不满。\nresult5: 声音大，语速较快，情绪较为激动和愤怒。\n\nfile: tx_emotion_00203000425.wav\norigin: 无法言喻的开心快乐\nresult: 愉悦于某事，心满意足\nresult2: 愉悦于某事，心满意足\nresult3: 愉悦于某事，心满意足\nresult4: 愉悦于某事，心满意足\nresult5: 愉悦于某事，心满意足\n\nfile: tx_xiao_0200103000236.wav\norigin: 心情舒畅，语气高兴中透露出一丝感怀。\nresult: 声音高昂，透露着欣喜和兴奋。\nresult2: 声音高昂，充满期待和欣喜。\nresult3: 声音响亮，非常高兴和激动。\nresult4: 声音明亮，语气中透露着兴奋和欣喜。\nresult5: 声音高昂，充满期待和欣喜。\n\nfile: tx_xiao_0100106000317.wav\norigin: 询问，声音给人一种充满好奇和不解的感觉\nresult: 疑惑不解的语气\nresult2: 疑惑不解的语气\nresult3: 疑惑不解的语气\nresult4: 询问的语气里充满疑惑不解的感觉\nresult5: 疑惑不解的语气\n\nfile: tx_xiao_0100103000066.wav\norigin: 带有一种愉快和高兴的心情，还有一种满足\nresult: 表明内心十分高兴，感到非常开心。\nresult2: 表明内心十分高兴，感到开心和满足。\nresult3: 表明内心十分高兴，感到非常开心。\nresult4: 表明内心十分高兴，感到非常开心。\nresult5: 表明内心十分高兴，感到非常开心。\n\nfile: tx_emulate_00_144_0007_000056.wav\norigin: 语气很轻快，心情很舒畅，带着笑意。\nresult: 语调欢快，心情愉悦的情绪，表达内心的喜悦与满足。\nresult2: 语调欢快，心情愉悦的情绪，表达内心的喜悦与满足。\nresult3: 语调欢快，心情愉快的情绪，愉悦的心情。\nresult4: 语调欢快，心情愉快的情绪，愉悦的心情。\nresult5: 语调欢快，心情愉悦的情绪，表达内心的喜悦与满足。\n\nfile: tx_emotion_00409000462.wav\norigin: 心里感到很是开心又很惊讶\nresult: 感到惊讶，觉得很神奇\nresult2: 感到惊讶，觉得很神奇\nresult3: 感到惊讶，很是惊喜\nresult4: 感到惊讶，觉得很神奇\nresult5: 感到惊讶，觉得很神奇\n\nfile: tx_emulate_01_014_0016_000086.wav\norigin: 语速很慢，声音低沉，内心充满感激和感动的情绪。\nresult: 语气中充满了感激，声音低沉忧伤\nresult2: 语气低沉，声音中充满感激，情绪十分的感谢\nresult3: 语气低沉，情绪中带着感激和期待\nresult4: 语气低沉，情绪中充满了感激和期待\nresult5: 语气低沉，声音中充满了感激，情绪十分的感谢\n\nfile: tx_xiao_0100103000364.wav\norigin: 轻松愉快的语气表达了内心的激动和期盼\nresult: 内心充满了喜悦激动的心情\nresult2: 内心充满了喜悦激动的情绪\nresult3: 内心充满了喜悦激动的心情\nresult4: 内心充满了喜悦激动的情绪\nresult5: 内心充满了喜悦激动的心情\n\nfile: tx_emulate_00_126_0001_000039.wav\norigin: 语调很低，但是语速稍快，有些畏缩的语气透露出内心的恐惧和担心\nresult: 语气中充满了担心，心里十分害怕\nresult2: 语气中充满了担心，心里十分害怕\nresult3: 语气中充满担心，心里十分害怕\nresult4: 语气中充满了担心，心里十分害怕\nresult5: 语气中充满了担心，心里十分害怕\n\nfile: tx_emotion_00203000111.wav\norigin: 兴致高，情绪热烈，兴致勃勃\nresult: 欢快，心情舒畅\nresult2: 欢快，心情快乐愉悦\nresult3: 欢快，心情快乐愉悦\nresult4: 欢愉的情绪，心情舒畅\nresult5: 感受开心的事，心情舒畅\n\nfile: tx_xiao_0200106000526.wav\norigin: 语气急促，感到无比好奇且十分担忧。\nresult: 内心感到十分困惑和疑惑，语气婉转。\nresult2: 内心感到不解，语气婉转。\nresult3: 内心感到不解，语气婉转。\nresult4: 内心感到十分困惑，语气婉转。\nresult5: 内心感到不解，语气婉转。\n\nfile: tx_emulate_00_103_0001_000017.wav\norigin: 心情十分兴奋，语速很快，心里十分期待\nresult: 语气中带着激动的情绪，还有一种兴奋的感觉\nresult2: 语气中带着激动的情绪，还有一种兴奋的感觉\nresult3: 语调上扬，情绪激动，语气中带着兴奋\nresult4: 语气中带着激动的情绪，还有一种兴奋的感觉\nresult5: 语气中带着激动的情绪，还有一种兴奋的感觉\n\nfile: tx_emotion_00206000240.wav\norigin: 好奇心所致，保持疑惑，想要知道答案。\nresult: 怀疑不解，疑心重重\nresult2: 怀疑不解，疑心重重\nresult3: 怀疑不解，疑心重重\nresult4: 怀疑不解，疑心重重\nresult5: 怀疑不解，疑心重重\n\nfile: tx_emulate_00_118_0005_000032.wav\norigin: 语气激动，声音中透露出不理解。\nresult: 语速较快，声音里充满疑惑和不理解\nresult2: 语速较快，声音里充满了疑惑和不理解。\nresult3: 语速较快，声音里充满疑惑和不理解\nresult4: 语速较快，声音里充满了疑惑和不理解。\nresult5: 语速较快，声音里充满了疑惑和不理解。\n\nfile: tx_emotion_00206000167.wav\norigin: 意想不到，感到惊讶奇怪。\nresult: 用一些语气，很是着急\nresult2: 用了语气，带着疑问和惊讶\nresult3: 用一些语气，不停地停不下来\nresult4: 用一些语气，很是着急\nresult5: 用一些语气，声音很快而充满期待\n\nfile: tx_emotion_00302000027.wav\norigin: 心生不满，厌恶。\nresult: 很生气的发怒\nresult2: 很生气的发怒\nresult3: 很生气的发怒\nresult4: 很生气的发怒\nresult5: 很生气的发怒\n\nfile: tx_xiao_0100103000171.wav\norigin: 话语带有一种欣喜的心情，可以看出当时的兴奋喜悦心情\nresult: 语气轻快，内心充满惊奇的喜悦。\nresult2: 语气轻快，内心充满了一种惊喜的喜悦。\nresult3: 语气轻快，内心充满了惊奇和惊喜的情绪\nresult4: 语气轻快，声音充满了惊喜和欣喜的情绪\nresult5: 语气轻快，内心充满了惊喜和喜悦。\n\nfile: tx_emulate_00_159_0001_000006.wav\norigin: 非常担心，语气中满是担忧、关怀\nresult: 语气中透露着一种担心不安的感觉，还有一点担忧\nresult2: 语气中透露着一种担心不安的感觉，还有一点担忧\nresult3: 语气中透露着一种担心不安的感觉，还有一点担忧\nresult4: 语气中透露着一种担心不安的感觉，还有一点担忧\nresult5: 语气中透露着一种担心不安的感觉，还有一点担忧\n\nfile: tx_xiao_0200104000527.wav\norigin: 语气激动，充满着怨恨和不满。\nresult: 声音大，语速较快，音调高，表达不满\nresult2: 声音大，语速快，音调高，表达生气不满\nresult3: 声音大，语速较快，音调高，表达生气不满\nresult4: 声音大，语速快，音调高，表达生气不满\nresult5: 声音大，语速较快，音调高，表达不满\n\nfile: tx_emulate_00_114_0002_000030.wav\norigin: 是揶揄的口吻，语气十分轻快\nresult: 语气中透露出内心的自豪和骄傲\nresult2: 语气中透露出内心的骄傲和自豪\nresult3: 语气中透露出内心的自豪和骄傲\nresult4: 语气中充满了自豪和骄傲的情绪。\nresult5: 语气中透露出内心的骄傲和自豪\n\nfile: tx_emotion_00403000060.wav\norigin: 心里甜的跟蜜一样\nresult: 愉快、开心\nresult2: 愉快、开心\nresult3: 愉快、开心\nresult4: 愉快、开心\nresult5: 愉快、开心\n\nfile: tx_emulate_00_115_0009_000024.wav\norigin: 言语中透露出轻蔑，满眼的不屑而又格外的气愤，很是气不过。\nresult: 语气中透着埋怨，心里不悦，很是不喜欢的样子。\nresult2: 语气中透露出内心的不耐烦，很是不喜欢的样子。\nresult3: 语气中透露出内心的不满，很是不喜欢的样子。\nresult4: 语气中透露出内心的不屑，很是不喜欢的样子。\nresult5: 语气中透着不屑一顾，心情很烦躁。\n\nfile: tx_emulate_02_245_0002_000019.wav\norigin: 声音高昂，语速超快，话语中带着咄咄逼人的质问情感，内心特别的气愤。\nresult: 语速快，语调高扬，内心充满愤怒的情绪\nresult2: 语气较重，情绪中带着一丝抱怨\nresult3: 语速快，语调高扬，内心充满愤怒\nresult4: 语速较快，声音较高，情绪中带着一丝抱怨。\nresult5: 语气较重，情绪中带着一丝抱怨\n\nfile: tx_xiao_0200103000221.wav\norigin: 声音雀跃，语气轻快，非常开心欢喜。\nresult: 内心充满了喜悦和欣喜，语气轻快\nresult2: 内心充满了喜悦和满足，语气轻快欢快\nresult3: 情绪激动，内心充满了喜悦和欣喜\nresult4: 情绪激动，语气中充满期待和快乐。\nresult5: 情绪激动，语气中充满期待和欣喜\n\nfile: tx_emulate_01_016_0016_000067.wav\norigin: 声音微微的脆弱，话语中带着坚定与自信的情感。\nresult: 语速较慢，情绪低沉，话语中带着无奈之情。\nresult2: 语速较慢，情绪中带着一丝无奈\nresult3: 语速较慢，情绪中带着一丝无奈之情。\nresult4: 语速较慢，情绪中带着一丝无奈\nresult5: 语气很重，情绪中带着一丝丝的无奈。\n\nfile: tx_emulate_02_042_0002_000072.wav\norigin: 声音低婉，语调微缓，因事情不如意而情绪低落，精神不振\nresult: 声音微扬，语速较快，情绪中带着一丝担心和不安。\nresult2: 声音低沉的语调，很是伤感。\nresult3: 声音低沉，语速很慢，情绪中带着一丝伤感。\nresult4: 音调较高，语速快，情绪中带着一丝担心和不安。\nresult5: 声音微扬，语速较快，情绪中带着一丝无奈。\n\nfile: tx_emulate_01_023_0014_000081.wav\norigin: 情绪很烦乱的样子，语速较缓慢。\nresult: 语速较慢，情绪中带着一丝怨气\nresult2: 语速较慢，情绪中带有一丝不耐烦和埋怨\nresult3: 语速较慢，情绪中带有一丝不耐烦和埋怨\nresult4: 语速较慢，情绪中带有一丝丝的不耐烦和不满\nresult5: 语气较重，情绪中带有一丝丝的不耐烦\n\nfile: tx_emotion_00206000186.wav\norigin: 感到疑惑，不知该怎么办\nresult: 迷惑，不知该怎么办\nresult2: 迷惑，不知该怎么办\nresult3: 迷惑，不知该怎么办\nresult4: 迷惑，不知该怎么办\nresult5: 迷惑，不知该怎么办\n\nfile: tx_emotion_00402000196.wav\norigin: 从语气能感觉到很尊重很敬重\nresult: 心里委屈，烦恼，窝火。\nresult2: 心里委屈，烦恼，窝火。\nresult3: 心里委屈，烦恼，窝火。\nresult4: 心里委屈，烦恼，窝火。\nresult5: 心里委屈，烦恼，窝火。\n\nfile: tx_emulate_02_260_0001_000024.wav\norigin: 说话快，语调低，抱怨重。\nresult: 声音中透露着一种不耐烦的感觉，还带有一丝抱怨\nresult2: 声音中透露着一种不耐烦的感觉，内心有些不开心\nresult3: 声音中透露着一种不耐烦的感觉，内心有些不开心\nresult4: 声音中透露着一种不开心的感觉，语气有些不耐烦\nresult5: 声音中透露着一种不耐烦的情绪，还带有一丝无奈\n\nfile: tx_xiao_0100106000111.wav\norigin: 语气上扬，语速适中，声音缓慢，感觉说话人十分迷惑不解\nresult: 语气上扬，表达着迟疑和疑惑的情绪\nresult2: 语气柔和上扬，音量适中表达出内心的疑惑\nresult3: 语气上扬，表达着内心的不解和疑惑\nresult4: 语气柔和上扬，声音中带有迟疑不解的情绪\nresult5: 语气柔和，音调上扬，声音中带有疑惑\n\nfile: tx_emotion_00400000259.wav\norigin: 语气平和，语调平静\nresult: 语气平和，十分舒缓\nresult2: 语气平和，十分舒缓\nresult3: 语气平和，十分舒缓\nresult4: 语气平和，十分舒缓\nresult5: 语气平和，十分舒缓\n\nfile: tx_emulate_00_108_0001_000008.wav\norigin: 语调不高，疑问的口吻满是不解，带有一些迟疑，心中不理解\nresult: 语气中带着疑惑，内心充满迷惑和不解\nresult2: 语气中充满疑惑，声音比较低沉，很是困惑\nresult3: 语气中带着疑惑，内心充满不解和困惑\nresult4: 语气中带着疑惑，内心充满疑问\nresult5: 疑问的语气中透着迷惑不解，内心充满疑惑\n\nfile: tx_emotion_00301000461.wav\norigin: 因不如意的事心里悲痛，伤心难过。\nresult: 伤心，内心煎熬痛苦。\nresult2: 伤心，内心煎熬痛苦。\nresult3: 伤心，内心煎熬痛苦。\nresult4: 伤心，内心煎熬痛苦。\nresult5: 伤心，内心煎熬痛苦。\n\nfile: tx_emulate_00_162_0002_000075.wav\norigin: 说话先是带有结巴，后来非常的急躁恼火致使自己的说话语速加快\nresult: 说话语速很快，心里十分的慌乱。\nresult2: 说话语速很快，心里非常的不安，很是慌乱\nresult3: 说话语速很快，心里非常的慌乱和不知所措。\nresult4: 说话语速很快，心里非常的慌乱和不知所措。\nresult5: 说话语速很快，心里十分的慌乱和不知所措。\n\nfile: tx_emotion_00203000399.wav\norigin: 心情快乐舒畅\nresult: 感到开心，心情舒畅\nresult2: 感到开心，心情舒畅\nresult3: 感到开心，内心欢喜\nresult4: 感到开心，心情舒畅\nresult5: 感到开心，心情舒畅\n\nfile: tx_emulate_02_257_0001_000008.wav\norigin: 声音中透露着一种不开心的感觉，语气中透露着不耐烦\nresult: 语调平缓，言辞中透露着一种不耐烦的情绪\nresult2: 语调平缓，言辞中透露着一种不耐烦的感觉\nresult3: 语调平缓，言辞中透露着一种不耐烦和厌烦的情绪\nresult4: 语调平缓，言辞中透露着一种不耐烦和不开心的情绪\nresult5: 语调平缓，言辞中透露着一种不耐烦和厌烦的情绪\n\nfile: tx_emulate_02_257_0001_000007.wav\norigin: 语调高亢有力，内心充满自信和坚定，带有些许不耐烦\nresult: 语气激昂，言语中充满了不满和不耐烦\nresult2: 语气激昂，言语中充满了不满和不耐烦的情绪\nresult3: 语气中充满的不耐烦和不满，有些生气的感觉非常明显\nresult4: 语气激昂，言语中充满了不耐烦和不满的情绪\nresult5: 语气中充满的不耐烦和不满，有些生气的感觉非常明显\n\nfile: tx_emotion_00203000352.wav\norigin: 感到幸福和满意\nresult: 感到开心，欢快\nresult2: 感到开心，欢快\nresult3: 感到开心，欢快\nresult4: 感到开心，欢快\nresult5: 感到开心，欢快\n\nfile: tx_xiao_0200103000206.wav\norigin: 声音激动，语气庆幸中感到非常兴奋。\nresult: 情绪激动，语调上扬，流露欣喜之情。\nresult2: 情绪激动，语调上扬，流露欣喜。\nresult3: 情绪激动，语调上扬，流露欣喜之情。\nresult4: 语气轻快，无比兴奋和欣喜。\nresult5: 语气轻快，无比兴奋和欣喜。\n\nfile: tx_emotion_00303000354.wav\norigin: 心情快乐舒畅\nresult: 非常愉快和高兴\nresult2: 非常愉快、高兴的\nresult3: 非常愉快、高兴的\nresult4: 非常愉快、高兴的\nresult5: 非常愉快、高兴的\n\nfile: tx_xiao_0100105000327.wav\norigin: 大声的责骂，声音大，语速快，给人一种怒火中烧的感觉\nresult: 听起来非常生气，很是不屑的语气\nresult2: 听起来非常生气，很是不屑的语气\nresult3: 听起来非常生气，很是不屑的语气\nresult4: 听起来很生气，非常不高兴\nresult5: 听起来非常不高兴，语气比较急促，情绪很激动\n\nfile: tx_emulate_01_011_0009_000047.wav\norigin: 前重后轻的语调，有着不屑的语气\nresult: 语调上扬，情绪中带着一丝不解和困惑\nresult2: 语调上扬，情绪中带着一丝不解和困惑\nresult3: 语调上扬，情绪中带着一丝不解和困惑\nresult4: 语调上扬，情绪中带着一丝不解和困惑\nresult5: 语调上扬，情绪中带着一丝不解和困惑\n\nfile: tx_emotion_00303000236.wav\norigin: 心情快乐舒畅\nresult: 快乐而喜悦\nresult2: 快乐而喜悦\nresult3: 快乐而喜悦\nresult4: 快乐而喜悦\nresult5: 快乐而喜悦\n\nfile: tx_xiao_0100106000020.wav\norigin: 声调渐高，处于一种疑问但稍带相信的状态。\nresult: 语气急促，情绪中夹杂着关心和担心。\nresult2: 语气急促，情绪中夹杂着关心和担心。\nresult3: 语气急促，情绪表现出关心和担心。\nresult4: 语气急促，情绪中夹杂着关心和担心。\nresult5: 语气急促，情绪中夹杂着疑惑和担心。\n\nfile: tx_emulate_02_265_0006_000056.wav\norigin: 语气中带有鄙视，非常的痛恨，带有愤怒。\nresult: 语速较快，音调较高，情绪激动。\nresult2: 语速较快，音调较高，情绪激动。\nresult3: 语速较快，音调较高，情绪激动。\nresult4: 语速较快，音调较高，情绪激动。\nresult5: 语速较快，音调较高，情绪激动。\n\nfile: tx_emotion_00201000015.wav\norigin: 悲伤逆流成河\nresult: 透漏的表达内心忧郁之情\nresult2: 透漏的叙述，语气平淡无奇，内心忧伤难过\nresult3: 透漏的叙述，无私的爱 真诚的心意。\nresult4: 透漏的语气，无可避免让人感到悲痛之情\nresult5: 透漏的表达自己曾经受过的伤感之情\n\nfile: tx_emotion_00206000149.wav\norigin: 不解的问\nresult: 感到厌恶， not angry anymore\nresult2: 感到厌恶， not angry anymore\nresult3: 感到厌恶， not angry anymore\nresult4: 感到厌恶， indignant.\nresult5: 感到厌恶， not angry anymore\n\nfile: tx_xiao_0200105000746.wav\norigin: 声音凶狠，语气中透露出及其愤怒的情感。\nresult: 声音铿锵有力，语气强硬充满着怨恨和愤怒。\nresult2: 声音铿锵有力，语速较快，满腔的怒气溢于嘴边。\nresult3: 声音铿锵有力，语速较快，满腔的怒气表达出强烈的愤怒。\nresult4: 声音嘶力竭，语气满是怨恨和愤怒。\nresult5: 声音铿锵有力，语气强硬充满着怨恨和愤怒。\n\nfile: tx_xiao_0200106000574.wav\norigin: 语气轻佻略有些蔑视，态度高傲，情绪不屑\nresult: 语气轻快，声音低沉婉转，语速适中\nresult2: 语气轻快，声音高扬长叹，音调低沉\nresult3: 语气中充满了惊讶的疑惑，声音婉转轻快，音调上扬\nresult4: 语气中充满了惊讶的意味，声音低沉轻快，语速缓慢\nresult5: 语气轻快，声音低沉婉转，音调平缓\n\nfile: tx_xiao_0200103000080.wav\norigin: 语调高，语气欣喜欢快，情绪十分快活\nresult: 内心充满期待，语气轻快情绪高昂\nresult2: 内心充满期待，语调昂扬，情绪欣喜雀。\nresult3: 内心充满期待，语气轻快情绪高昂\nresult4: 内心充满期待，语气轻快情绪高昂\nresult5: 内心充满期待，语调昂扬，流露欣喜。\n\nfile: tx_emulate_02_052_0016_000106.wav\norigin: 情绪激愤，语调上扬，表现出心中的不理解和责怪之情\nresult: 语气激烈，情绪中带着不满和责怪\nresult2: 语气激烈，情绪中带着不满和责怪\nresult3: 语气激烈，情绪中带着不满和责怪\nresult4: 语气激烈，情绪中带着不满和责怪\nresult5: 语气激烈，情绪中带着不满和责怪\n\nfile: tx_emulate_02_005_0005_000018.wav\norigin: 语调上扬，情绪激愤，流露出心中的气愤\nresult: 语速较快，情绪中带着一丝不屑\nresult2: 语速较快，情绪中带着一丝不屑\nresult3: 语速较快，情绪中带着一丝不屑\nresult4: 语速较快，情绪中带着一丝不屑\nresult5: 语速较快，情绪中带着一丝不屑\n\nfile: tx_emotion_00203000372.wav\norigin: 心里高兴，言语间表现出欢喜\nresult: 心里无比喜悦，欣喜不已\nresult2: 心里无比喜悦，欣喜不已\nresult3: 心里无比喜悦，欣喜不已\nresult4: 心里无比喜悦，欣喜不已\nresult5: 心里无比喜悦，欣喜不已\n\nfile: tx_emotion_00302000016.wav\norigin: 心生不满，厌恶。\nresult: 心生不满，厌恶的。\nresult2: 心生不满，厌恶的。\nresult3: 感到难以忍受，心生不满\nresult4: 感到难以忍受，心生不满\nresult5: 感到难以忍受，心生不满\n\nfile: tx_emulate_01_023_0010_000063.wav\norigin: 语速很快语气很重，对别人感到不耐烦。\nresult: 语速较快，语气很重，情绪中带着不满和不耐烦\nresult2: 语速较快，语气很重，情绪中带着不满和愤慨\nresult3: 语速较快，语气很重，情绪中带着些许的不耐烦和不满。\nresult4: 语速较快，语气很重，情绪中带着不满和愤慨\nresult5: 语速较快，声音低沉，情绪中带着不满和不耐烦。\n\nfile: tx_emulate_01_007_0025_000099.wav\norigin: 声音高挑，语速微快，话语里带着坚决和果敢的情绪\nresult: 语速较慢，声调较高，语气中带着赞叹\nresult2: 语速较慢，声调较高，语气中带着赞叹\nresult3: 语速较慢，声调较高，语气中充满骄傲和自豪\nresult4: 语速较慢，声调较高，语气中充满骄傲和自豪\nresult5: 语速较慢，声调较高，语气中充满骄傲和自豪\n\nfile: tx_emotion_00306000101.wav\norigin: 因对某事存在疑问而感到十分好奇\nresult: 疑惑不解\nresult2: 疑惑不解\nresult3: 疑惑不解\nresult4: 疑惑不解\nresult5: 疑惑不解\n\nfile: tx_emulate_00_125_0002_000049.wav\norigin: 带开玩笑的心态说话，情绪有不屑，声音坚定自信\nresult: 声音高挑，语气轻快，话语中充满了自信和傲慢的情绪\nresult2: 声音轻快，语气中充满了自信和自负，心情十分舒畅。\nresult3: 声音高挑，语气轻快，话语中充满了自信和傲慢的情绪\nresult4: 声音轻快上扬，语气中透露着一种傲慢和自负的情绪。\nresult5: 声音轻快，语调平缓，话语中透露着内心的坦然自信，十分得意。\n\nfile: tx_emotion_00405000329.wav\norigin: 感觉自己怒火中烧\nresult: 感到难以忍受，泣不成声\nresult2: 感到难以忍受，泣不成声\nresult3: 感到难以忍受，泣不成声\nresult4: 感到难以忍受，泣不成声\nresult5: 感到难以忍受，泣不成声\n\nfile: tx_xiao_0200103000183.wav\norigin: 语气里透着内心的赞叹，感到舒适与满足。\nresult: 内心充满期待，语气中充满了喜悦和兴奋。\nresult2: 满怀期待，语气中充满了喜悦和兴奋。\nresult3: 满怀期待，语气中充满了喜悦和兴奋。\nresult4: 满怀期待的语气，无比兴奋和快乐。\nresult5: 语气充满期待，无比兴奋和欣喜。\n\nfile: tx_emulate_01_022_0022_000111.wav\norigin: 语速很快，特别着急的感觉，还有些烦躁，大发雷霆，恨铁不成钢的语气。\nresult: 语气强硬，声调高昂，因愤怒而来的情绪\nresult2: 语气强硬，声调高昂，因愤怒而来的情绪\nresult3: 语气强硬，声调高昂，说话的发怒的样子，内心极度愤怒\nresult4: 语气强硬，声调高昂，说话的发怒的样子，内心极度愤怒\nresult5: 语气强硬，声调高昂，因愤怒而来的情绪\n\nfile: tx_emotion_00203000034.wav\norigin: 心情快乐舒畅\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 欢快，心情舒畅\nresult4: 欢快，心情舒畅\nresult5: 欢快，心情舒畅\n\nfile: tx_emotion_00409000441.wav\norigin: 心里感到很是惊讶和惊喜\nresult: 很淡定的语气\nresult2: 很淡定的语气\nresult3: 很淡定的语气\nresult4: 很淡定的语气\nresult5: 很淡定的语气\n\nfile: tx_emulate_01_028_0009_000046.wav\norigin: 语速较慢，语调较低，语气中带着慨叹，凸显了说话者情绪的惆怅\nresult: 语调轻柔细丝，声音中透露着一种不敢相信的感觉\nresult2: 语调轻柔细软，声音中透露着一种不敢相信的感觉\nresult3: 语调轻柔细软，声音中透露着一种不敢相信的感觉\nresult4: 语调轻柔细软，声音中透露着一种不敢相信的感觉\nresult5: 语调轻柔细软，声音中透露着一种不敢相信的感觉\n\nfile: tx_emulate_00_137_0005_000092.wav\norigin: 先是感叹一声，后面语调轻快地重复言辞，感到十分高兴\nresult: 语气中带有一种欣喜意，心情十分愉快\nresult2: 语速较快，情绪中透露着一种欣喜若狂的感觉，内心十分的高兴。\nresult3: 语速较快，情绪中透露着一种欣喜若狂的感觉，心情十分愉快。\nresult4: 语速较快，情绪中透露着内心的喜悦和欣喜。\nresult5: 语气中带有一种欣喜，感到十分的开心，还有一点惊讶\n\nfile: tx_xiao_0200104000609.wav\norigin: 语调高昂，语速极快，愤怒到了极点。\nresult: 声音大，语速快，情绪激动而愤怒\nresult2: 声音大，语速很快，情绪激动而愤怒\nresult3: 声音大，语速很快，情绪激动而愤怒\nresult4: 声音大，语速很快，情绪激动而愤怒\nresult5: 声音大，语速快，情绪激动而愤怒\n\nfile: tx_xiao_0100106000116.wav\norigin: 实在不能理解为什么会这样 十分困惑\nresult: 情绪里满是疑惑和不解，声音平缓，带有些迟疑\nresult2: 情绪里充满的不解和疑惑。\nresult3: 情绪里充满的不解和疑惑。\nresult4: 情绪低沉，内心有深深的不解和担忧。\nresult5: 情绪里充满着疑惑和不解，态度十分迟疑。\n\nfile: tx_xiao_0200107000704.wav\norigin: 声音小而弱，隐隐带有抽泣声，表现内心的难过\nresult: 语气中充满了悲伤难过的情绪，声音断断续续\nresult2: 语气中充满了悲伤难过的情绪，声音断断续续\nresult3: 语气中充满了悲伤难过的情绪，声音断断续续\nresult4: 语气中充满了悲伤难过的情绪，声音断断续续\nresult5: 语气中充满了悲伤难过的情绪，声音断断续续\n\nfile: tx_emotion_00403000395.wav\norigin: 情绪激动欢乐，很是开心\nresult: 高兴极兴，很是幸福快乐\nresult2: 高兴极兴，很是欢喜\nresult3: 高兴极兴，很是欢喜\nresult4: 高兴极兴，很是欢喜\nresult5: 高兴极兴，愉悦\n\nfile: tx_emulate_01_219_0002_000027.wav\norigin: 语气较重，情绪中带着一些愤怒和抱怨\nresult: 语速缓慢，声音低沉，话语中带着困惑和疑惑。\nresult2: 语速较慢，声音高扬，话语中带着困惑的感觉\nresult3: 语速较快，声音较高，情绪中带着一丝担心和不安。\nresult4: 语速较慢，声音低沉，话语中带着迷惑和困惑。\nresult5: 语速较慢，声音高昂，话语中带着气愤的情绪。\n\nfile: tx_emotion_00403000099.wav\norigin: 感到幸福或满意\nresult: 欢乐而畅快\nresult2: 欢乐而畅快\nresult3: 欢乐而畅快\nresult4: 欢乐而畅快\nresult5: 欢乐而畅快\n\nfile: tx_emotion_00303000182.wav\norigin: 丝毫不加节制地表露欢乐、热情和惊奇\nresult: 很兴奋、很舒畅\nresult2: 很开心而感到\nresult3: 很开心而感到\nresult4: 很开心而感到\nresult5: 很开心而感到\n\nfile: tx_emotion_00401000297.wav\norigin: 心里苦闷，忧伤不已\nresult: 很痛苦，悲痛不已的样子\nresult2: 很痛苦，悲痛不已的样子\nresult3: 很忧郁，心中悲痛不已\nresult4: 很忧郁，心中悲痛不已\nresult5: 很痛苦，悲痛不已的样子\n\nfile: tx_xiao_0100104000190.wav\norigin: 非常明显的质问表现出情绪的气愤激昂。\nresult: 声音大，语速快情绪激动\nresult2: 声音大，语速快情绪激动\nresult3: 声音大，语速快情绪激动\nresult4: 声音大，语速快情绪激动\nresult5: 声音大，语速快情绪激动\n\nfile: tx_emotion_00302000304.wav\norigin: 急切，激动，表示立场分明\nresult: 发泄积在心中的委屈和气愤\nresult2: 发泄积在心中的委屈和气愤\nresult3: 发泄积在心中的委屈和气愤\nresult4: 发泄积在心中的委屈和气愤\nresult5: 发泄积在心中的委屈和气愤\n\nfile: tx_emotion_00309000269.wav\norigin: 突如其来的事情\nresult: “ 怦然心动”\nresult2: “ 为之震惊”\nresult3: “ 怦然心动”\nresult4: “ 怦然心动”\nresult5: 很震惊，十分惊讶。\n\nfile: tx_emulate_00_150_0005_000005.wav\norigin: 语气轻快十分满足，开心极了\nresult: 语气中充满喜悦，开心地夸耀\nresult2: 语气中充满喜悦，开心地夸赞某人或者某事\nresult3: 语气轻松，开心地夸赞某件事或是某人\nresult4: 语气中充满喜悦，开心地夸赞某人或者某事\nresult5: 语气中充满欢乐与快乐，开心地夸赞某事或某人\n\nfile: tx_emotion_00203000050.wav\norigin: 某个节日的到来，倍感开心和欢喜\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 欢快，心情舒畅\nresult4: 欢快，心情舒畅\nresult5: 欢快，心情舒畅\n\nfile: tx_emotion_00403000147.wav\norigin: 内心十分疑惑，不明白\nresult: 无尽的遐想，伤感不已\nresult2: 不解的问候，还有点语气\nresult3: 不解的问候，还有疑惑\nresult4: 不解的问候，还有些疑惑\nresult5: 不解的问候，还有点语气\n\nfile: tx_xiao_0100101000302.wav\norigin: 低沉的语调透着无限思念的情绪。\nresult: 语气低落，声音中充满了忧伤的情绪\nresult2: 语气低落，声音中充满了忧伤的情绪\nresult3: 语气低落，声音中充满了忧伤的情绪\nresult4: 语气低落，声音中充满了忧伤的情绪\nresult5: 语气低落，声音中充满了忧伤的情绪\n\nfile: tx_xiao_0100107000310.wav\norigin: 语速很慢、哽咽，很是痛苦\nresult: 语气十分低落，情绪中透露出悲伤难过\nresult2: 语气十分低落，情绪中透露出悲伤难过\nresult3: 语气十分低落，情绪沮丧失落\nresult4: 语气十分低落，情绪沮丧失落\nresult5: 语气十分低落，情绪中透露出悲伤难过\n\nfile: tx_xiao_0100103000420.wav\norigin: 语调上扬，一字一句的透露出吃惊与欢快的心情\nresult: 内心充满了喜悦和欣喜\nresult2: 内心充满了喜悦和欣喜\nresult3: 内心充满了喜悦和欣喜\nresult4: 内心充满了喜悦和欣喜\nresult5: 内心充满了喜悦，语气欣喜。\n\nfile: tx_emulate_01_012_0023_000084.wav\norigin: 语气低沉，情绪低落，内心感到灰心和失望。\nresult: 语气很重，满是忧虑和担忧\nresult2: 语气低沉，满是无奈和忧虑。\nresult3: 语气低沉，带着无奈和忧虑。\nresult4: 语气很重，满是忧虑和担忧\nresult5: 语气低沉，带着无奈和忧虑的心情\n\nfile: tx_emotion_00209000060.wav\norigin: 情绪激动警惕为保护她而着急\nresult: 气愤，恼怒不已\nresult2: 气愤，恼怒不已\nresult3: 气愤，恼怒不已\nresult4: 气愤，恼怒不已\nresult5: 气愤，恼怒不已\n\nfile: tx_emulate_00_128_0006_000033.wav\norigin: 言语间充满嫉妒和羡慕的语气 艳羡不已\nresult: 语调上扬，话语中透露着一种不耐烦的情绪\nresult2: 语调上扬，声音中透露着一种不耐烦的情绪\nresult3: 语调上扬，声音中透露着一种不耐烦的情绪\nresult4: 语调上扬，质问的口吻显示出一种不耐烦的态度\nresult5: 语调上扬，声音中透露着一种不耐烦的情绪\n\nfile: tx_emotion_00205000119.wav\norigin: 心里苦楚，内心悲伤，悲痛，委屈\nresult: 很生气，伤心难过\nresult2: 语气急切，伤心难过\nresult3: 语气急切，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，伤心难过\n\nfile: tx_xiao_0100106000182.wav\norigin: 语气激扬，语速适中，声音缓慢，充满疑惑和诧异\nresult: 表达内心的疑惑和不解，说话语速比较快\nresult2: 疑惑的语气，声音中透露出不解的感觉。\nresult3: 情绪中充满疑惑和不解，说话语速比较快\nresult4: 表达内心的不满和不解，语气轻快。\nresult5: 表达内心的疑惑和不解，语气轻快。\n\nfile: tx_xiao_0100103000326.wav\norigin: 十分开心的样子，语调上扬，说话间透露出满满的兴奋\nresult: 情绪激动，内心充满了喜悦和欣喜\nresult2: 情绪激动，内心充满了喜悦和欣喜\nresult3: 情绪激动，语气中透露着欣喜。\nresult4: 情绪激动，内心充满了喜悦和欣喜\nresult5: 情绪激动，内心充满了喜悦和欣喜\n\nfile: tx_emulate_00_109_0005_000091.wav\norigin: 语速快，语气急促，言语里透出内心的恼怒与不耐烦的情绪。\nresult: 语调高昂，情绪十分激动和愤怒\nresult2: 语调高昂，情绪十分激动和愤怒\nresult3: 语调高昂，情绪十分激动和愤怒\nresult4: 语调高昂，情绪激动和愤怒\nresult5: 语调高昂，情绪十分激动和愤怒\n\nfile: tx_emulate_00_150_0005_000006.wav\norigin: 心情愉悦，语气很放松，欢快的情绪。\nresult: 语调轻快活泼，情绪愉悦，欣喜之情。\nresult2: 语调轻柔，情绪愉悦，欣慰。\nresult3: 语调轻柔，情绪愉悦，欣慰。\nresult4: 语调轻柔，情绪愉悦，欣慰。\nresult5: 语调轻柔，情绪愉悦，欣慰。\n\nfile: tx_xiao_0100105000254.wav\norigin: 语调上扬，得意的情绪里还带一点怒气。\nresult: 声音语速比较快，音调比较高，很生气的样子\nresult2: 声音语速比较快，音调比较高，很生气的样子\nresult3: 声音语调低沉，音调急促，听起来很生气的样子\nresult4: 语气中带着一种不满和埋怨的情绪，声音较大\nresult5: 语气中带着埋怨和不满的情绪，声音比较大\n\nfile: tx_xiao_0100103000368.wav\norigin: 表达了激动开心的心情，让人听了都觉得心情舒畅\nresult: 语气欢快，表达喜悦之情。\nresult2: 语气欢快，表达了内心的开心激动\nresult3: 语气欢快，表达着开心激动的心情。\nresult4: 语气欢快，表达开心激动的心情。\nresult5: 语气欢快高昂，表达着开心激动的心情。\n\nfile: tx_emulate_02_057_0010_000047.wav\norigin: 语速很快，声音激昂，情绪高亢激烈且急切。\nresult: 声音高昂，语速快，话语中带着霸气的情绪\nresult2: 声音高昂，语速快，话语中带着霸气的情绪\nresult3: 声音高昂，语速较快，话语中带着霸气，情绪激动\nresult4: 声音高昂，语速较快，话语中带着霸气，情绪激动\nresult5: 声音高昂，语速快，话语里充满霸气，情绪激动\n\nfile: tx_emotion_00305000308.wav\norigin: 心生不满，厌恶。\nresult: 心生不满，厌恶。\nresult2: 不屑，发泄积在心中气愤。\nresult3: 心生不满，厌恶。\nresult4: 心生不满，厌恶。\nresult5: 心生不满，厌恶。\n\nfile: tx_emotion_00303000457.wav\norigin: 很兴奋心情很激动\nresult: 心情快乐和开心\nresult2: 心情快乐和开心\nresult3: 心情快乐和开心\nresult4: 心情快乐和开心\nresult5: 心情快乐和开心\n\nfile: tx_emulate_01_202_0001_000036.wav\norigin: 语调高亢急促，铿锵有力，内心充满愤怒和嘲讽，带有些许的惊讶\nresult: 言语急促，语速很快，表现了内心的烦躁和不满\nresult2: 言语急促，语速很快，表现了内心的烦躁和不满\nresult3: 言语急促，语速很快，透露出内心的烦躁不安\nresult4: 言语急促，语速很快，表现了内心的烦躁不安\nresult5: 言语急促，语速很快，表现着内心的烦躁不安\n\nfile: tx_xiao_0100107000369.wav\norigin: 语气肯定没有怀疑，十分信赖\nresult: 情绪很低落，语气十分哀伤\nresult2: 情绪很低落，语气十分哀伤\nresult3: 情绪很低落，语气中充满了歉意。\nresult4: 情绪很低落，语气中充满了歉意和后悔\nresult5: 语气十分哀伤，情绪很低落\n\nfile: tx_emotion_00301000185.wav\norigin: 对往事的追忆中带着一丝甜蜜，还有伤感\nresult: 忧伤，伤心难过\nresult2: 忧伤，伤心难过\nresult3: 忧伤，伤心难过\nresult4: 忧伤，伤心难过\nresult5: 忧伤，伤心难过\n\nfile: tx_emotion_00309000154.wav\norigin: 平静叙事，无情绪\nresult: 语气平静质朴\nresult2: 语气平静质朴\nresult3: 语气平静的质问\nresult4: 语气平静质朴\nresult5: 语气平静质朴\n\nfile: tx_emulate_02_259_0003_000006.wav\norigin: 语调高昂且急促，自信且含不屑的情绪。\nresult: 语气中带有一种不满，心里很不爽\nresult2: 语气中带有一种不满，心里很不爽\nresult3: 语气中带有一种不满的情绪，态度很不爽\nresult4: 语气中带有一种不满，心里很不爽\nresult5: 语气中带有一种不满，心里很不爽\n\nfile: tx_emotion_00309000324.wav\norigin: 喜出望外，感受到了希望\nresult: 感到不可思议，不敢相信\nresult2: 感到不可思议，不敢相信\nresult3: 感到不可思议，不敢相信\nresult4: 感到不可思议，不敢相信\nresult5: 感到不可思议，不敢相信\n\nfile: tx_emotion_00309000172.wav\norigin: 没想到的事情\nresult: 感到难以置信\nresult2: 感到难以置信\nresult3: 感到难以置信\nresult4: 感到难以置信\nresult5: 感到难以置信\n\nfile: tx_emotion_00303000117.wav\norigin: 愉快高兴，心情舒畅\nresult: 心情很舒畅\nresult2: 心情很舒畅\nresult3: 心情很舒畅\nresult4: 心情很舒畅\nresult5: 心情很舒畅\n\nfile: tx_xiao_0100101000330.wav\norigin: 平缓的语调透出无尽的悲伤，难过与痛苦，无以言表。\nresult: 语气低沉，声音中充满了伤心失落的情绪\nresult2: 语气低落伤感，声音中充满了伤心难过的情绪\nresult3: 语气低落消极，声音中充满伤感难过的情绪\nresult4: 语气低落伤感，声音中充满了伤心难过的情绪\nresult5: 语气低落，声音中充满伤心难过的情绪\n\nfile: tx_emulate_01_021_0003_000015.wav\norigin: 语气低沉且柔和，心里满是疑惑，一头雾水而纳闷不解。\nresult: 语气中充满了疑问，内心非常的纳闷\nresult2: 语气中充满了疑问，心中非常的纳闷\nresult3: 语气中带着疑问，心中非常的纳闷\nresult4: 语气中带着疑问，心中非常的纳闷\nresult5: 语气中带着疑问，心中非常的纳闷\n\nfile: tx_emotion_00305000005.wav\norigin: 急切，激动，表示立场分明。\nresult: 很生气，又平静下来\nresult2: 很生气，又平静下来\nresult3: 很生气，又平静下来\nresult4: 很生气，又平静下来\nresult5: 很生气，又平静下来\n\nfile: tx_xiao_0100104000019.wav\norigin: 很讽刺、鄙夷的语气，声音里满是指责与不快，语调提升\nresult: 声音大，语速快，音调高，情绪激动\nresult2: 声音高亢，语速较快，音调低沉，怒火冲天\nresult3: 声音高亢，语速快，情绪激动，极尽不满\nresult4: 声音高亢，语速快，情绪激动，非常气愤\nresult5: 声音高亢，语速较快，音调很高，情绪激动\n\nfile: tx_xiao_0200103000053.wav\norigin: 语气十分轻松愉快，有安慰之意，情绪开阔疏朗\nresult: 情绪激动，内心充满喜悦和欣喜。\nresult2: 内心充满了喜悦和欣喜，非常开心\nresult3: 情绪激动，内心充满喜悦和欣喜。\nresult4: 内心充满了喜悦和欣喜，语气欢快。\nresult5: 情绪激动，内心充满喜悦和欣喜\n\nfile: tx_xiao_0100104000143.wav\norigin: 声音撕心裂肺地吼，音调高语速快，难以遏制心中的怒火，满满的愤怒\nresult: 声音大，语速快，音调高，情绪激动\nresult2: 声音大，语速快，音调高，情绪激动\nresult3: 声音大，语速快，音调高，情绪激动\nresult4: 声音大，语速快，音调高，情绪激动\nresult5: 声音大，语速快，音调高，情绪激动\n\nfile: tx_emulate_00_110_0004_000059.wav\norigin: 又惊又喜，语气中透着轻松快乐\nresult: 语气中充满了惊讶，情绪激动\nresult2: 语气中充满了惊讶和吃惊，不敢相信。\nresult3: 语气中充满了惊讶和吃惊，不敢相信。\nresult4: 语气中充满了惊讶和不解，很是吃惊。\nresult5: 语气中充满了惊讶，情绪十分激动。\n\nfile: tx_emulate_02_254_0005_000056.wav\norigin: 语调冷淡急促，内心充满鄙视，带有些许疑惑\nresult: 语调上扬，态度不耐烦，表现内心的不满\nresult2: 声音低沉，语速较快，情绪十分不满\nresult3: 声音低沉，语速较快，情绪十分不耐烦\nresult4: 语速很快，声音低沉，情绪十分不耐烦\nresult5: 声音轻快，语速很快，态度很不耐烦\n\nfile: tx_emulate_00_137_0003_000082.wav\norigin: 说话时停顿许久，语速很慢，语调微微上扬，心里感到十分疑惑\nresult: 声音微扬，语气中带着疑惑和不解的感觉\nresult2: 声音微扬，语气中带着疑惑和不解的感觉\nresult3: 声音微弱，语气中带着疑惑和不理解的情绪\nresult4: 声音微扬，语气中带着疑惑和不理解的情绪\nresult5: 声音微扬，语气中带着疑惑和不解的感觉\n\nfile: tx_emotion_00401000239.wav\norigin: 悲伤到无力，悲痛到窒息\nresult: 忧伤，心酸\nresult2: 忧伤，心酸\nresult3: 忧伤，心酸\nresult4: 忧伤，心酸\nresult5: 忧伤，心酸\n\nfile: tx_emulate_01_007_0008_000034.wav\norigin: 声音高昂，语气渐重，话语中带着中肯，说话非常有分量的情绪\nresult: 语气非常重，情绪十分激动\nresult2: 语气十分坚定，声音高昂，情绪非常激动\nresult3: 语气十分坚定，声音高昂，情绪非常激动\nresult4: 语气十分坚定，声音高昂，情绪非常激动\nresult5: 语气十分坚定，声音高昂，情绪非常激动\n\nfile: tx_xiao_0200106000514.wav\norigin: 表明内心十分平和，带有些许的轻松随意和宽慰之意\nresult: 疑惑的语气带着一丝惊讶。\nresult2: 疑惑的语气带着一丝惊讶。\nresult3: 疑惑的语气带着一丝惊讶。\nresult4: 疑惑的语气带着一丝惊讶。\nresult5: 疑惑的语气带着一丝惊讶。\n\nfile: tx_xiao_0200103000258.wav\norigin: 对某件事充满了自豪感，情绪很放松。\nresult: 内心充满了喜悦和满足，感到幸福快乐。\nresult2: 内心充满了喜悦和欣喜，充满着快乐与满足。\nresult3: 内心充满了喜悦和满足。\nresult4: 内心充满了喜悦和欣喜。\nresult5: 内心充满喜悦和欢喜，非常开心。\n\nfile: tx_emotion_00304000459.wav\norigin: 感觉怒火中烧，无法压抑\nresult: 愤怒的揭发，语气充满怒气\nresult2: 充满了怒气\nresult3: 愤怒而充满怒气\nresult4: 愤怒而充满怒气\nresult5: 愤怒而充满怒气\n\nfile: tx_emotion_00203000448.wav\norigin: 心里开心愉悦，还有一丝甜蜜\nresult: 心里愉快，心情舒畅\nresult2: 心里愉快，心情舒畅\nresult3: 心里欢快，心情舒畅\nresult4: 心里愉快，心情舒畅\nresult5: 心里愉快，心情舒畅\n\nfile: tx_xiao_0100104000295.wav\norigin: 语气坚定，语调很高，透露着生气的情绪\nresult: 声音大，语速快，音调高，情绪十分激动。\nresult2: 声音大，语速快，情绪十分激动。\nresult3: 声音大，语速快，音调高，情绪十分激动。\nresult4: 声音大，语速快，情绪十分激动。\nresult5: 声音大，语速快，情绪十分激动。\n\nfile: tx_emotion_00301000019.wav\norigin: 不堪忍受，十分难过，情绪激动难以控制，声音忽上忽下\nresult: 忧伤，伤心难过，情绪激动失望。\nresult2: 忧伤，伤心难过，情绪激动失望。\nresult3: 忧伤，伤心难过，情绪激动失望。\nresult4: 忧伤，伤心难过，情绪激动失望。\nresult5: 忧伤，伤心难过，情绪激动失望。\n\nfile: tx_emotion_00210000049.wav\norigin: 声音断断续续，口齿不清，难过得哭泣，充满怜悯之心\nresult: 伤心难过，又无能为力\nresult2: 伤心难过，又无能为力\nresult3: 伤心难过，又无能为力\nresult4: 伤心难过，又无能为力\nresult5: 伤心难过，又无能为力\n\nfile: tx_xiao_0100105000112.wav\norigin: 声音低沉，语速稍微有点慢，音调沉稳，表示难过\nresult: 声音语速快，情绪激动，带有不耐烦的感觉\nresult2: 语气坚定，情绪中隐含着不服输的怒火。\nresult3: 声音语速比较快，情绪激动，隐晦的表示不满\nresult4: 声音语速比较快，情绪中透露出不高兴不耐烦的态度，流露出不满\nresult5: 声音中语气带有不耐烦，情绪激动。\n\nfile: tx_xiao_0100103000115.wav\norigin: 语气中带有一点愉快，十分开心\nresult: 语气欢快，怀着开心愉悦的情绪。\nresult2: 语气欢快，怀着开心愉悦的情绪。\nresult3: 语气欢快，怀着开心愉悦的情绪。\nresult4: 语气欢快，怀着开心愉悦的情绪。\nresult5: 语气欢快，怀着开心愉悦的情绪。\n\nfile: tx_emotion_00401000174.wav\norigin: 让人听着很心酸，可悲的样子\nresult: 忧伤悲痛，悲伤欲绝\nresult2: 忧伤悲痛，伤心不已\nresult3: 忧伤悲痛，伤心不已\nresult4: 忧伤悲痛，悲伤欲绝\nresult5: 忧伤悲痛，心里悲伤难过\n\nfile: tx_xiao_0100103000425.wav\norigin: 语气轻快，语速稍快，表现出期待已久的喜悦心情\nresult: 情绪高涨，语气中充满了期待和喜悦\nresult2: 情绪激动，语气中充满了期待和欣喜\nresult3: 情绪高涨，语气中充满了喜悦和欣喜\nresult4: 情绪高涨，语气中充满了兴奋和欣喜\nresult5: 情绪高涨，语气中充满了期待和喜悦\n\nfile: tx_emulate_02_006_0009_000056.wav\norigin: 语气嚣张，语调上扬，情绪暴躁，表现出怪罪情感\nresult: 语速较快，声音高昂，情绪中带着一丝抱怨和不满\nresult2: 语速较快，声音高昂，情绪中带着一丝不服气\nresult3: 语速较快，声音高昂，情绪中带着一丝抱怨和傲慢\nresult4: 语气很重，情绪中带着一丝不满和埋怨\nresult5: 语气很重，情绪中带着一丝不满和埋怨\n\nfile: tx_emotion_00209000005.wav\norigin: 充满疑问，很好奇\nresult: 不理解，好奇心高涨\nresult2: 不解，好奇心所致更加感兴趣\nresult3: 不理解，好奇心高涨\nresult4: 不解，好奇心所致更加感兴趣\nresult5: 不解，好奇心所致更加感兴趣\n\nfile: tx_emotion_00306000405.wav\norigin: 觉得自己与众不同，自以为是\nresult: roll back and forth\nresult2: roll back and forth\nresult3: roll back and forth\nresult4: roll back and forth\nresult5: roll back and forth\n\nfile: tx_emulate_02_258_0002_000011.wav\norigin: 语调急促且高扬，饱含惊讶之情。\nresult: 语调高亢急促，声音中透露着一种惊讶和不解的情绪\nresult2: 语调急促，情绪激动，夹杂着惊讶和不敢相信\nresult3: 语调急促，情绪激动，夹杂着惊讶和不解。\nresult4: 语调急促上扬，声音中透露着一种惊讶和不解的情绪\nresult5: 语调急促上扬，声音中透露着一种惊讶和不敢相信\n\nfile: tx_emulate_01_016_0008_000037.wav\norigin: 语气先是急切的，然后转变为迟疑和结结巴巴。\nresult: 语气中充满了紧张和不安，心里非常的慌乱。\nresult2: 语气中充满了紧张，心里非常的不放心，还有一点害怕的感觉。\nresult3: 语气中充满了紧张和不安，心里非常的慌乱。\nresult4: 语气里充满了紧张，心里非常的慌乱。\nresult5: 语气中充满了紧张，心里非常的慌乱。\n\nfile: tx_emulate_00_115_0005_000035.wav\norigin: 语速较快，声音较高，情绪中带着一些焦急和抱怨。\nresult: 声音高扬，语速较快，话语里带着责备和指责的情绪。\nresult2: 声音高扬，语速较快，话语里带着责备和指责的情绪。\nresult3: 声音高扬，语速较快，话语里带着责备和指责的情绪。\nresult4: 声音高扬，语速较快，话语里带着责备和指责的情绪。\nresult5: 声音高扬，语速较快，话语里带着责备和指责的情绪。\n\nfile: tx_emotion_00203000470.wav\norigin: 言语间的喜悦和开心很明显\nresult: 内心欢喜，心情愉悦\nresult2: 内心欢喜，心情愉悦\nresult3: 内心欢喜，心情愉悦\nresult4: 内心欢喜，心情愉悦\nresult5: 内心欢喜，心情愉悦\n\nfile: tx_emotion_00304000235.wav\norigin: 语气激动，语调忿忿不平\nresult: 有点惊讶，内心不以为然\nresult2: 有点惊奇，一点不理解\nresult3: 有点惊讶，内心不以为然\nresult4: 有点惊讶，内心不以为然\nresult5: 有点惊奇，一点不理解\n\nfile: tx_emulate_02_229_0001_000044.wav\norigin: 语调高扬，可谓针锋相对，其内心的愤慨不满和傲然无畏之情显露无遗。\nresult: 语速较快，声音中透露着一种不开心的感觉\nresult2: 语速较快，音调较高，声音中透露着一种不开心的感觉\nresult3: 语速较快，音调较高，声音中透露着一种不开心的感觉\nresult4: 语速较快，声音中透露着一种不开心的感觉\nresult5: 语速较快，声音中透露着一种不开心的感觉\n\nfile: tx_emulate_01_031_0009_000032.wav\norigin: 语速较快，语调较高，语气十分自豪，表明说话者内心志得意满\nresult: 语速较快，语调较高，话语中充满了自信的情绪，凸显了说话者内心骄傲\nresult2: 语速较快，语调高扬，衬托出说话者内心的自信\nresult3: 语速较快，语调高扬，衬托出说话者内心的自信\nresult4: 语速较快，语调较高，言语中充满了自信的情绪，凸显了说话者内心骄傲\nresult5: 语速较快，语调高扬，衬托出说话者内心的自信\n\nfile: tx_xiao_0100106000278.wav\norigin: 语气轻快，情绪里包含着好奇和疑惑。\nresult: 疑惑的语气表达出担忧不解的感觉。\nresult2: 疑惑的语气表达出担忧之情。\nresult3: 疑惑的语气表达出担忧之情。\nresult4: 疑惑的语气表达出担忧之情。\nresult5: 疑惑的语气表达出担忧之情。\n\nfile: tx_emotion_00305000009.wav\norigin: 怒气很大，控制不住了\nresult: 很生气，又平静下来\nresult2: 很生气，又平静下来\nresult3: 很生气，又平静下来\nresult4: 很生气，又平静下来\nresult5: 很生气，又平静下来\n\nfile: tx_emulate_00_119_0001_000001.wav\norigin: 语速比较快，声音中透露着一种轻快的感觉，很兴奋\nresult: 语速很快，流利得体，声音含蓄温柔，带有些许嫌弃的情绪。\nresult2: 语速很快，流利的口吻，声音中透露着浓浓的情意，内心很是高兴\nresult3: 语速很快，流利得体，声音中透露着一种开心的情绪，内心十分高兴\nresult4: 语速很快，流利得体，声音中透露着开心愉快的情绪，声调高昂。\nresult5: 语速很快，流利得体，声音带有浓浓的情感，内心十分愉快\n\nfile: tx_emulate_00_123_0002_000003.wav\norigin: 语速较缓，声音轻柔，突出内心的欢喜自豪\nresult: 声音轻柔，语速缓慢，话语中带着自信自得的情感。\nresult2: 声音轻柔，语速缓慢，话语中透露出内心的自信与自恋。\nresult3: 声音轻柔，语速缓慢，话语中透露出内心的自信与骄傲。\nresult4: 声音轻柔，语速缓慢，话语中透露出内心的自信和骄傲。\nresult5: 声音轻柔，语速缓慢，话语中透露出内心的自信与骄傲。\n\nfile: tx_emotion_00302000356.wav\norigin: 不堪忍受，十分难过，情绪激动难以控制，声音忽上忽下\nresult: 很生气，心里悲痛，烦恼。\nresult2: 很生气，心里悲痛，烦恼。\nresult3: 很生气，心里悲痛，烦恼。\nresult4: 很生气，心里悲痛，烦恼。\nresult5: 很生气，心里悲痛，烦恼。\n\nfile: tx_emotion_00303000462.wav\norigin: 愉快高兴，心情舒畅\nresult: 很快乐的情绪\nresult2: 很快乐的情绪\nresult3: 很快乐的情绪\nresult4: 很快乐的情绪\nresult5: 很快乐的情绪\n\nfile: tx_emotion_00403000255.wav\norigin: 内心抑制不住的喜悦\nresult: 内心抑制不住的愉快喜悦\nresult2: 内心抑制不住的愉快喜悦\nresult3: 内心抑制不住的愉快快乐\nresult4: 内心抑制不住的快乐\nresult5: 内心无比满足，感到很是幸福快乐\n\nfile: tx_emulate_00_114_0003_000026.wav\norigin: 语调宛转起伏，语速稍快，语气十分肯定\nresult: 语气中透出内心的不满和不耐烦\nresult2: 语气中透出内心的不满和不耐烦\nresult3: 语气中透出内心的不满和不耐烦\nresult4: 语气中透出内心的不满和不耐烦\nresult5: 语气中透出内心的不满和不耐烦\n\nfile: tx_emotion_00201000107.wav\norigin: 伤心难过，声音颤抖，情绪激动失望\nresult: 悲伤忧愁，语气伤感\nresult2: 悲伤忧愁，语气伤感\nresult3: 悲伤忧郁，语气伤感\nresult4: 言语中透漏出的悲伤，伤心不已\nresult5: 悲伤忧伤，语调低沉\n\nfile: tx_emotion_00202000047.wav\norigin: 心情平静，不心急，不急躁。\nresult: 很自在的样子\nresult2: 很自在的样子\nresult3: 很自在的样子\nresult4: 很自在的样子\nresult5: 很自在的样子\n\nfile: tx_emotion_00303000080.wav\norigin: 说话从容不迫\nresult: 很兴奋，感到心满意足\nresult2: 很兴奋，感到心满意足\nresult3: 很兴奋，感到心满意足\nresult4: 很兴奋，感到心满意足\nresult5: 很兴奋，感到心满意足\n\nfile: tx_emotion_00305000183.wav\norigin: 心生不满，厌恶。\nresult: 很生气，又平静\nresult2: 很生气，又平静\nresult3: 很生气，又平静\nresult4: 很生气，又平静\nresult5: 很生气，又平静\n\nfile: tx_emulate_01_002_0005_000008.wav\norigin: 言辞中透露出浓浓的悲辛和顾忌之意，亦可闻其豪情和激昂之音。\nresult: 语气中透露出一种自豪的情绪\nresult2: 语气中透露出一种自豪的情绪\nresult3: 语气中透露出一种自豪的情绪\nresult4: 语气中透露出一种自豪的情绪\nresult5: 语气中充满了自豪和骄傲，很有气势\n\nfile: tx_emulate_00_129_0004_000056.wav\norigin: 先是语调很急切的表示自己的认真，后面轻快的声音显示了满心的愉悦\nresult: 语气轻快，情绪十分兴奋，表达喜悦的心情。\nresult2: 语气轻快，情绪高涨，流露喜悦的心情\nresult3: 语气轻快，情绪愉快，表达喜悦的心情。\nresult4: 语气轻快，情绪十分愉悦，表达喜悦的心情。\nresult5: 语气轻快，情绪愉悦，流露喜悦的心情。\n\nfile: tx_emotion_00209000346.wav\norigin: 目瞪口呆、桥舌不下、惊讶的样子\nresult: 惊叹，感到难以置信\nresult2: 惊叹，感到难以置信\nresult3: 惊叹，感到难以置信\nresult4: 惊叹，感到难以置信\nresult5: 惊叹，感到难以置信\n\nfile: tx_xiao_0200103000148.wav\norigin: 语调急促且高扬，饱含欣喜得意之情。\nresult: 语气欢快，充满期待和欣喜。\nresult2: 情绪激动，语气充满期待和欣喜。\nresult3: 语气欢快，充满期待和欣喜。\nresult4: 情绪激动，语气中充满期待和欣喜。\nresult5: 语气轻快，充满期待和欣喜。\n\nfile: tx_emulate_00_158_0002_000007.wav\norigin: 语气中充满气愤、不满，表现内心的愤怒\nresult: 情绪激动，语调高昂，表达内心的不满和愤怒\nresult2: 语气激烈，情绪激动，表现内心的不满\nresult3: 语气激烈，情绪激动，表现内心的不满\nresult4: 语气激烈，情绪激动，表现内心的不满\nresult5: 语气激烈，情绪激动，表现内心的不满\n\nfile: tx_xiao_0100106000282.wav\norigin: 语气激扬，语速适中，声音微弱，充满疑惑和 诧异\nresult: 语气里充满疑惑，音调加重，表达内心难以置信\nresult2: 不敢相信某件事，情绪里充满怀疑\nresult3: 不敢相信某件事，情绪里充满怀疑\nresult4: 不敢相信某件事，说话语速比较缓慢，音调略微上扬\nresult5: 不敢相信某件事，说话语速较慢，声音比较轻，充满疑问\n\nfile: tx_xiao_0100103000429.wav\norigin: 声音平和，语速适中，语调高，表示很开心\nresult: 语速适中，声音里带有一种开心的情绪\nresult2: 语气轻快，声音中透露出开心的情绪\nresult3: 语气轻快，情绪里透着开心\nresult4: 语气轻快，声音里夹杂着开心的情绪\nresult5: 语气轻快，声音里夹杂着开心\n\nfile: tx_emulate_01_023_0010_000064.wav\norigin: 声音较低，语速较快，情绪中充满担忧。\nresult: 语速较快，语调较高，情绪中带着一丝不悦。\nresult2: 语速较快，语调较高，情绪中带着一丝不耐烦。\nresult3: 语速较快，语调较高，情绪中带着一丝不悦。\nresult4: 语速较快，语调较高，情绪中带着一丝不悦。\nresult5: 语速较快，语调较高，情绪中带着一丝不耐烦。\n\nfile: tx_emulate_00_158_0003_000068.wav\norigin: 声音高昂，语速较快，情绪中充满愤怒和不满。\nresult: 声音高扬，语速较快，情绪中带着一丝怒火\nresult2: 声音高扬，语速较快，情绪中带着一丝怒火\nresult3: 声音高扬，语速较快，情绪中带着一丝怒火\nresult4: 声音高扬，语速较快，情绪中带着一丝怒火\nresult5: 声音高扬，语速较快，情绪中带着一丝怒火\n\nfile: tx_emulate_00_129_0005_000029.wav\norigin: 心情急切，着急迫切，语速特别快，焦急烦躁，心神不定\nresult: 语气带有丝丝的忧郁，心事重重。\nresult2: 语气带有丝丝的担忧，情绪中透露着害怕和不安。\nresult3: 语气中透露着内心的担忧。\nresult4: 语气带有丝丝的担忧，还有一点小心翼翼。\nresult5: 语气中透露着内心的担忧和不安。\n\nfile: tx_emotion_00302000470.wav\norigin: 事事埋怨的感觉\nresult: 很生气，伤心难过\nresult2: 很生气，伤心难过\nresult3: 很生气，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，伤心难过\n\nfile: tx_emulate_01_190_0001_000041.wav\norigin: 语调欢快上扬，内心高兴极了。\nresult: 语气中充满了自信和骄傲，心情十分愉悦\nresult2: 语气中充满了自豪的情感，心情非常愉悦。\nresult3: 语气中充满了自豪，心情十分愉悦\nresult4: 语气高亢，声音铿锵有力，表现出内心的骄傲和自豪。\nresult5: 语气中充满了自豪，心情十分愉悦\n\nfile: tx_emulate_01_016_0007_000035.wav\norigin: 语气中带着关心安慰的情感，语速正常，声音微微低沉。\nresult: 语气坚定，声音铿锵有力，说话严肃稳重。\nresult2: 语气坚定，声音铿锵有力，说话认真严肃。\nresult3: 语气坚定，声音铿锵有力，说话严肃稳重。\nresult4: 语气坚定，声音铿锵有力，说话严肃果断。\nresult5: 语气坚定，声音铿锵有力，说话认真严肃。\n\nfile: tx_emulate_02_043_0003_000020.wav\norigin: 声音高挑，语调渐高，语气中带着狂傲，清高的感觉\nresult: 语气激烈，情绪十分激动，心中充满了好奇和不解。\nresult2: 语气激烈，情绪十分激动，心中充满了好奇和不解。\nresult3: 语气激烈，情绪十分激动，心中充满了好奇和不解。\nresult4: 语气激烈，情绪十分激动，心中充满了好奇。\nresult5: 语气激烈，情绪激动，心中充满了好奇和不解。\n\nfile: tx_emotion_00401000281.wav\norigin: 悲痛到无法自拔\nresult: 悲伤不已，悲痛欲绝，无法再继续工作\nresult2: 悲伤不已，悲痛欲绝，无法再继续工作\nresult3: 悲伤不已，悲痛欲绝，无法再继续工作\nresult4: 悲伤不已，悲痛欲绝，无法再继续工作\nresult5: 悲伤不已，悲痛欲绝，无法再继续工作\n\nfile: tx_emulate_00_118_0002_000020.wav\norigin: 声音欢快活泼，情绪很饱满，带着欢乐的情感。\nresult: 语速轻快流畅，语调平缓，话语里带着亲切的情感，心情十分舒畅。\nresult2: 语速轻快，语调平缓，话语中带着温柔的情感，心情十分舒畅。\nresult3: 语速轻快，语调微微上扬，话语中带着温柔的情感，心情十分愉悦\nresult4: 语速轻快流畅，语气中带着温柔的情感，话语里充满了关心和体贴。\nresult5: 语速轻快流畅，语气中带着温柔和蔼可亲的情感，还有丝丝情意。\n\nfile: tx_xiao_0100103000159.wav\norigin: 声音欢喜，语气中带有开心\nresult: 语调轻快，情绪表现出期待和祝福。\nresult2: 语调轻快，情绪表现出期待和祝福。\nresult3: 语调轻快，情绪表现出喜悦和祝福。\nresult4: 语调轻快，情绪表现出祝福和喜悦。\nresult5: 语调轻快，情绪表现出期待和欣喜。\n\nfile: tx_xiao_0200103000128.wav\norigin: 语调高且语速快，表达内心激动开心之情。\nresult: 内心充满了喜悦和满足，欣喜雀跃。\nresult2: 内心充满了喜悦和满足。\nresult3: 内心充满了喜悦和满足。\nresult4: 情绪激动，内心充满了喜悦和欣喜。\nresult5: 内心充满了喜悦和欣喜\n\nfile: tx_emotion_00205000062.wav\norigin: 怒火重重，满是气愤\nresult: 很生气，气愤不已\nresult2: 很生气，气愤不已\nresult3: 很生气，气愤不已\nresult4: 很生气，气愤不已\nresult5: 很生气，气愤不已\n\nfile: tx_emotion_00302000090.wav\norigin: 情绪激动警惕为保护她而着急。\nresult: 很生气，情绪激动\nresult2: 很生气，情绪激动\nresult3: 很生气，情绪激动\nresult4: 很生气，情绪激动\nresult5: 很生气，情绪激动\n\nfile: tx_xiao_0100103000480.wav\norigin: 语气欢快，情绪表现出喜悦和祝福。\nresult: 语气轻快，情绪表现出喜悦和愉悦。\nresult2: 语气轻快，带有愉悦和喜悦\nresult3: 语气轻快，情绪表现出喜悦和愉悦。\nresult4: 语气轻快，带有愉悦和喜悦之感\nresult5: 语气轻快，情绪中带有喜悦和欣喜\n\nfile: tx_emulate_01_010_0012_000085.wav\norigin: 声音严厉，态度严肃认真，表现不可侵犯的气势\nresult: 语气中透露着一种坚定不移的气势，声音铿锵有力\nresult2: 语气中透露着一种坚定不移的气势，声音铿锵有力\nresult3: 语气中透露着一种坚定不移的气势，声音铿锵有力\nresult4: 语气中透露着一种坚定不移的气势，声音铿锵有力\nresult5: 语气中透露着一种坚定不移的气势，声音铿锵有力\n\nfile: tx_emulate_00_137_0002_000079.wav\norigin: 情绪中充满了无比的自豪和欢乐，语气欢快，声音十分轻快\nresult: 语速缓慢，声音微扬上扬，情绪中透着喜悦与满足\nresult2: 语速缓慢，声音轻快上扬，情绪中透着喜悦与满足\nresult3: 语速缓慢，声音中透露出内心的喜悦和满足\nresult4: 语速缓慢，声音中透露出内心的喜悦与期待\nresult5: 语速缓慢，声音中透露出内心的喜悦与期待\n\nfile: tx_emulate_01_006_0020_000094.wav\norigin: 心中非常高兴。语速较快的说出来。\nresult: 语调比较急促，声音较高，情绪十分激动\nresult2: 语调十分的急促，心中充满了疑惑和不解。\nresult3: 语调比较急促，声音较高，情绪十分激动\nresult4: 语调十分的急促，心中充满了疑惑和不解。\nresult5: 语调十分急促，心中充满了好奇和不解的情绪\n\nfile: tx_emulate_00_158_0002_000049.wav\norigin: 声音强烈，带有浓烈的哀怨情绪\nresult: 语气烦躁，说话带有埋怨的情绪，夹杂着抱怨的心情\nresult2: 语气烦躁，说话带有埋怨的情绪，夹杂着抱怨的心情\nresult3: 语气烦躁，说话带有埋怨的情绪，还夹杂着抱怨的心情\nresult4: 语气烦躁，说话带有埋怨之意，还夹杂着抱怨的心情。\nresult5: 语气烦躁，说话带有埋怨和抱怨之情，还夹杂着情绪\n\nfile: tx_xiao_0100106000061.wav\norigin: 语气轻松，语速较快，内心欢快舒畅。\nresult: 好奇的询问，语气轻柔。\nresult2: 好奇的询问，语气轻柔。\nresult3: 好奇的询问，语气轻柔。\nresult4: 好奇的询问，语气轻柔。\nresult5: 好奇的询问，语气轻柔。\n\nfile: tx_emulate_01_014_0004_000016.wav\norigin: 声音高拔尖锐，语调拔高，话语中带着愤怒和心疼的感觉\nresult: 声音激昂，语气很重，情绪中带着愤怒和不满\nresult2: 声音高亢，语调铿锵有力，凸显了说话者内心的愤怒和气愤，情绪激动\nresult3: 声音激昂，语气很重，情绪中带着愤怒和不满\nresult4: 声音激昂，语气很重，情绪中带着愤怒和不满\nresult5: 情绪激动，语气较重，声音激昂，表明说话者内心的愤怒。\n\nfile: tx_emotion_00302000216.wav\norigin: 心情平静，不急躁。\nresult: 难以忍受，心生不满\nresult2: 难以忍受，心生不满\nresult3: 难以忍受，心生不满\nresult4: 难以忍受，心生不满\nresult5: 难以忍受，心生不满\n\nfile: tx_emulate_02_261_0005_000089.wav\norigin: 语气充满不耐烦，嫌弃，很讨厌的样子。\nresult: 语气不悦，突出内心的责怪和埋怨\nresult2: 语气不悦，突出心中的责怪和埋怨\nresult3: 语气不悦，突出心中的责怪和不开心。\nresult4: 语气不悦，突出内心的责怪和不开心\nresult5: 语气不悦，突出心中的嫌弃和责怪。\n\nfile: tx_emulate_00_151_0001_000018.wav\norigin: 语气十分感激，还略有些开心\nresult: 语气轻快，情绪愉悦，心情愉快。\nresult2: 语气轻快，情绪愉悦，心情愉快。\nresult3: 语气轻快，心情愉悦，开心得不得了。\nresult4: 语气轻快，心情愉悦，很开心。\nresult5: 语气轻快，心情愉悦，开心得不得了。\n\nfile: tx_emotion_00204000426.wav\norigin: 心中醋意正浓，觉得有被抛弃之感\nresult: 很生气，气愤不已\nresult2: 很生气，气愤不已\nresult3: 很生气，气愤不已\nresult4: 很生气，气愤不已\nresult5: 很生气，气愤不已\n\nfile: tx_emotion_00208000390.wav\norigin: 心里生气，恼怒且气愤\nresult: 感到惊讶，惊慌失措\nresult2: 感到惊讶震惊\nresult3: 感到惊讶震惊\nresult4: 感到惊讶震惊\nresult5: 感到惊讶震惊\n\nfile: tx_emulate_01_034_0003_000030.wav\norigin: 语调持续高涨，语气轻松，流露出兴高采烈的心情。\nresult: 语调铿锵有力，内心充满愤怒和愤恨。\nresult2: 语调铿锵有力，内心充满愤怒和愤恨。\nresult3: 语速较快，声音高昂，内心充满愤怒和不满。\nresult4: 语速较快，声音高昂，情绪中充满愤怒和不满。\nresult5: 语调铿锵有力，内心充满愤怒和愤恨。\n\nfile: tx_emotion_00207000113.wav\norigin: 悲哀痛苦，悲伤难过\nresult: 非常失望，感到很悲痛\nresult2: 觉得很可怜，内心悲痛，充满悔恨\nresult3: 觉得很可怜，内心充满悲痛\nresult4: 非常失望，感到很悲痛的情绪\nresult5: 觉得很可怜，内心悲痛，充满悔恨\n\nfile: tx_emotion_00305000119.wav\norigin: 悲伤难过\nresult: 很烦躁，心生不满\nresult2: 很烦躁，心生不满\nresult3: 很烦躁，心生不满\nresult4: 很烦躁和急迫\nresult5: 很烦躁，心生不满\n\nfile: tx_emulate_00_060_0001_000030.wav\norigin: 心情畅快，语气坚定，有欢喜真挚的感觉\nresult: 语调欢快上扬，抑扬顿挫中透露着喜悦的心情\nresult2: 语调欢快上扬，抑扬顿挫中透露着喜悦的心情\nresult3: 语调欢快上扬，抑扬顿挫中透露着喜悦的心情\nresult4: 语调欢快上扬，抑扬顿挫中透露着喜悦的心情\nresult5: 语调欢快上扬，抑扬顿挫中透露着开心愉悦的心情\n\nfile: tx_xiao_0200103000135.wav\norigin: 语调高扬，语速变快，流露兴高采烈之情。\nresult: 情绪激动，内心充满着喜悦和满足。\nresult2: 情绪激动，语气中透露着内心的满足和喜悦。\nresult3: 情绪激动，内心充满喜悦和满足。\nresult4: 情绪激动，内心充满喜悦和欣喜\nresult5: 内心充满了喜悦和满足，感到幸福快乐。\n\nfile: tx_emotion_00303000298.wav\norigin: 听到开心的事，心情舒畅\nresult: 心情很舒畅\nresult2: 心情很舒畅\nresult3: 心情很舒畅\nresult4: 心情很舒畅\nresult5: 心情很舒畅\n\nfile: tx_emulate_01_032_0011_000020.wav\norigin: 语速较快，语调较高，语气中充满了鼓舞，表明说话者内心十分兴奋，情绪高涨\nresult: 语速较快，语气轻快，话语中带着欢乐的情绪\nresult2: 语速较快，语气轻快，话语中带着欢乐和快乐的情绪\nresult3: 语速快，语气轻盈，话语中带着愉悦和喜悦的情绪。\nresult4: 语速较快，语气轻快，话语里透露着轻松愉快的情绪\nresult5: 语速快，语气轻盈，话语中透露着轻松愉快的情绪。\n\nfile: tx_emulate_01_030_0014_000035.wav\norigin: 声音微扬，语中含笑，因为舒服而心情都非常的开怀的感觉\nresult: 语速较快，声音微扬，语气中带着开心的情绪\nresult2: 语速缓慢，声调较高，语气中带着欢快的情绪，内心十分开心\nresult3: 语速快，声调高昂，情绪中透露着惊喜和开心\nresult4: 语气轻快，声音微扬，话语中带着开心的情绪。\nresult5: 语气轻快，声调高昂上扬，衬托出内心的开心和喜悦\n\nfile: tx_xiao_0100103000459.wav\norigin: 声音激昂，郑重肯定的表达开心的情感\nresult: 语调轻快，流露出高兴的情绪。\nresult2: 语调高昂，言语中透漏着兴奋和欣喜。\nresult3: 语调上扬，流露出内心的兴奋和欣喜。\nresult4: 语调高昂，透漏着内心的兴奋和欣喜。\nresult5: 语调高昂，透漏着兴奋和开心的情绪。\n\nfile: tx_emotion_00306000202.wav\norigin: 心中充满好奇\nresult: 对某件事充满好奇\nresult2: 对某件事充满好奇，语调高亢\nresult3: 对某件事充满好奇\nresult4: 对某件事充满好奇\nresult5: 对某件事充满好奇\n\nfile: tx_xiao_0200107000978.wav\norigin: 哭腔明显，感觉十分委屈可怜，带有难过悲伤之情\nresult: 语气十分低落，情绪中包含着深深的悲伤和悔恨\nresult2: 语气十分低落，带着哭泣和悔恨\nresult3: 语气十分低落，带着哭泣和悔恨\nresult4: 语气十分悲伤，情绪里充满了委屈和难过\nresult5: 语气十分低落，情绪里充满了悲伤难过\n\nfile: tx_emotion_00206000380.wav\norigin: 为他人担心害怕\nresult: 心有所疑，不明白\nresult2: 心有所疑，不明白\nresult3: 心有所疑，不明白\nresult4: 心有所疑，不明白\nresult5: 心有所疑，不明白\n\nfile: tx_emulate_01_002_0017_000057.wav\norigin: 在感叹中，内心的赞赏喜爱之意无法掩盖，亦带有丝丝惋惜和怜爱之感。\nresult: 语气中透露着一种惋惜的情绪\nresult2: 语气中透露着一种不解的无奈之情\nresult3: 语气中透露着一种惋惜的情绪\nresult4: 语气中透露出一种惋惜的情绪\nresult5: 语气中透露出一种惋惜的情绪\n\nfile: tx_xiao_0200103000520.wav\norigin: 语气十分轻快，言语中渗透出满足的喜悦，十分高兴，语气激动，言辞风趣自然。\nresult: 情绪激动，内心充满喜悦和欣喜。\nresult2: 情绪激动，内心充满喜悦和欣喜。\nresult3: 情绪激动，内心充满喜悦和欣喜。\nresult4: 情绪激动，内心充满喜悦和欣喜。\nresult5: 情绪激动，内心充满喜悦和欣喜。\n\nfile: tx_emotion_00303000363.wav\norigin: 心情快乐舒畅\nresult: 感到高兴或期待的等待\nresult2: 感到高兴或期待的等待\nresult3: 感到高兴或期待的等待\nresult4: 感到高兴或期待的等待\nresult5: 感到高兴或期待的等待\n\nfile: tx_emotion_00210000249.wav\norigin: 声音断断续续，口齿不清，难过得哭泣，充满怜悯之心\nresult: 伤心难过，情绪激动\nresult2: 伤心难过，情绪激动\nresult3: 伤心难过，情绪激动\nresult4: 伤心难过，情绪激动\nresult5: 情绪激动，伤心难过\n\nfile: tx_emulate_00_179_0005_000021.wav\norigin: 声音高挑，语速轻快，语气中带着心满意足的高兴。\nresult: 语气中透出心中的疑惑和不理解\nresult2: 语气中透出心中的疑惑，感到不解。\nresult3: 语气中透出心中的疑惑，声音带有疑问。\nresult4: 语气中透出诧异的情绪\nresult5: 语气中透露着内心的疑惑和不解，声音轻快\n\nfile: tx_emulate_02_042_0004_000065.wav\norigin: 声音微挑，语调低缓，话语中带着焦急，心情极度焦躁，非常忧心的感觉\nresult: 语气激昂，情绪激动，心中充满愤怒。\nresult2: 语气激昂，情绪激动，表现心中的愤怒。\nresult3: 语速较快，语调较高，情绪中带着怒气，凸显了说话者内心的愤怒\nresult4: 语气激昂，情绪激动，内心充满愤怒。\nresult5: 语气激昂，情绪激动，心中充满愤怒\n\nfile: tx_emotion_00409000285.wav\norigin: 很轻松的气氛，开着玩笑\nresult: 语气的柔弱，平缓的声调，让人觉得轻松舒畅。\nresult2: 语气的柔弱，平缓的口音，让人觉得轻松舒畅。\nresult3: 语气的柔弱，平缓的口中说。\nresult4: 语气的柔弱，平缓的口中说。\nresult5: 语气的柔弱，平缓的声调，让人觉得轻松舒畅。\n\nfile: tx_emotion_00401000213.wav\norigin: 伤心难过，很是烦闷\nresult: 忧伤悲痛，悲伤不已\nresult2: 忧伤悲痛，悲伤不已\nresult3: 忧伤悲痛，悲伤不已\nresult4: 忧伤悲痛，悲伤不已\nresult5: 忧伤悲痛，悲伤不已\n\nfile: tx_xiao_0100105000277.wav\norigin: 语气很是冷酷，还带着点威胁的感觉，情绪显得比较冷漠。\nresult: 很生气，有点气愤的样子，语速比较快，流露出不满和不耐烦的情绪\nresult2: 很生气，非常不耐烦的样子，语速快，流露出不满和怨恨的情绪\nresult3: 很生气，有点气愤的样子，非常不耐烦。还流露出一点怨恨和埋怨的情绪\nresult4: 很生气，有点气愤的样子，语速比较快，流露出不耐烦的情绪\nresult5: 很生气，有点不耐烦的样子，语速比较快，流露出不满的情绪\n\nfile: tx_emotion_00409000470.wav\norigin: 气愤不已，情绪很是激愤\nresult: 很迷惑，还有疑惑的表情\nresult2: 很迷惑，还有些不理解\nresult3: 很迷惑，还有疑惑的眼神\nresult4: 很迷惑，还有疑惑的表情\nresult5: 很迷惑，还有疑惑的表情\n\nfile: tx_emotion_00210000124.wav\norigin: 内心内疚，泣不成声，情绪无法控制\nresult: 伤心难过，声音颤抖，情绪激动失望\nresult2: 伤心难过，声音颤抖，情绪激动失望\nresult3: 伤心难过，声音颤抖，情绪激动失望\nresult4: 深深觉得伤心难过\nresult5: 深深的担心，伤心难过\n\nfile: tx_emotion_00203000031.wav\norigin: 因高兴或受某种刺激而精神激奋\nresult: 感到开心，欢天喜地\nresult2: 感到开心，欢天喜地\nresult3: 感到开心，激动\nresult4: 感到开心，欢天喜地\nresult5: 感到开心，欢天喜地\n\nfile: tx_emotion_00301000036.wav\norigin: 悲哀痛苦，悲伤难过。\nresult: 忧郁，伤心难过，情绪激动。\nresult2: 忧郁，伤心难过，情绪激动。\nresult3: 忧郁，伤心难过，情绪激动。\nresult4: 忧郁，伤心难过，情绪激动。\nresult5: 忧郁，伤心难过，情绪激动。\n\nfile: tx_emulate_01_013_0002_000004.wav\norigin: 声音微扬，话语中带着关切，十分急切的感觉\nresult: 语速较快，语调较高，话语中充满了询问和疑惑，凸显了说话者内心的不解\nresult2: 语速较快，语调较高，气韵高，表明了说话者内心的疑惑和不解\nresult3: 语速较快，语调较高，气韵高昂，表明说话者内心十分的疑惑和不解\nresult4: 语速较快，语调较高，气韵高昂，表明说话者内心十分的疑惑和不解\nresult5: 语速较快，语调较高，气韵高昂，表明了说话者内心的疑惑和不解\n\nfile: tx_emulate_01_011_0005_000017.wav\norigin: 声音较快，声音较高，内心感到焦急和慌张的情绪。\nresult: 声音高昂，语速快，情绪非常激动和紧张\nresult2: 声音高昂，语速较快，情绪十分激动\nresult3: 声音高，语速快，情绪中带着一丝焦急和紧张\nresult4: 声音高昂，语速急促，话语中带着紧张和不安的情绪\nresult5: 声音高昂，语速较快，情绪非常激动\n\nfile: tx_emulate_00_112_0001_000066.wav\norigin: 心里的快乐全都表现在脸上，声调上扬\nresult: 话语中透露出一种兴奋的情绪\nresult2: 话语中透露出一种兴奋的情绪\nresult3: 话语中透露出一种兴奋的情绪\nresult4: 话语中透露出一种兴奋的情绪\nresult5: 话语中透露出一种兴奋的情绪\n\nfile: tx_emotion_00201000274.wav\norigin: 伤心不已，悲伤凄凉\nresult: 深切的忧愁，悲痛不已\nresult2: 深切的哀伤，忧郁不已，悲伤难过\nresult3: 深切的哀痛，伤心难过\nresult4: 深切的哀痛，伤心难过\nresult5: 深切的哀伤，忧郁不已，悲伤难过\n\nfile: tx_emotion_00203000086.wav\norigin: 心情喜悦无比，兴高采烈\nresult: 心里喜悦，欢乐\nresult2: 心里喜悦，欢乐\nresult3: 心里喜悦，欢乐\nresult4: 心里喜悦，欢乐\nresult5: 心里喜悦，欢乐\n\nfile: tx_xiao_0200105000529.wav\norigin: 语调上扬，情绪较为激烈，又充斥着不满和怨怼。\nresult: 语气中带着怒火和愤怒，情绪十分激昂\nresult2: 语气中带有怒火和愤怒，声音高亢而尖锐\nresult3: 语气中带着怒火和愤怒，声音高昂而尖锐\nresult4: 语气中带有怒火和愤怒，情绪十分激昂\nresult5: 语气中带有怒火和愤怒，声音高亢而尖锐\n\nfile: tx_emotion_00201000467.wav\norigin: 透漏出的是无法掩饰的悲伤\nresult: 心酸难受，伤心难过\nresult2: 心酸难受，伤心难过\nresult3: 心酸难受，伤心难过\nresult4: 心酸难受，伤心难过\nresult5: 心酸难受，伤心难过\n\nfile: tx_emotion_00210000476.wav\norigin: 声音颤抖，充满悲伤，凄凉\nresult: 情绪激动不已\nresult2: 情绪激动不已\nresult3: 情绪激动不已\nresult4: 情绪激动不已\nresult5: 情绪激动不已\n\nfile: tx_emulate_00_108_0004_000039.wav\norigin: 语气轻快，言语里透出内心的随意与无所谓的得意洋洋的心情。\nresult: 语气很重，声音微扬，情绪中带着些许的不满。\nresult2: 语气很重，声音微扬，情绪中带着些许的不满。\nresult3: 语气很重，声音微扬，情绪中带着些许的不满。\nresult4: 语气很重，声音微扬，情绪中带着些许的不满。\nresult5: 语气轻快，声音微扬，情绪中带着些许的不耐烦。\n\nfile: tx_emulate_00_157_0001_000031.wav\norigin: 声音非常高昂激动，显示内心骄傲自得和心满意足\nresult: 语调轻快上扬，中带有些许的兴奋与期待\nresult2: 语调轻柔，声音中透露着内心的欢喜与喜悦\nresult3: 语调轻柔软弱，声音中透露着兴奋与满足的情绪\nresult4: 语调轻快，声音中透露着兴奋与喜悦的心情\nresult5: 语调轻快活泼，声音中透露着兴奋与满足的情绪\n\nfile: tx_xiao_0100103000268.wav\norigin: 语气中充满激动的心情，夹杂着一点惊喜和喜悦\nresult: 内心充满了惊喜和欣喜，语调欢快，表达喜悦的情绪\nresult2: 内心充满了喜悦和激动，语气欢快，流露欣喜\nresult3: 内心充满了喜悦和惊喜，语气欢快，流露欣喜。\nresult4: 内心充满了喜悦和惊喜，语气欢快，流露欣喜\nresult5: 内心充满了喜悦和欣喜，语气欢快的情绪。\n\nfile: tx_xiao_0100103000272.wav\norigin: 声音欢喜，语气中有喜悦和愉快\nresult: 语气轻快，情绪中透着愉悦和喜悦\nresult2: 语气轻快，情绪中带有愉悦和喜悦\nresult3: 语气轻快，情绪中透着愉悦和喜悦\nresult4: 语气轻快，情绪中透着愉悦和喜悦\nresult5: 语气轻快，情绪中透着愉悦和喜悦\n\nfile: tx_emotion_00303000056.wav\norigin: 心情快乐舒畅\nresult: 心情快乐而舒畅\nresult2: 心情快乐而舒畅\nresult3: 心情快乐而舒畅\nresult4: 心情快乐而舒畅\nresult5: 心情快乐而舒畅\n\nfile: tx_emulate_01_029_0013_000037.wav\norigin: 语速较快，语调较高，语气中充满怒气，凸显了说话者内心的愤怒，情绪激动\nresult: 语速较快，情绪中带有一丝焦急和不安\nresult2: 语速较快，情绪中带有一丝焦急和不安\nresult3: 语速较快，语气中带着紧张和不安的情绪\nresult4: 语速快，话语中带着紧张和不安的情绪\nresult5: 语速较快，情绪中带有焦急和不安\n\nfile: tx_emotion_00201000148.wav\norigin: 伤心难过，又无能为力\nresult: 心酸失望\nresult2: 心酸失望\nresult3: 心酸失望\nresult4: 心酸失望\nresult5: 心酸失望\n\nfile: tx_emulate_00_117_0005_000059.wav\norigin: 声音高扬，语气中带着焦急，非常无助，一筹莫展的感觉\nresult: 语气中带有些紧张，心里非常的慌乱\nresult2: 语气中带有些紧张，心里非常的慌乱和害怕\nresult3: 语气中带有些紧张，心里面非常的慌乱和害怕\nresult4: 语气中带有些紧张，心里非常的慌乱\nresult5: 语气中带有些紧张，心里非常的慌乱\n\nfile: tx_xiao_0200104000737.wav\norigin: 声音凶狠，语气中透露出恼火与不满。\nresult: 咬牙切齿，语调上扬，声音中透露出恼怒的情绪。\nresult2: 咬牙切齿，语调上扬，声音中透露出恼火的情绪。\nresult3: 咬牙切齿，语调上扬，声音中透露出恼火的情绪。\nresult4: 咬牙切齿，语调高昂，情绪中透露出恼怒。\nresult5: 咬牙切齿的语气，声音中透露出恼怒与愤怒。\n\nfile: tx_emulate_01_192_0003_000046.wav\norigin: 声音尖锐，语调高昂，非常强烈地表达了心中的不爽\nresult: 语调抑扬顿挫，言语中带有抱怨和不满\nresult2: 语调抑扬顿挫，言语中带有不满和不耐烦之意\nresult3: 语调抑扬顿挫，言语中带有抱怨和不满\nresult4: 语调抑扬顿挫，言语中带有不满和不耐烦之意\nresult5: 语调抑扬顿挫，言语中带有抱怨和不满\n\nfile: tx_xiao_0200103000048.wav\norigin: 语气激动，感到十分满足和欣喜。\nresult: 语气欢快，充满期待和欣喜。\nresult2: 语气轻快，充满期待和欣喜。\nresult3: 语气轻快，透露着开心兴奋的情绪。\nresult4: 语气轻快，充满期待和欣喜。\nresult5: 语气轻快，很是开心和欣喜。\n\nfile: tx_emotion_00203000379.wav\norigin: 因得到某个东西，非常开心激动\nresult: 心里十分欢喜，开心极了\nresult2: 心里十分欢喜，无比开心\nresult3: 心里十分欢喜，愉快高兴\nresult4: 心里十分欢喜，无比开心\nresult5: 心里十分欢喜，无比开心\n\nfile: tx_emulate_00_132_0005_000016.wav\norigin: 语气中带有急切、惶恐、不知所措\nresult: 语气紧张，声音中透露出一种慌张的情绪\nresult2: 语气紧张，声音中透露出一种慌张的情绪\nresult3: 语气紧张，声音中透露出一种慌张的情绪\nresult4: 语气紧张，声音中透露出一种慌张的情绪\nresult5: 语气紧张，声音中透露出一种慌张的情绪\n\nfile: tx_emotion_00203000066.wav\norigin: 言语间的喜悦和开心很明显\nresult: 感到开心，欢天喜地\nresult2: 感到开心，欢快\nresult3: 欢快，兴致高涨\nresult4: 感到开心，欢天喜地\nresult5: 感到开心，欢天喜地\n\nfile: tx_emotion_00206000337.wav\norigin: 好奇心所致，保持疑惑，想要知道答案。\nresult: 对未知事物充满了好奇\nresult2: 对未知事物充满了好奇\nresult3: 对未知事物充满好奇\nresult4: 对未知事物有好奇心\nresult5: 对未知事物有好奇心\n\nfile: tx_xiao_0200103000289.wav\norigin: 语调上扬，情绪欢快，很开心做某事。\nresult: 语气轻快，声音高昂，情绪中充满了开心和兴奋。\nresult2: 语气欢快，情绪中充满了开心和快乐。\nresult3: 语气轻快，情绪中充满了开心和快乐。\nresult4: 语气轻快，情绪中充满了开心和快乐。\nresult5: 语气轻快，声音欢快昂扬，情绪中透露着兴奋和开心。\n\nfile: tx_emulate_00_112_0005_000089.wav\norigin: 语气中带有荣幸，开心极了\nresult: 语气中透露出一种不悦的感觉，还有一点生气\nresult2: 语气中透露出一种不悦的感觉，还有一点生气\nresult3: 语气中透露出一种不悦的感觉，还有一点生气\nresult4: 语气中透露出一种不悦的感觉，还有一点生气\nresult5: 语气中透露出一种不悦的感觉，还有一点生气\n\nfile: tx_emotion_00403000197.wav\norigin: 心里兴奋不已，感觉值得\nresult: 兴奋到可以尽情的畅快\nresult2: 兴奋到可以不言而喻\nresult3: 兴奋到可以不言而喻\nresult4: 兴奋不已，心情倍感舒畅\nresult5: 兴奋到可以不言而喻\n\nfile: tx_emulate_02_004_0004_000018.wav\norigin: 声音有力，语调高扬，言语充满了担当和气势\nresult: 语调高亢，声音铿锵有力，言语慷慨激昂。\nresult2: 语气铿锵有力，声音高昂，情绪激动\nresult3: 语气铿锵有力，声音高昂，情绪激动\nresult4: 语气铿锵有力，声音高昂，情绪激动\nresult5: 语调高亢，声音激昂，情绪激动\n\nfile: tx_xiao_0100107000341.wav\norigin: 语气较为平缓，担忧中带着难过\nresult: 语速缓慢，声音里带着哭腔，情绪十分悲伤\nresult2: 语速缓慢，声音里带着哭腔，情绪十分低落\nresult3: 语速缓慢，声音里带着哭腔，情绪十分悲哀\nresult4: 语速缓慢，音调较低，流露着哀伤\nresult5: 语速缓慢，音调低沉，流露浓浓的哀伤。\n\nfile: tx_xiao_0100105000369.wav\norigin: 声音调侃，语气中透露出兴奋与高兴。\nresult: 声音充满疑惑，表达出内心的不满。\nresult2: 声音中透露出内心的不服气和不满，心情十分不好。\nresult3: 声音充满疑惑，表达出内心的不满。\nresult4: 声音充满疑惑，表达出内心的不满。\nresult5: 声音充满疑惑，表达出内心的不满。\n\nfile: tx_emotion_00403000494.wav\norigin: 感到心满意足，十分快乐\nresult: 兴奋激动，泪点一下\nresult2: 兴奋激动，泪点一下\nresult3: 兴奋激动，泪点一下\nresult4: 兴奋激动，泪点一下\nresult5: 兴奋激动，泪点一下\n\nfile: tx_emulate_02_044_0001_000032.wav\norigin: 激动振奋，带着期待，开心的语气\nresult: 话语中充满着惊奇之情，亦可见其浓厚的惊讶之意。\nresult2: 话语中充满惊奇之情，其惊讶之意十分强烈。\nresult3: 话语中充满惊奇之情，其惊讶之意十分强烈。\nresult4: 话语中充满着惊奇和惊喜之情，亦可见其欢欣之意。\nresult5: 话语中充满着惊奇之情，心情十分开心\n\nfile: tx_emotion_00206000480.wav\norigin: 充满疑问的语气，和不解的语调\nresult: 对某件事存在疑问\nresult2: 对某件事存在疑问\nresult3: 对某件事存在疑问\nresult4: 对某件事存在疑问\nresult5: 对某件事存在疑问\n\nfile: tx_emotion_00205000127.wav\norigin: 情绪激动警惕为保护她而着急\nresult: 很生气，伤心难过。\nresult2: 很生气，伤心难过。\nresult3: 很生气，伤心难过。\nresult4: 很生气，伤心难过。\nresult5: 很生气，伤心难过。\n\nfile: tx_emulate_02_255_0001_000027.wav\norigin: 语调低沉急促到高亢，内心强烈的不满和反对\nresult: 语调高亢急促，抑扬顿挫，内心充满不满和不屑\nresult2: 语调高亢急促，抑扬顿挫，内心充满不满和不屑\nresult3: 语调冷淡急促，抑扬顿挫，内心充满不满和不屑\nresult4: 语调高亢急促，抑扬顿挫，内心充满不满和不屑\nresult5: 语调冷淡急促，抑扬顿挫中透露着内心的不满和不屑\n\nfile: tx_emotion_00208000303.wav\norigin: 气愤像野火一样在心里烧\nresult: 感觉自己气愤的情绪\nresult2: 感觉自己气愤的情绪\nresult3: 感觉自己气愤的情绪\nresult4: 感觉自己气愤的情绪\nresult5: 感觉自己气愤的情绪\n\nfile: tx_emulate_02_046_0022_000084.wav\norigin: 在语气中可以感受到一种责备的心情，还有一点埋怨和嗔怪\nresult: 语气较重，情绪中透露着内心的不满和责怪\nresult2: 语气较重，情绪中透露着不满和埋怨\nresult3: 语气较重，情绪中带着抱怨和不满\nresult4: 语气较重，情绪中充满了不满和不快。\nresult5: 语气较重，情绪中透露着内心的不满和责怪\n\nfile: tx_emotion_00303000129.wav\norigin: 心情快乐舒畅\nresult: 心情十分高兴，乐在其中。\nresult2: 心情愉悦，很开心，乐在其中\nresult3: 心情十分高兴，乐在其中。\nresult4: 心情十分高兴，乐在其中。\nresult5: 心情十分高兴，乐在其中。\n\nfile: tx_emulate_01_200_0002_000001.wav\norigin: 语调冷淡急促，内心充满不满与懊恼，带有些许的嘲讽\nresult: 语调沉闷急促，抑扬顿挫，内心充满不满和不耐烦。\nresult2: 语调沉闷急促，抑扬顿挫，内心充满不满和不耐烦。\nresult3: 语调沉闷急促，内心充满不满和不耐烦。\nresult4: 语气中充满了不耐烦和不满意，带有些许的无奈。\nresult5: 语调沉闷急促，抑扬顿挫中透露出内心的不满和不耐烦。\n\nfile: tx_emulate_01_206_0005_000031.wav\norigin: 语调冷淡舒缓，情绪颓靡，内心感到十分不在意和不关心\nresult: 语调轻快，抑扬顿挫，话语中带有不耐烦的感觉\nresult2: 语调轻快，抑扬顿挫，话语中透露着不耐烦的感觉\nresult3: 语调悠扬，抑扬顿挫，话语中透露着一种不耐烦的感觉\nresult4: 语调轻快，抑扬顿挫，话语中透露着不耐烦的感觉\nresult5: 语调低沉，抑扬顿挫，话语中带有一种不耐烦的感觉\n\nfile: tx_emulate_02_006_0019_000078.wav\norigin: 情绪低落，语气不悦，言语间流露出心中的责怪之情\nresult: 声音低沉，语速缓慢，话语中带着无奈的情绪\nresult2: 声音淡定，语速缓慢，话语中带着疲惫和无力感，情绪低落。\nresult3: 声音低沉，语速缓慢，话语中带着疲惫和无奈的情绪\nresult4: 声音低沉，语速缓慢，话语中带着一丝丝的无奈，内心充满疲惫。\nresult5: 声音低沉，语速缓慢，话语中带着无奈和忧伤的情绪\n\nfile: tx_emotion_00303000396.wav\norigin: 感到满足时的高兴心情\nresult: 很开心而感到快乐\nresult2: 很开心而感到快乐\nresult3: 很开心而感到快乐\nresult4: 很开心而感到快乐\nresult5: 很开心而感到快乐\n\nfile: tx_emotion_00400000196.wav\norigin: 形容端正老实，合乎常理\nresult: 沉着，十分舒缓\nresult2: 沉着，十分舒缓\nresult3: 沉着，十分舒缓\nresult4: 沉着，十分舒缓\nresult5: 沉着，十分舒缓\n\nfile: tx_emulate_01_196_0001_000024.wav\norigin: 语气非常的虚弱，像是刚刚哭过，很伤心难过\nresult: 语气低沉，情绪很低落，言语中满是悔恨和难过。\nresult2: 语气低沉，情绪很低落，言语中满是悔恨和难过。\nresult3: 语气低沉，言语中满是悔恨和悲伤，内心十分痛苦难过\nresult4: 语气低沉，情绪很低落，言语中满是悔恨和难过。\nresult5: 语气低沉，言语中满是悔恨和悲伤，内心极度痛苦\n\nfile: tx_emotion_00402000283.wav\norigin: 语气着急，气急败坏\nresult: 很生气的发泄情绪\nresult2: 很生气的发泄情绪\nresult3: 很生气的发泄情绪\nresult4: 很愤怒，气愤\nresult5: 很愤怒，气愤\n\nfile: tx_xiao_0200104000887.wav\norigin: 语气中是委屈和责备兼而有之，嗔怪和恼怒埋怨交织\nresult: 声音尖锐，语速较快，情绪中夹杂着委屈和愤怒。\nresult2: 声音高亢，情绪激动，语气中带着埋怨和委屈。\nresult3: 声音中充满了愤怒，情绪激动，语气比较尖酸。\nresult4: 声音较大，语气较为严厉，音调较高，情绪中充满了愤怒和不满\nresult5: 声音中充满了委屈和愤怒，情绪激动，语气较为尖酸\n\nfile: tx_emulate_01_196_0004_000027.wav\norigin: 语气中充满了震惊，表示什么不愿意相信的感觉。\nresult: 语气中透露出不可思议的感觉，非常的惊讶。\nresult2: 语气中透露出不可思议的感觉，非常的惊讶。\nresult3: 语气中透露出不可思议的感觉，非常的惊讶。\nresult4: 语气中充满了惊讶和不解，言语里透出不可思议的感觉。\nresult5: 语调中透露着不可思议的感觉，非常的吃惊和惊讶。\n\nfile: tx_emotion_00403000131.wav\norigin: 形容内心十分开心，高兴\nresult: 高兴极了，感到很是开心\nresult2: 高兴极兴，感到很是开心\nresult3: 高兴极兴，感到很是开心\nresult4: 高兴极兴，感到很是开心\nresult5: 高兴极兴，感到很是开心\n\nfile: tx_xiao_0200103000162.wav\norigin: 语气轻快，情绪流露出喜悦和开心。\nresult: 情绪激动，语气中充满期待和欣喜。\nresult2: 情绪激动，语气中充满期待和欣喜。\nresult3: 情绪激动，语气中充满期待和欣喜。\nresult4: 情绪激动，语气中充满期待和欣喜。\nresult5: 情绪激动，语气中充满期待和欣喜。\n\nfile: tx_emulate_01_012_0025_000092.wav\norigin: 声音甜美温柔，内心带有喜笑颜开的兴奋情绪。\nresult: 语气中带着骄傲，情绪愉快，心情十分舒畅。\nresult2: 语气轻松，情绪愉快，心情愉悦。\nresult3: 语气轻松，情绪愉快，心情舒畅。\nresult4: 语气轻松，情绪愉快，心情愉悦。\nresult5: 语气轻松，情绪愉快，心情愉悦。\n\nfile: tx_xiao_0100103000327.wav\norigin: 语调上扬，态度诚恳，表达出真诚、朴实的祝福\nresult: 内心洋溢着快乐，还带有一种祝福\nresult2: 内心洋溢着快乐，还带有一种祝福\nresult3: 内心洋溢的喜悦，还夹杂着一种祝福\nresult4: 内心洋溢的快乐，还带有一种祝福\nresult5: 内心洋溢着高兴，还带有一种祝福\n\nfile: tx_emulate_00_119_0001_000049.wav\norigin: 情绪很高涨，语气十分轻松，让人听了觉得想笑\nresult: 语气中透露着内心的喜悦，心情很舒畅。\nresult2: 语气中透露着内心的不安，心情十分愉悦。\nresult3: 语气中透露着内心的喜悦，心情很舒畅。\nresult4: 语气中透露着轻松愉快的情绪\nresult5: 语气中透露着轻松愉快的情绪\n\nfile: tx_emotion_00303000046.wav\norigin: 心情快乐舒畅\nresult: 很快乐和开心\nresult2: 很快乐和开心\nresult3: 很快乐和开心\nresult4: 很快乐和开心\nresult5: 很快乐和开心\n\nfile: tx_emotion_00206000061.wav\norigin: 好奇心所致，保持疑惑，想要知道答案。\nresult: 对人和事物有疑虑和不解\nresult2: 对人和事物有疑虑和不解\nresult3: 对人和事物有疑虑和不解\nresult4: 对人和事物有疑虑和不解\nresult5: 对人和事物有疑虑和不解\n\nfile: tx_emulate_01_011_0013_000073.wav\norigin: 升起的语调表明了纳闷的心情\nresult: 语调很急促，言语充满了疑惑和不解。\nresult2: 语调很急促，言语中充满了疑惑和不解。\nresult3: 语调很急促，言语充满了疑惑和不解。\nresult4: 语调很急促，言语充满了疑惑和不解。\nresult5: 语调很急促，言语中充满了疑惑和不解。\n\nfile: tx_emotion_00203000412.wav\norigin: 心花怒放、欢天喜地、欣喜若狂的样子\nresult: 心里愉快，心情舒畅\nresult2: 愉快高兴，心情愉悦\nresult3: 愉快高兴，心情舒畅\nresult4: 心里愉快，心情舒畅\nresult5: 愉快高兴，心情舒畅\n\nfile: tx_emulate_01_028_0008_000035.wav\norigin: 语速较慢，语调较高，语气较重，凸显了说话者情绪的极度不悦，内心不理解\nresult: 语速较快，语调较高，声音中透露着内心的愤懑恼怒，凸显情绪\nresult2: 语速较快，语调较高，语音中透露着内心的愤慨和不解，凸显情绪\nresult3: 语速较快，语调较高，声音中透露着内心的愤懑恼怒，凸显了情绪\nresult4: 语速较快，语调较高，声音中透露着内心的愤懑恼怒，凸显情绪\nresult5: 语速较快，语调较高，声音的情绪激动，凸显内心愤懑恼怒\n\nfile: tx_xiao_0100104000111.wav\norigin: 音调逐渐升高，满腔怒火无处发泄，情绪中透露满满的失望和愤怒\nresult: 声音大，语速快，表现出非常生气的情绪\nresult2: 声音大，语速很快，表现出非常生气的情绪\nresult3: 声音大，语速快，表现出非常生气的情绪\nresult4: 声音大，语速快，表现出非常生气的情绪\nresult5: 声音大，语速快，表现出非常生气的情绪\n\nfile: tx_emotion_00309000183.wav\norigin: 内心恍然大悟，突然明白\nresult: 感到难以置信\nresult2: 感到难以置信\nresult3: 感到难以置信\nresult4: 感到难以置信\nresult5: 感到难以置信\n\nfile: tx_emulate_00_162_0005_000004.wav\norigin: 语速较快，声音较高，情绪中带着一些焦急和质问。\nresult: 语速较快，情绪中带着担忧和着急。\nresult2: 语速较快，特别的着急。\nresult3: 语速较快，特别的着急。\nresult4: 语速较快，情绪中带着担忧和着急。\nresult5: 语速较快，特别的着急。\n\nfile: tx_xiao_0200103000604.wav\norigin: 语速较快，声音较为高涨充满了开心愉快的情绪，语气积极\nresult: 情绪激动，内心充满喜悦和欣喜\nresult2: 情绪激动，内心充满喜悦和快乐\nresult3: 情绪激动，内心充满喜悦和欣喜\nresult4: 情绪激动，内心充满喜悦和欣喜\nresult5: 情绪激动，内心充满喜悦和欣喜\n\nfile: tx_emulate_02_265_0002_000026.wav\norigin: 语调较高，语速很快地指责，质问的语气中流露出十足的怨气\nresult: 语调高昂，语气强硬，表现内心的不满和愤懑\nresult2: “言辞直白”的语气，声音中透露着一种不耐烦的感觉\nresult3: 语调高昂，语气强硬，表现内心的不满和愤慨\nresult4: “言辞直白”的语气，“咄咄逼人”的表现表现了内心的不满和不耐烦。\nresult5: “言辞直白”的语气，声音中透露着一种不耐烦的感觉\n\nfile: tx_emotion_00203000364.wav\norigin: 因高兴或受某种刺激而精神激奋\nresult: 心里愉快高兴，心情舒畅\nresult2: 心里愉快高兴，心情舒畅\nresult3: 心里愉快，心情舒畅\nresult4: 心里愉快高兴，心情舒畅\nresult5: 心里愉快高兴，心情舒畅\n\nfile: tx_emotion_00401000339.wav\norigin: 悲伤逆流成河\nresult: 忧伤悲痛不已的感觉\nresult2: 忧伤悲痛不已的感觉\nresult3: 忧伤悲痛不已的感觉\nresult4: 忧伤悲痛不已的感觉\nresult5: 忧伤悲痛不已的感觉\n\nfile: tx_emulate_02_255_0003_000001.wav\norigin: 语调欢快活泼，抑扬顿挫，内心充满惊讶和好奇\nresult: 语调平缓，流言蜚语中透露着诧异和不解的情绪\nresult2: 语调平缓，流言蜚语中透露着诧异和不解的情绪\nresult3: 语调平缓，流利的口吻透露出内心的疑惑和不解\nresult4: 语调平缓，流言蜚语中透露着诧异和不解的情绪\nresult5: 语调平缓，流言蜚语中透露着诧异和不解的情绪\n\nfile: tx_emotion_00201000340.wav\norigin: 心里委屈，烦恼，窝火\nresult: 悲痛大，悲伤欲绝\nresult2: 悲痛大，悲伤欲绝\nresult3: 悲痛大，悲伤欲绝\nresult4: 悲痛大，悲伤欲绝\nresult5: 心酸痛苦，悲伤难过\n\nfile: tx_xiao_0100106000316.wav\norigin: 声音给人一种嗔怪的感觉，同时充满了好奇\nresult: 语气中很奇怪的疑惑，声音里带有一丝不解\nresult2: 语气中很奇怪的疑问，声音里带有一丝惊讶\nresult3: 语气中很奇怪的疑惑，声音里带有一丝不解\nresult4: 语气中很困惑，声音里带有些许的责怪\nresult5: 语气中很困惑，声音里带有一丝担忧\n\nfile: tx_emulate_01_031_0020_000073.wav\norigin: 语速较快，语调较高，语气充满了呵斥，说明说话者情绪的气愤，内心愤怒\nresult: 语气较重，情绪十分激动，内心充满愤怒。\nresult2: 语气较重，情绪激动，声音激昂，表现出内心的不满。\nresult3: 语气较重，情绪激动，声音激昂，表现出内心的愤怒\nresult4: 语气较重，情绪激动，声音激昂，表现出内心的愤怒\nresult5: 语气较重，情绪十分激动，内心充满愤怒。\n\nfile: tx_emulate_01_216_0004_000039.wav\norigin: 语调高扬，声音铿锵有力，表现出心中的兴奋\nresult: 语气急促，情绪激动，内心十分着急\nresult2: 语调急促，情绪激动，内心极度的担忧和着急\nresult3: 语气急促，情绪激动，带有一丝丝的慌张\nresult4: 语气急促，情绪激动，内心十分着急\nresult5: 语气急促，情绪激动，心情不平\n\nfile: tx_xiao_0200103000259.wav\norigin: 对某件事很自豪，充满了得意感。\nresult: 表明内心十分开心，感到无比幸福和快乐。\nresult2: 表明内心非常开心，感到无比幸福和快乐。\nresult3: 表明内心十分开心，感到无比幸福和快乐。\nresult4: 表明内心非常开心，感到无比幸福快乐。\nresult5: 表明内心非常开心，感到无比满足和幸福。\n\nfile: tx_emulate_01_014_0005_000035.wav\norigin: 语速快，声音激烈，表现心里的担忧、急切\nresult: 声音中充满着一种不耐烦的感觉，语调也比较急躁\nresult2: 声音中充满着一种不耐烦的感觉，语气很是急躁\nresult3: 声音中充满着一种不耐烦的感觉，语调也比较急促\nresult4: 声音中透露着一种不耐烦的感觉，语调亦急促\nresult5: 声音中透露着一种不耐烦的情绪，语气很是急躁\n\nfile: tx_emotion_00403000143.wav\norigin: 无比欢乐和幸福\nresult: 感到高兴欣喜\nresult2: 感到高兴欣喜\nresult3: 感到高兴欣喜\nresult4: 感到高兴欣喜\nresult5: 感到高兴欣喜\n\nfile: tx_emulate_00_129_0004_000057.wav\norigin: 声音轻盈干练，语气中带着骄傲，豪放的情感。\nresult: 声音欢快，语气中带着轻松愉快的情绪。\nresult2: 声音轻快，语气中带着轻松愉快的情绪。\nresult3: 声音轻快，语气中带着轻松愉快的情绪。\nresult4: 声音欢快，语气中带着轻松愉快的情绪。\nresult5: 声音轻快，语气中带着轻松愉快的情绪。\n\nfile: tx_emulate_01_028_0009_000054.wav\norigin: 声音隐约带着哭腔，语气中充满了委屈，声音娇媚\nresult: 语气中带有一种委屈和难过，声音带着一丝哭腔\nresult2: 语气中带有一种委屈和难过，声音带着些许的哭腔\nresult3: 语气中带有一种委屈和难过，声音带着一丝哭腔\nresult4: 语气中带有一种委屈和难过，声音带着哭腔\nresult5: 语气中带有一种委屈和难过，声音带着一丝哭腔\n\nfile: tx_xiao_0200103000192.wav\norigin: 激动的语调透出极度的开心，欢喜雀跃。\nresult: 内心充满了喜悦和欣喜，声音轻快欢快\nresult2: 内心充满了喜悦和兴奋，声音轻快欢快\nresult3: 内心充满了喜悦和欣喜，语气轻快欢快\nresult4: 内心充满了喜悦和欣喜，声音轻快欢快\nresult5: 内心充满了喜悦和欣喜，语气轻快欢快\n\nfile: tx_emotion_00303000433.wav\norigin: 形容内心十分开心，高兴\nresult: 心情很满足\nresult2: 心情很满足\nresult3: 心情十分高兴，乐在其中\nresult4: 心情很满足\nresult5: 心情十分高兴，乐在其中\n\nfile: tx_emulate_00_115_0010_000012.wav\norigin: 前半句语气坚决，带有不可置否之意，后半句则可见其淡然处之之姿。\nresult: 语气中带有一点委屈，给人一种不满的感觉\nresult2: 语气中带有一点委屈，给人一种不满的感觉\nresult3: 语气中带有一点委屈，给人一种不满的感觉\nresult4: 语气中带有一点委屈，给人一种不满的感觉\nresult5: 语气中带有一点委屈，给人一种不满的感觉\n\nfile: tx_emulate_01_024_0012_000117.wav\norigin: 语速过快，表达出内心心急如焚的情绪。\nresult: 语速很快，声音较高，情绪中带着害怕和惊慌。\nresult2: 语速很快，声音很高，情绪中带着害怕和惊恐。\nresult3: 语速很快，声音很高，情绪中带着害怕和惊恐。\nresult4: 语速较快，声音较高，内心很惊恐的情绪。\nresult5: 语速很快，声音较高，情绪中带着害怕和不安\n\nfile: tx_emulate_00_118_0002_000022.wav\norigin: 情绪激动，声调下降，声音尖，内心气愤地无法抑制\nresult: 语气强硬，声调较高，内心非常的愤怒。\nresult2: 语气强硬，声调较高，内心非常的愤怒。\nresult3: 语气强硬，声音尖锐，内心非常的生气和恼怒。\nresult4: 语气强硬，声调较高，内心非常的愤怒。\nresult5: 语气强硬，声调较高，内心非常的愤怒。\n\nfile: tx_xiao_0100105000468.wav\norigin: 语调逐渐变高，语气从质问逐渐变得有些激动\nresult: 语气急促，表达出生气不满的情绪。\nresult2: 语调急促上扬，表达气愤之情。\nresult3: 语调急促，表达出不服气的情绪。\nresult4: 语调急促，表达出不服气的情绪。\nresult5: 语调急促，表达气愤的情绪。\n\nfile: tx_emotion_00403000482.wav\norigin: 内心感到兴奋不已，十分刺激\nresult: 内心激动，兴奋不已\nresult2: 内心激动，兴奋不已\nresult3: 内心激动，兴奋不已\nresult4: 内心激动，兴奋不已\nresult5: 内心激动，兴奋不已\n\nfile: tx_emotion_00201000220.wav\norigin: 悲痛到无法自拔\nresult: 悲痛大，悲伤欲绝\nresult2: 心酸失望，声音颤抖\nresult3: 心酸失望，悲痛不已\nresult4: 悲痛大，悲伤欲绝\nresult5: 心酸失望，声音颤抖\n\nfile: tx_emulate_01_032_0018_000042.wav\norigin: 声音高扬，语调顿挫，语气里带着撒娇，十分生气的，啥话都听不进去的感觉\nresult: 语气有些傲慢，情绪中带着些许的不耐烦。\nresult2: 语气有些傲慢，情绪中带着些许的不耐烦。\nresult3: 语气有些傲慢，情绪中带着些许的不耐烦。\nresult4: 语气有些傲慢，情绪中带着些许的不耐烦和不满。\nresult5: 语气有些傲慢，情绪中带着些许的不耐烦。\n\nfile: tx_emotion_00403000451.wav\norigin: 心里甚是开心，喜悦\nresult: 高兴极了，愉悦心情\nresult2: 内心很是愉悦，开心快乐\nresult3: 心里兴奋欢喜\nresult4: 心里兴奋欢喜\nresult5: 心里兴奋欢喜\n\nfile: tx_emulate_01_205_0002_000018.wav\norigin: 语调低沉有力，语气冷淡，内心充满烦躁和不悦\nresult: 语调轻柔细软，带有些许的不耐烦之意，内心充满疑问和疑惑，流露出好奇\nresult2: 语调冷淡急促，轻声细语，内心充满疑惑和不理解，带有些许的关切\nresult3: 语调低沉急促，声音中带有些许的不耐烦之意，内心充满疑惑\nresult4: 语调冷淡急促，轻声细语，内心充满疑惑和不理解，带有些许的无奈\nresult5: 语调低沉急促，内心充满疑惑和不解，带有些许的关切\n\nfile: tx_emulate_02_008_0020_000108.wav\norigin: 声音淡淡，语速较缓，言语间充满了诱惑\nresult: 语气轻快，情绪中带着些许傲慢的不屑。\nresult2: 语速较慢，情绪中带着一丝不屑\nresult3: 语速很快，声音淡定，情绪中带着一丝傲慢。\nresult4: 语气轻快，言语间充满了傲慢和藐视\nresult5: 语速较快，情绪中带着一丝傲慢\n\nfile: tx_emotion_00302000224.wav\norigin: 情绪失控，随时会爆发\nresult: 很生气，悲哀\nresult2: 很生气，悲愤\nresult3: 很生气，伤心难过\nresult4: 很生气，又平静下来\nresult5: 很生气，悲愤\n\nfile: tx_emotion_00306000261.wav\norigin: 对新鲜事物有着强烈的好奇心\nresult: 感到不解\nresult2: 感到不解\nresult3: 感到不解\nresult4: 感到不解\nresult5: 感到不解\n\nfile: tx_emulate_01_033_0004_000039.wav\norigin: 语速稍慢，情绪有一丝尴尬，语气有些遮遮掩掩的感觉\nresult: 语气很重，声音充满好奇，还有一点不解的情绪\nresult2: 语气充满好奇，心里面很是疑惑。\nresult3: 语气充满好奇，心里面有点纳闷。\nresult4: 语气充满好奇和惊讶，还有一点的不解...\nresult5: 语气充满的好奇，心里面很是诧异。\n\nfile: tx_emotion_00301000203.wav\norigin: 极端的伤心，心里悲痛，心如刀割\nresult: 忧伤，伤心难过，情绪激动失望。\nresult2: 忧伤，伤心难过，情绪激动失望。\nresult3: 忧伤，伤心难过，情绪激动失望。\nresult4: 忧伤，伤心难过，情绪激动失望。\nresult5: 忧伤，伤心难过，情绪激动失望。\n\nfile: tx_xiao_0200105000715.wav\norigin: 声音坚毅，语气愤怒中透露出不满。\nresult: 语调较高，声音中充满了气愤的情绪。\nresult2: 语调很高，情绪中透露出不满和恼怒。\nresult3: 语调较高，声音中充满了气愤的情绪。\nresult4: 语调较高，声音高昂，情绪中透露出恼怒。\nresult5: 语调较高，声音中充满了气愤的情绪。\n\nfile: tx_xiao_0100103000069.wav\norigin: 声音亲切，语调平稳，流露出喜爱和宠溺，心情好\nresult: 声音清脆，语速适中，带有愉悦和欣喜。\nresult2: 声音清脆，语气中充满了喜悦和欣喜。\nresult3: 声音清脆，语速适中，带有愉悦和欣喜。\nresult4: 声音高昂，语气中充满了喜悦和欣喜。\nresult5: 声音清脆，语速适中，带有愉悦和欣喜。\n\nfile: tx_emulate_00_110_0002_000028.wav\norigin: 声音很喜气洋洋的，欢快轻松的语调展现内心的欢愉\nresult: 心情很好，语调高亢轻快，带有喜悦和愉悦之感\nresult2: 心情很好，语调轻快欢快，内心很高兴很开心。\nresult3: 心情很好，语调轻柔昂扬，内心很高兴很开心。\nresult4: 心情很好，语调轻柔流畅，带有欢快的情绪。\nresult5: 心情很好，语调轻快欢快，内心很高兴很开心。\n\nfile: tx_emulate_01_008_0017_000077.wav\norigin: 声音坚定，语气中透露出执着的情感。\nresult: 语气非常的严肃，态度很庄重\nresult2: 语气非常的严肃，让人听着很是庄重。\nresult3: 语气非常的严肃，让人们感受到了说话者内心强烈的感受。\nresult4: 语气非常的严肃，说话者情绪很沉稳。\nresult5: 语气非常的严肃，让人觉得很有底气的感觉。\n\nfile: tx_emulate_02_260_0002_000105.wav\norigin: 情绪低落，声音拉长，语气中含有一丝无奈、难过\nresult: 语调低沉，情绪低落，声音中带有一点无奈\nresult2: 语调低沉，声音中带着些许的无奈和无助，凸显了说话者内心的无力感\nresult3: 语调低沉，情绪低落，声音中带有一丝无奈\nresult4: 语调低沉，情绪低落，声音中带有一点无奈\nresult5: 语调低沉，情绪低落，声音中带有一点无奈\n\nfile: tx_emotion_00203000095.wav\norigin: 想起过去的温馨场面，心里很是温暖，开心\nresult: 愉快高兴，心情舒畅\nresult2: 心里愉快，心情舒畅\nresult3: 心里愉快，心情愉悦快乐\nresult4: 愉快高兴，心情舒畅\nresult5: 心里愉快，心情舒畅\n\nfile: tx_emulate_01_004_0006_000023.wav\norigin: 言语中充满了喜悦，情绪十分激动，心情很是舒畅。\nresult: 语速较快，言语间充满不悦\nresult2: 语速较快，言语间充满不悦\nresult3: 语速较快，言语间充满不悦\nresult4: 语速较快，言语间充满不悦\nresult5: 语速较快，言语间充满不悦\n\nfile: tx_xiao_0200103000124.wav\norigin: 因为事情最后得到好的结果而高兴，语气中带有欢欣庆幸之情\nresult: 语气轻快，充满期待和欣喜。\nresult2: 语气轻快，充满期待和欣喜。\nresult3: 语气轻快，充满期待和欣喜。\nresult4: 语气轻快，充满期待和欣喜。\nresult5: 语气轻快，充满期待和欣喜。\n\nfile: tx_emotion_00401000087.wav\norigin: 对往事的回忆，不禁发出感叹\nresult: 忧郁，伤感\nresult2: 忧郁，伤感\nresult3: 忧郁，伤感\nresult4: 忧郁，伤感\nresult5: 沉静，内敛 语气平缓\n\nfile: tx_emotion_00303000211.wav\norigin: 心情快乐舒畅\nresult: 心情十分开心，高兴\nresult2: 心情十分开心，高兴\nresult3: 心情十分开心，高兴\nresult4: 心情十分开心，高兴\nresult5: 心情十分开心，高兴\n\nfile: tx_emotion_00203000485.wav\norigin: 心情十分愉快，畅快\nresult: 心里愉快，心情舒畅\nresult2: 心里愉快，心情舒畅\nresult3: 心里愉快，心情舒畅\nresult4: 心里愉快，心情舒畅\nresult5: 心里愉快，心情舒畅\n\nfile: tx_xiao_0200103000153.wav\norigin: 语速较快，声音较为高涨充满了开心愉快的情绪\nresult: 情绪激动，语气轻快，内心充满喜悦和快乐。\nresult2: 情绪激动，语气轻快，喜悦和欣喜。\nresult3: 情绪高涨，语气轻快，喜悦和欣喜\nresult4: 情绪高涨，语气轻快，内心充满喜悦和快乐\nresult5: 情绪高涨，语气轻快，喜悦和欣喜\n\nfile: tx_emulate_02_039_0003_000072.wav\norigin: 声音高扬，语调渐重，话语中带着怒气，心情极度的不满的感觉\nresult: 语速很快，语调较高，声音中透露着一种愤怒的心情，凸显出说话者内心的怒火。\nresult2: 语速较快，语调很高，声音中透露着一种愤怒的情绪，凸显出说话者内心的怒火。\nresult3: 语速很快，语调较高，声音中透露着一种愤怒的心情，凸显出说话者内心的怒火。\nresult4: 语速很快，语调较高，声音中透露着一种愤怒的情绪，凸显出说话者内心的激动。\nresult5: 语速很快，语调较高，声音中透露着一种愤怒的情绪，凸显出说话者内心的怒火。\n\nfile: tx_xiao_0200104000718.wav\norigin: 声音急切，语气恼怒中透露出执拗。\nresult: 声音大，语速较快，情绪激动愤怒\nresult2: 声音大，语速较快，情绪激动而急切。\nresult3: 声音大，语速较快，情绪激动\nresult4: 声音大，语速较快，情绪激动愤怒\nresult5: 声音大，语速较快，情绪激动\n\nfile: tx_emulate_00_111_0001_000023.wav\norigin: 语气中充满了惊讶，心情分外的愉悦，强压制住心中的喜悦。\nresult: 语气轻快，内心充满好奇。\nresult2: 语气轻快，情绪中透露着期待和好奇。\nresult3: 语气轻快，内心充满好奇与期待。\nresult4: 语气轻快，内心充满好奇。\nresult5: 语气轻快，内心充满好奇和试探。\n\nfile: tx_emulate_00_112_0002_000070.wav\norigin: 声调上扬，语气轻松愉快，情绪很高\nresult: 声音轻快，语气轻松，话语里带着喜悦的情绪。\nresult2: 声音轻快，语气轻松，话语里带着喜悦的情绪。\nresult3: 声音轻快，语气轻松，话语里带着喜悦的情绪。\nresult4: 声音轻快，语气轻松，话语里带着喜悦的情绪。\nresult5: 声音轻快，语气轻松，话语里带着喜悦和欢喜的情绪。\n\nfile: tx_emulate_00_102_0004_000088.wav\norigin: 声音高昂，情绪十分激动，内心十分不愿意相信\nresult: 情绪激动，内心极度的不满和气愤。\nresult2: 情绪激动，内心极度的不满和气愤。\nresult3: 情绪激动，内心极度的不满和气愤\nresult4: 情绪激动，内心极度的不满和气愤。\nresult5: 情绪激动，心里非常的不满和气愤。\n\nfile: tx_emotion_00303000130.wav\norigin: 心情十分高兴，乐在其中。\nresult: 快乐而喜悦\nresult2: 快乐而喜悦\nresult3: 快乐而喜悦\nresult4: 快乐而喜悦\nresult5: 快乐而喜悦\n\nfile: tx_emotion_00409000228.wav\norigin: 意外的感觉，感到震撼\nresult: 在言语中炫耀，还很兴奋的样子\nresult2: 在某件事上感到很是赞叹\nresult3: 在言语中不自觉的称赞和赞叹\nresult4: 在言语中不自觉的称赞和赞叹\nresult5: 在言语中炫耀，还很兴奋的样子\n\nfile: tx_emulate_00_109_0004_000042.wav\norigin: 心情有点着急，语气表达出自己的关心，态度很诚恳，温和。\nresult: 声音高扬，语速较快，话语里带着嫌弃的情绪。\nresult2: 声音高扬，语速较快，话语里带着嫌弃的情绪。\nresult3: 声音高扬，语速较快，话语里带着嫌弃的情绪。\nresult4: 声音高扬，语速较快，话语中带着嫌弃的情绪。\nresult5: 声音高扬，语速较快，话语里带着责备的情绪。\n\nfile: tx_emulate_02_041_0002_000076.wav\norigin: 声音高亢，语速很快，声音激昂，情绪十分的激动\nresult: 语速较快，情绪中透露着一丝不悦的感觉\nresult2: 语速较快，情绪中透露着一丝不悦的感觉\nresult3: 语速较快，情绪中带着一丝不悦的感觉\nresult4: 语速较快，声音较高，情绪中带着一丝不悦的感觉\nresult5: 语速较快，情绪中带着一丝不悦的感觉\n\nfile: tx_emulate_00_123_0009_000012.wav\norigin: 语气柔和，态度温和，心情放松很愉快。\nresult: 语气很温柔，语调低沉，表达了关心和体贴的态度\nresult2: 语气温和，语调低沉，表达了关心和体贴\nresult3: 语气温和，语调柔和，表达了关心的心情\nresult4: 语气温和，语调柔和，表达了关心的态度。\nresult5: 语气温和，语调低沉，表达了关心和体贴的态度\n\nfile: tx_emotion_00205000110.wav\norigin: 心里苦楚，内心悲伤，悲痛，委屈\nresult: 很生气，心里委屈\nresult2: 很生气，心里委屈\nresult3: 很生气，心里委屈\nresult4: 很生气，心里委屈\nresult5: 很生气，心里委屈\n\nfile: tx_emulate_02_238_0002_000034.wav\norigin: 声音高扬，气势汹汹，语气中带有抱怨，非常不满。\nresult: 声音高扬，语速较快，情绪中带着厌烦和不满。\nresult2: 声音高扬，语速较快，情绪中带着厌烦和不满。\nresult3: 声音高扬，语速较快，情绪中带着厌烦和不满。\nresult4: 声音高扬，语速较快，情绪中带着厌烦和不满。\nresult5: 声音高扬，语速较快，情绪中带着厌烦和不满。\n\nfile: tx_xiao_0200103000535.wav\norigin: 感到一种豪放不羁的发自肺腑的快活与满足\nresult: 内心充满着喜悦和满足，声音较大语速较快\nresult2: 内心充满欣喜，语调昂扬上扬，声音铿锵有力\nresult3: 内心充满了喜悦和满足，语气中带有欣喜之情\nresult4: 内心充满着喜悦的情绪，声音较大语速较快\nresult5: 情绪激动，语速较快，声音带有欣喜之情\n\nfile: tx_emulate_01_202_0001_000005.wav\norigin: 语调轻柔急促，内心充满好奇与焦躁\nresult: 言语里面充满的担心和不安，心里面非常的害怕。\nresult2: 言语里面充满的担心，心里面很是害怕。\nresult3: 言语里面充满的担心，心里面非常的害怕。\nresult4: 言语里面充满的担忧，心里面非常的害怕和不安\nresult5: 言语里面充满的担忧，心里面非常的不安和害怕\n\nfile: tx_emotion_00303000465.wav\norigin: 很开心很愉悦\nresult: 快乐而喜悦\nresult2: 快乐而喜悦\nresult3: 快乐而喜悦\nresult4: 快乐而喜悦\nresult5: 快乐而喜悦\n\nfile: tx_xiao_0100103000017.wav\norigin: 心情满足，语气中充满开心的情感，十分愉悦\nresult: 语气抑扬顿挫，流露出难以抑制的兴奋和欣喜。\nresult2: 语气抑扬顿挫，流露出内心的兴奋和欣喜。\nresult3: 语气抑扬顿挫，流露出内心的兴奋和欣喜。\nresult4: 语气抑扬顿挫，流露出的兴奋和欣喜。\nresult5: 语气抑扬顿挫，流露出内心的兴奋和欣喜。\n\nfile: tx_emotion_00202000395.wav\norigin: 教育别人，充满坚定的语气，还带有愤怒\nresult: 很生气，气愤不已，恼怒。\nresult2: 很生气，愤怒不已，气愤不已\nresult3: 很生气，气愤不已，恼怒。\nresult4: 很生气，气愤不已，恼怒。\nresult5: 很生气，愤怒不已，心里悲痛\n\nfile: tx_emotion_00409000007.wav\norigin: 言语里满是惊讶之意\nresult: 对某物或某事的惊讶之情\nresult2: 对某物或某事的惊讶之情\nresult3: 对某物或某事的惊讶之情\nresult4: 对某物或某事的惊讶之情\nresult5: 为之惊叹服众\n\nfile: tx_emotion_00302000107.wav\norigin: 充满正气，情绪激动\nresult: 很生气，伤心难过\nresult2: 很生气，伤心难过\nresult3: 很生气，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，伤心难过\n\nfile: tx_xiao_0100104000141.wav\norigin: 声音字正腔圆，语速快音调高，难以遏制心中的怒火\nresult: 语调高昂，情绪中透露出内心的不耐烦。\nresult2: 语调高昂，情绪中带着不耐烦的怒气\nresult3: 语调高昂，情绪中透露出不耐烦的怒气。\nresult4: 语调高昂，情绪中透露出不耐烦的怒气。\nresult5: 语调高昂，情绪中透露出内心的不耐烦。\n\nfile: tx_emulate_02_042_0001_000128.wav\norigin: 声音微扬，语速缓慢，情绪中带着一些担心，十分不安的情绪\nresult: 语速快，情绪中带着一丝担忧和不安。\nresult2: 语速快，情绪中带着一丝担忧和不安。\nresult3: 语速快，情绪中带着一丝担忧和不安。\nresult4: 语速快，情绪中带着一丝担忧和不安。\nresult5: 语速快，情绪中带着一丝担忧和不安。\n\nfile: tx_emulate_01_005_0005_000022.wav\norigin: 语气不坚定，声音重心在前，情绪略有起伏，\nresult: 语速很快，声音高昂，情绪中带着困惑。\nresult2: 语速较快，情绪高涨，心情激动。\nresult3: 语速较快，情绪高涨，心情激动。\nresult4: 语速很快，声音高昂，情绪中带着不可思议。\nresult5: 语速较快，情绪上扬，心情激动。\n\nfile: tx_emotion_00304000169.wav\norigin: 对事情的气愤\nresult: 愤怒而更加气愤\nresult2: 愤怒而更加气愤\nresult3: 愤怒而更加气愤\nresult4: 愤怒而更加气愤\nresult5: 愤怒而更加气愤\n\nfile: tx_xiao_0100101000439.wav\norigin: 声音较小，语速较慢。充满了难过无奈的语气，喃喃自语的感觉\nresult: 语气中充满了浓浓的不舍与伤感。\nresult2: 语气中充满了低沉的情绪，感受到难过与伤心。\nresult3: 语气中充满了浓浓的不舍和难过。 说话的声音比较低沉\nresult4: 语气中充满了伤心难过的情绪\nresult5: 语气中充满浓浓的情绪，还有一丝不舍。声音适中伤感\n\nfile: tx_emulate_01_203_0001_000002.wav\norigin: 语气不爽，言语里满是不快，非常的生气和恼怒\nresult: 言语急促，语速很快，情绪激动\nresult2: 言语急促，语速很快，情绪激动\nresult3: 言语急促，语速较快，情绪激动\nresult4: 言语急促，语速很快，情绪激动\nresult5: 言语急促，语速很快，情绪激动\n\nfile: tx_emotion_00209000026.wav\norigin: 心情愉悦，开心极了\nresult: 语气中不掩饰的佩服，惊叹\nresult2: 语气中不掩饰的佩服，惊叹\nresult3: 语气中透露的不解情绪，感到惊讶\nresult4: 语气中不经意，感到惊讶\nresult5: 语气中不掩饰的佩服，惊叹\n\nfile: tx_emotion_00304000049.wav\norigin: 语气激动，语调愤怒，声音洪亮，怒不可遏\nresult: 充满了怒气\nresult2: 充满了怒气\nresult3: 充满了怒气\nresult4: 充满怒气\nresult5: 愤怒，语气激动，声音洪亮，怒发冲冠\n\nfile: tx_emotion_00207000211.wav\norigin: 抱着希望，结果却是深深的失望\nresult: 感觉很痛苦，内心十分悲痛\nresult2: 感觉很痛苦，内心十分悲痛\nresult3: 感觉很痛苦，内心十分悲痛\nresult4: 很悲哀的情绪\nresult5: 非常的伤心，内心很悲痛\n\nfile: tx_xiao_0100106000332.wav\norigin: 声音轻柔，语气里透露出猜疑。\nresult: 感到某事很不可思议，充满疑惑之情。\nresult2: 感到某件事很蹊跷，语气里透露出一种疑惑。\nresult3: 感到某事不可思议，充满疑惑的语气。\nresult4: 感到某事很不可思议，充满疑惑的语气。\nresult5: 感到某事很不可思议，充满疑惑的语气。\n\nfile: tx_emotion_00202000118.wav\norigin: 发泄积在心中的委屈和气愤\nresult: 很生气，气愤，伤心，委屈\nresult2: 很生气，气愤，伤心，委屈\nresult3: 很生气，气愤，伤心，委屈\nresult4: 很生气，气愤，伤心，委屈\nresult5: 很生气，气愤，伤心，委屈\n\nfile: tx_emulate_02_222_0001_000017.wav\norigin: 说话尾音上扬，语气里透露出了浓浓的不悦和不解。\nresult: 语调上扬，情绪中透露出浓浓的不满和不解。\nresult2: 语调上扬，情绪中带着一丝不耐烦。\nresult3: 语气中透露出内心的不理解，很是纳闷。\nresult4: 语调上扬，情绪中透露出内心的不满和不理解。\nresult5: 语调上扬，情绪中带着不满和不耐烦\n\nfile: tx_emotion_00309000349.wav\norigin: 语气惊喜，略带兴奋\nresult: 感到心满意意\nresult2: 感到心满意意\nresult3: 感到心满意意\nresult4: 感到心满意意\nresult5: 感到心满意意\n\nfile: tx_emulate_02_257_0002_000038.wav\norigin: 语气高亢，带着责骂的声音，怒气和怒火十分明显。\nresult: 语速很快，声音清脆，表达内心的无奈和不满\nresult2: 语速较快，言语中充满了无奈和不满\nresult3: 语速很快，声音清脆，情绪中带着一丝无奈和气愤\nresult4: 语气不悦，言语中透出内心的无奈和不满\nresult5: 语速很快，言语中充满了无奈和气愤\n\nfile: tx_emotion_00205000105.wav\norigin: 心里苦楚，内心悲伤，悲痛，委屈\nresult: 很生气，伤心难过\nresult2: 很生气，伤心难过\nresult3: 很生气，伤心难过\nresult4: 很生气，伤心难过\nresult5: 很生气，伤心难过\n\nfile: tx_xiao_0100107000449.wav\norigin: 语气较为缓和，声音略有凄凉之感，情绪中满是无法纾解的冤枉。\nresult: 语气坚定，情绪中还夹杂着委屈和难过\nresult2: 语气坚定，情绪中还夹杂着委屈和难过\nresult3: 语气坚定，情绪中透出委屈和难过。\nresult4: 语气坚定，情绪中带有委屈和难过\nresult5: 语气坚定，情绪中带有委屈和难过\n\nfile: tx_emulate_00_185_0002_000007.wav\norigin: 声音轻快，高兴而喜悦，内心各种的顺畅与如意。\nresult: 语速快，声音高扬，话语中带着羡慕和不解的情绪，内心很是开心；\nresult2: 语气轻快，言语中透出内心的喜悦与喜爱。\nresult3: 语气轻快，声音高扬，情绪很是欣喜，内心极度开心；\nresult4: 语气轻快，言语中透出内心的欣慰与喜悦。\nresult5: 语速快，声音高扬，话语里透出内心的欣慰与喜悦。\n\nfile: tx_xiao_0200103000187.wav\norigin: 语气里带着感叹，情绪表露出欣慰和开心。\nresult: 情绪激动，非常开心和兴奋。\nresult2: 情绪激动，非常开心和兴奋。\nresult3: 情绪激动，感到无比的满足和幸福。\nresult4: 情绪激动，感到无比的满足和幸福。\nresult5: 情绪激动，非常开心和兴奋。\n\nfile: tx_emotion_00303000158.wav\norigin: 心情快乐舒畅\nresult: 快乐和喜悦\nresult2: 快乐和喜悦\nresult3: 快乐和喜悦\nresult4: 快乐和喜悦\nresult5: 快乐和喜悦\n\nfile: tx_emotion_00206000235.wav\norigin: 充满疑问的语气，和不解的语调\nresult: 对某件事好奇\nresult2: 对某件事有疑问，想要知道\nresult3: 对某件事好奇\nresult4: 对某件事有疑问，想要知道\nresult5: 对某件事好奇\n\nfile: tx_emotion_00401000242.wav\norigin: 让人觉得很凄凉，可悲的样子\nresult: 忧伤悲痛，伤心不已\nresult2: 忧伤悲痛，伤心不已\nresult3: 忧伤悲痛，伤心不已\nresult4: 忧伤悲痛，伤心不已\nresult5: 忧伤悲痛，伤心不已\n\nfile: tx_emotion_00209000269.wav\norigin: 非常愉快、高兴\nresult: 感到吃惊、出乎意的\nresult2: 吃惊，内心疑惑\nresult3: 吃惊，内心疑惑\nresult4: 吃惊，内心疑惑\nresult5: 感到吃惊、叹息\n\nfile: tx_emulate_02_045_0001_000001.wav\norigin: 语调下降，语气很坚定温柔，透露着一种真诚的感觉\nresult: 语气中透露着慌乱，音调升高，流露出一丝惶恐之感。\nresult2: 语速变快，音调升高，话语中透露着慌张的情绪。\nresult3: 语调升高，声音中透露着一丝慌张，流露内心的不安。\nresult4: 语速变快，音调升高，话语中透露着慌张的情绪。\nresult5: 语速变快，音调升高，话语中透露着慌张的情绪。\n\nfile: tx_xiao_0100103000202.wav\norigin: 声音带有一种快乐和幸福\nresult: 语气轻快，带有愉悦和欣喜。\nresult2: 语气轻快，带有一种喜悦和欣喜。\nresult3: 语气轻快，带有愉悦和欣喜。\nresult4: 语气轻快，带有愉悦和欣喜。\nresult5: 语气轻快，带有愉悦和欣喜\n\nfile: tx_emotion_00210000272.wav\norigin: 奔溃大哭，无法控制自己的情绪\nresult: 难过难受，无法控制自己的情绪\nresult2: 难过难受，无法控制自己的情绪\nresult3: 难过难受，无法控制自己的情绪\nresult4: 难过难受，无法控制自己的情绪\nresult5: 难过难受，无法控制自己的情绪\n\nfile: tx_emotion_00203000019.wav\norigin: 喜悦的心情，喜悦的言辞\nresult: 内心满是喜悦，心花怒放\nresult2: 高兴，心花怒放\nresult3: 内心满是喜悦，心花怒放\nresult4: 内心满是喜悦和欢喜，开心极了\nresult5: 高兴，心花怒放\n\nfile: tx_emotion_00203000486.wav\norigin: 因某事的如意而高兴无比\nresult: 欢快，心情舒畅\nresult2: 欢快，心情舒畅\nresult3: 欢快，心情舒畅\nresult4: 欢快，心情舒畅\nresult5: 欢快，心情舒畅\n\nfile: tx_emulate_01_026_0005_000031.wav\norigin: 语速较快，内心感到不满意，语气里充满嫌弃和不高兴。\nresult: 语气比较强硬，话语中透露着内心的不耐烦和不满\nresult2: 语气激烈，表达内心的不耐烦和不满。\nresult3: 语气轻快，话语中透露着不耐烦的情绪\nresult4: 语气激烈，表达内心的不满和不耐烦\nresult5: 语气轻快，话语中透露着内心的不耐烦和不满\n\nfile: tx_xiao_0200101000712.wav\norigin: 语气失落，声音里透露出自责与懊悔。\nresult: 语气低沉，情绪中透露出难过。\nresult2: 语气低沉，情绪中透露出难过。\nresult3: 情绪低落，语调平缓，流露难过\nresult4: 语气低沉，声音中透露出难过的情绪。\nresult5: 情绪低落，语调平缓，流露难过\n\nfile: tx_emulate_02_233_0001_000034.wav\norigin: 语气淡淡，情绪不高，心中充满了鄙夷看不起\nresult: 语速较快，情绪中透着内心的不满和不屑。\nresult2: 语速较快，情绪中透着内心的不满和不悦。\nresult3: 语速较快，情绪中透着内心的不满和不屑。\nresult4: 语速较快，情绪中透着内心的不满。\nresult5: 语速较快，情绪中带着不满和不屑。\n\nfile: tx_emotion_00203000128.wav\norigin: 言语中尽是喜悦欢喜之意\nresult: 愉悦于某物，心满意足\nresult2: 愉悦于某物，心满意足\nresult3: 愉悦于某物，心满意足\nresult4: 愉悦于某物，心满意足\nresult5: 愉悦于某物，心满意足\n\nfile: tx_emotion_00203000072.wav\norigin: 语气充斥着开心\nresult: 感到开心，激动\nresult2: 感到开心，激动\nresult3: 感到开心，激动\nresult4: 感到开心，激动\nresult5: 感到开心，激动\n\nfile: tx_emulate_02_042_0003_000154.wav\norigin: 声音高扬，语调和缓，语气中带着轻松，心情十分舒畅的感觉，很有信心\nresult: 语速较快，声音微扬，话语中带着犹豫和不解的情绪，内心有些迷惑\nresult2: 语速较慢，声音微扬，话语中带着犹豫和不解的情绪，内心有些迷惑的感觉\nresult3: 语速较快，声音微扬，内心有些疑惑，反问的感觉\nresult4: 语速较快，声音微扬，话语中带着疑惑和不解的情感，内心很迷惑\nresult5: 语速较慢，声音微扬，话语中带着疑惑和不解的情绪，内心有些迷惑的感觉\n\nfile: tx_emulate_01_007_0024_000091.wav\norigin: 声音高亢尖利，语调拔高，语气里带着凶狠和恼怒的情绪\nresult: 语速较快，语气不悦，表达内心的不满。\nresult2: 语速较快，语气不悦，突出心中的不满。\nresult3: 语速较快，语气不悦，突出心中的不满和责怪。\nresult4: 语速较快，语气不悦，表达内心的不满。\nresult5: 语速较快，语气不悦，突出心中的不满。\n\nfile: tx_xiao_0100101000408.wav\norigin: 心情极度悲伤，悲痛欲绝，连呼吸都痛，撕心裂肺。\nresult: 语气低落伤感，声音中透漏悲伤。\nresult2: 语气低落，声音中透着悲伤失落。\nresult3: 语气低落伤感，声音中透漏悲伤。\nresult4: 语气低落伤感，声音中透漏悲伤。\nresult5: 语气低落，声音中透漏悲伤。\n\n"
  },
  {
    "path": "scripts/inference.py",
    "content": "import sys\n\nsys.path.append(\"..\")\n\nfrom dataloader.dataloader import AudioMotionDataset, collate_fn\nfrom torch.utils.data import DataLoader\nfrom torch.utils.data import Dataset, DataLoader, RandomSampler\nfrom transformers import AutoTokenizer\nfrom model2 import MotionAudio\nfrom torch.nn import CrossEntropyLoss\nimport torch\nfrom lightning.pytorch import Trainer, LightningDataModule, LightningModule, Callback, seed_everything\nfrom lightning.pytorch.callbacks import ModelCheckpoint\nfrom lightning.pytorch.loggers import TensorBoardLogger\nimport lightning.pytorch as pl\nimport torch.optim as optim\nimport math\nimport argparse\nimport soundfile as sf\nimport torchaudio\nimport os\n\nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n    path=os.path.dirname(os.path.abspath(__file__))\n    path=os.path.dirname(path)\n    path=os.path.join(path,'dataset/wav/tx_emotion_00201000015.wav')\n    #you can change the wavdir to your own wav file\n    parser.add_argument(\"--wavdir\", type=str, default=path)\n    model=MotionAudio()\n\n    wavdir=parser.parse_args().wavdir\n\n    wav, sr = sf.read(wavdir)\n    if sr != 16000:\n        waveform = torchaudio.transforms.Resample(sr, 16000)(torch.tensor(wav).unsqueeze(0).to(torch.float32)).squeeze(0).numpy()        #print(sample_rate)\n    wavform=[waveform]\n\n    torch.cuda.empty_cache()\n    state_dict = torch.load(\"../model.ckpt\",map_location=torch.device('cpu'))\n    model.load_state_dict(state_dict)\n    model=model.to(torch.device('cuda'))\n    model.inference(wavform)"
  },
  {
    "path": "scripts/test.py",
    "content": "import os\nimport sys\nsys.path.append(\"..\")\n\nfrom dataloader.dataloader import AudioMotionDataset, collate_fn\nfrom torch.utils.data import DataLoader\nfrom torch.utils.data import Dataset, DataLoader, RandomSampler\nfrom transformers import AutoTokenizer\nfrom model2 import MotionAudio\nfrom torch.nn import CrossEntropyLoss\nimport torch\nfrom lightning.pytorch import Trainer, LightningDataModule, LightningModule, Callback, seed_everything\nfrom lightning.pytorch.callbacks import ModelCheckpoint\nfrom lightning.pytorch.loggers import TensorBoardLogger\nimport lightning.pytorch as pl\nimport torch.optim as optim\nimport math\n\n\npl.seed_everything(666)\nmodel=MotionAudio()\n    \nbatch_size=1\n\nAM_Dataset = AudioMotionDataset(\"../dataset/text.txt\",\"../dataset/wav.scp\",\"../dataset/fid2captions.json\")\nAM_Dataloader = DataLoader(AM_Dataset, batch_size=batch_size, shuffle=True, collate_fn=collate_fn,prefetch_factor=2,persistent_workers=True,num_workers=8)\n\ntorch.cuda.empty_cache()\nstate_dict = torch.load(\"../model.ckpt\",map_location=torch.device('cpu'))\nmodel.load_state_dict(state_dict)\ntorch.cuda.empty_cache()\n#In this case, we use 8 GPUs to test the model\n#It will take about 10 minutes to test the model on 8 V100 GPUs\n\ntrainer = pl.Trainer(\n    accelerator='gpu',\n    devices=8,\n    precision=\"32\"\n    )\n\n\ntrainer.test(model,AM_Dataloader)"
  },
  {
    "path": "scripts/train.py",
    "content": "from dataloader1 import AudioMotionDataset, collate_fn\nfrom torch.utils.data import DataLoader\nfrom torch.utils.data import Dataset, DataLoader, RandomSampler\nfrom transformers import AutoTokenizer\nfrom model2 import MotionAudio\nfrom torch.nn import CrossEntropyLoss\nimport torch\nfrom lightning.pytorch import Trainer, LightningDataModule, LightningModule, Callback, seed_everything\nfrom lightning.pytorch.callbacks import ModelCheckpoint\nfrom lightning.pytorch.loggers import TensorBoardLogger\nimport lightning.pytorch as pl\nimport torch.optim as optim\nimport math\n\n\npl.seed_everything(666)\nmodel=MotionAudio()\n    \nbatch_size=16\n#put your own dataset and json file here\nAM_Dataset = AudioMotionDataset(\"wav_train.scp\",\"fid2captions.json\")\nAM_Dataloader = DataLoader(AM_Dataset, batch_size=batch_size, shuffle=True, collate_fn=collate_fn,prefetch_factor=2,persistent_workers=True,num_workers=8)\n\n#create the train and val set\nlen_train=int(len(AM_Dataset)*0.9)\nlen_val=len(AM_Dataset)-len_train\n\ntrain_set,val_set=torch.utils.data.random_split(AM_Dataset,[len_train,len_val],generator=torch.Generator().manual_seed(666))\ntrain_loader=DataLoader(train_set, batch_size=batch_size, shuffle=True, collate_fn=collate_fn,prefetch_factor=2,persistent_workers=True,num_workers=8)\nval_loader=DataLoader(val_set, batch_size=batch_size, shuffle=False, collate_fn=collate_fn,prefetch_factor=2,persistent_workers=True,num_workers=8)\n\n#put your own checkpoint dir here\ncheckpoint_callback = ModelCheckpoint(\n        dirpath='yourckpt',\n        filename='mymodel2-{epoch:02d}-{train_loss:.5f}',\n        save_top_k=20,\n        every_n_epochs=5,\n        monitor='train_loss',\n        mode='min'\n    )\n\n\ntrainer = pl.Trainer(\n    profiler=\"simple\",\n    logger=TensorBoardLogger(name='my_model',save_dir='yourloggerdir'),\n    accelerator='gpu',\n    max_epochs=10000,\n    devices=8,\n    log_every_n_steps=50,\n    precision=\"16-mixed\",\n    callbacks=[checkpoint_callback],\n    #accumulate_grad_batches=4,\n    strategy=\"ddp_find_unused_parameters_true\"\n    )\n\n\ntrainer.fit(model, train_loader, val_loader)"
  },
  {
    "path": "tool/get_sentence_simi.py",
    "content": "from typing import List, Union\n\nimport numpy as np\nimport torch\nimport torch.nn.functional\nfrom transformers import BertTokenizer, BertModel\nimport torch\nfrom tqdm import tqdm\nimport sys\nimport json\nimport os\n\nclass SimiCal():\n    def __init__(self, device=torch.device('cuda')):        \n        # Load model from HuggingFace Hub\n        self.device = device\n        path=os.path.dirname(os.path.abspath(__file__))\n        path=os.path.dirname(path)\n        tokenizer_path=os.path.join(path,'weights/simi_berttokenizer')\n        model_path=os.path.join(path,'weights/simi_shibing624_text2vec-base-chinese-paraphrase')\n        self.tokenizer = BertTokenizer.from_pretrained(tokenizer_path)\n        self.model = BertModel.from_pretrained(model_path).to(device)\n\n    # Mean Pooling - Take attention mask into account for correct averaging\n    def mean_pooling(self, model_output, attention_mask):\n        token_embeddings = model_output[0]  # First element of model_output contains all token embeddings\n        input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()\n        return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)\n\n    def cos_sim(self, a: Union[torch.Tensor, np.ndarray], b: Union[torch.Tensor, np.ndarray]):\n        \"\"\"\n        Computes the cosine similarity cos_sim(a[i], b[j]) for all i and j.\n        :return: Matrix with res[i][j]  = cos_sim(a[i], b[j])\n        \"\"\"\n        if not isinstance(a, torch.Tensor):\n            a = torch.tensor(a)\n\n        if not isinstance(b, torch.Tensor):\n            b = torch.tensor(b)\n\n        if len(a.shape) == 1:\n            a = a.unsqueeze(0)\n\n        if len(b.shape) == 1:\n            b = b.unsqueeze(0)\n\n        a_norm = torch.nn.functional.normalize(a, p=2, dim=1)\n        b_norm = torch.nn.functional.normalize(b, p=2, dim=1)\n        return (a_norm * b_norm).sum(-1)\n\n    def __call__(self,inp1,inp2):\n        encoded_input1 = self.tokenizer(inp1, padding=True, truncation=True, return_tensors='pt').to(self.device)\n        encoded_input2 = self.tokenizer(inp2, padding=True, truncation=True, return_tensors='pt').to(self.device)\n        with torch.no_grad():\n            model_output1 = self.model(**encoded_input1)\n            model_output2 = self.model(**encoded_input2)\n        sentence_embeddings1 = self.mean_pooling(model_output1, encoded_input1['attention_mask'])\n        sentence_embeddings2 = self.mean_pooling(model_output2, encoded_input2['attention_mask'])\n        return self.cos_sim(sentence_embeddings1, sentence_embeddings2)\n\ndef test_SimiCal():\n    sentences1 = ['如何更换花呗绑定银行卡',] \n    sentences2 = ['花呗更改绑定银行卡',]\n    simical = SimiCal()\n    print(simical(sentences1, sentences2))\ndef calculate_mean_variance(lst):\n    n = len(lst)\n    if n < 1:\n        return None\n\n    mean = sum(lst) / n\n    variance = sum((x - mean) ** 2 for x in lst) / n\n\n    return mean, variance\ndef predictSimiWrapper(fpath):\n    simical = SimiCal()\n    dump_dict = []\n    with open(fpath,'r',encoding='UTF-8') as f:\n        pred1 = []\n        pred2 = []\n        pred3 = []\n        pred4=[]\n        pred5=[]\n        gt = [] \n        for line in f:\n            if('origin' in line):\n                gt.append(''.join(line.strip().replace('origin: ','').strip().split()))\n            elif('result:' in line):\n                pred1.append(line.strip().replace('result: ','').strip())\n            elif('result2' in line):\n                pred2.append(line.strip().replace('result2: ','').strip())\n            elif('result3' in line):\n                pred3.append(line.strip().replace('result3: ','').strip())\n            elif('result4' in line):\n                pred4.append(line.strip().replace('result4: ','').strip())\n            elif('result5' in line):\n                pred5.append(line.strip().replace('result5: ','').strip())\n    simi_scores1 = []\n    simi_scores2 = []\n    simi_scores3 = []\n    simi_scores4 = []\n    simi_scores5 = []\n    simi_scores=[]\n    steps = 1000\n    print(len(gt))\n    print(len(pred1))\n    print(len(pred2))\n    print(len(pred3))\n    print(len(pred4))\n    print(len(pred5))\n    for i in tqdm(range(0,len(gt),steps)):\n        try:\n            simi_scores1.append(simical(gt[i:i+steps], pred1[i:i+steps]).squeeze())\n        except:\n            print(\"error\")\n            print(len(gt[i:i+steps]))\n            print(len(pred1[i:i+steps]))\n        try:\n            simi_scores2.append(simical(gt[i:i+steps], pred2[i:i+steps]).squeeze())\n        except:\n            print(\"error\")\n            print(len(gt[i:i+steps]))\n            print(len(pred2[i:i+steps]))\n        try:\n            simi_scores3.append(simical(gt[i:i+steps], pred3[i:i+steps]).squeeze())\n        except:\n            print(\"error\")\n            print(len(gt[i:i+steps]))\n            print(len(pred3[i:i+steps]))\n        try:\n            simi_scores4.append(simical(gt[i:i+steps], pred4[i:i+steps]).squeeze())\n        except:\n            print(\"error\")\n            print(len(gt[i:i+steps]))\n            print(len(pred4[i:i+steps]))\n        try:\n            simi_scores5.append(simical(gt[i:i+steps], pred5[i:i+steps]).squeeze())\n        except:\n            print(\"error\")\n            print(len(gt[i:i+steps]))\n            print(len(pred5[i:i+steps]))\n    simi_scores1 = torch.cat(simi_scores1,0).detach().cpu()\n    simi_scores2 = torch.cat(simi_scores2,0).detach().cpu()\n    simi_scores3 = torch.cat(simi_scores3,0).detach().cpu()\n    simi_scores4 = torch.cat(simi_scores4,0).detach().cpu()\n    simi_scores5 = torch.cat(simi_scores5,0).detach().cpu()\n\n    simi_scores.append(simi_scores1.mean().item()*100)\n    simi_scores.append(simi_scores2.mean().item()*100)\n    simi_scores.append(simi_scores3.mean().item()*100)\n    simi_scores.append(simi_scores4.mean().item()*100)\n    simi_scores.append(simi_scores5.mean().item()*100)\n\n    acc5=[]\n    acc8=[]\n    acc6=[]\n    acc5.append(((simi_scores1 > 0.5).sum()/simi_scores1.shape[0]).item()*100)\n    acc5.append(((simi_scores2 > 0.5).sum()/simi_scores2.shape[0]).item()*100)\n    acc5.append(((simi_scores3 > 0.5).sum()/simi_scores3.shape[0]).item()*100)\n    acc5.append(((simi_scores4 > 0.5).sum()/simi_scores4.shape[0]).item()*100)\n    acc5.append(((simi_scores5 > 0.5).sum()/simi_scores5.shape[0]).item()*100)\n\n    acc8.append(((simi_scores1 > 0.8).sum()/simi_scores1.shape[0]).item()*100)\n    acc8.append(((simi_scores2 > 0.8).sum()/simi_scores2.shape[0]).item()*100)\n    acc8.append(((simi_scores3 > 0.8).sum()/simi_scores3.shape[0]).item()*100)\n    acc8.append(((simi_scores4 > 0.8).sum()/simi_scores4.shape[0]).item()*100)\n    acc8.append(((simi_scores5 > 0.8).sum()/simi_scores5.shape[0]).item()*100)\n\n    acc6.append(((simi_scores1 > 0.6).sum()/simi_scores1.shape[0]).item()*100)\n    acc6.append(((simi_scores2 > 0.6).sum()/simi_scores2.shape[0]).item()*100)\n    acc6.append(((simi_scores3 > 0.6).sum()/simi_scores3.shape[0]).item()*100)\n    acc6.append(((simi_scores4 > 0.6).sum()/simi_scores4.shape[0]).item()*100)\n    acc6.append(((simi_scores5 > 0.6).sum()/simi_scores5.shape[0]).item()*100)\n\n    simi_avg, simi_std = np.mean(simi_scores), np.std(simi_scores)\n    acc5_avg, acc5_std = np.mean(acc5), np.std(acc5)\n    acc8_avg, acc8_std = np.mean(acc8), np.std(acc8)\n    acc6_avg, acc6_std = np.mean(acc6), np.std(acc6)\n\n    print(\"simi_avg:{:.2f}+{:.2f}\".format(simi_avg, simi_std))\n    print(\"acc5_avg:{:.2f}+{:.2f}\".format(acc5_avg, acc5_std))\n    print(\"acc8_avg:{:.2f}+{:.2f}\".format(acc8_avg, acc8_std))\n    print(\"acc6_avg:{:.2f}+{:.2f}\".format(acc6_avg, acc6_std))\n\n    \n    \n\nif __name__==\"__main__\":\n    predictSimiWrapper(\"../result/result.txt\")\n\n"
  }
]