[
  {
    "path": "AutomaticPipeline/AgePreTrainModel.py",
    "content": "import numpy as np\nimport torch\nimport torch.nn as nn\nfrom transformers.models.wav2vec2.modeling_wav2vec2 import (\n    Wav2Vec2Model,\n    Wav2Vec2PreTrainedModel,\n)\nfrom torch.nn import functional as F\n\nclass ModelHead(nn.Module):\n    r\"\"\"Classification head.\"\"\"\n\n    def __init__(self, config, num_labels):\n\n        super().__init__()\n\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.dropout = nn.Dropout(config.final_dropout)\n        self.out_proj = nn.Linear(config.hidden_size, num_labels)\n\n    def forward(self, features, **kwargs):\n\n        x = features\n        x = self.dropout(x)\n        x = self.dense(x)\n        x = torch.tanh(x)\n        x = self.dropout(x)\n        x = self.out_proj(x)\n\n        return x\n\nclass AgeGenderModel(Wav2Vec2PreTrainedModel):\n    r\"\"\"Speech emotion classifier.\"\"\"\n\n    def __init__(self, config):\n\n        super().__init__(config)\n\n        self.config = config\n        self.wav2vec2 = Wav2Vec2Model(config)\n        self.age = ModelHead(config, 1)\n        self.init_weights()\n\n    def forward(\n            self,\n            input_values,\n    ):\n        outputs = self.wav2vec2(input_values)\n        hidden_states = outputs[0]\n        hidden_states = torch.mean(hidden_states, dim=1)\n        logits_age = self.age(hidden_states)\n\n        return logits_age\n"
  },
  {
    "path": "AutomaticPipeline/AutoPipeline.py",
    "content": "# coding=utf-8\nimport os\nimport argparse\nimport numpy as np\nimport torch\nimport librosa\nfrom typing import List, Optional, Union, Dict\nfrom tqdm import tqdm\nimport torchaudio\nfrom torch.utils.data import DataLoader\nfrom torch.nn import functional as F\nfrom transformers import (\n    AutoModelForAudioClassification,\n    Wav2Vec2Processor,\n    LlamaTokenizer,\n    AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline\n)\nfrom funasr import AutoModel\nimport sys\nsys.path.append('../SECap') # path to the directory of SECap\nfrom AgePreTrainModel import AgeGenderModel\nfrom model2 import MotionAudio\nfrom PitchEnergy import process_audio\nfrom g2p_en import G2p\ntorch.multiprocessing.set_start_method('spawn', force=True)\ndevice = \"cuda:0\" if torch.cuda.is_available() else \"cpu\"\ntorch_dtype = torch.float32\n\n\ndef to_device(tensors, device):\n    tensors_to_device = []\n    for tensor in tensors:\n        if isinstance(tensor, torch.Tensor):\n            tensors_to_device.append(tensor.to(device))\n        else:\n            tensors_to_device.append(tensor)\n    return tensors_to_device\n\nclass CustomDataset(torch.utils.data.Dataset):\n    def __init__(\n        self,\n        basedir: Optional[str] = None,\n        sampling_rate: int = 16000,\n        max_audio_len: int = 5,  \n        number: int=0,\n        num_devices: int=4\n    ):\n        self.num_devices = num_devices\n        self.number = number\n        self.basedir = basedir\n        self.sampling_rate = sampling_rate\n        self.max_audio_len = max_audio_len\n        self.dataset = []\n        self.category = []\n        self.text_tn = []\n        self.__preprocess__()  \n    \n    def __preprocess__(self):  \n        paths = []      \n        for dirname, subdirs, files in os.walk(self.basedir):\n            for filename in files:\n                if filename.startswith('.'):\n                    continue\n                if filename.endswith('.wav'):                    \n                    path = os.path.join(dirname, filename)\n                    paths.append(path)\n        subset_size = len(paths) // self.num_devices\n        self.dataset = paths[self.number * subset_size: (self.number+1) * subset_size]\n\n    def __len__(self):\n        \"\"\"\n        Return the length of the dataset\n        \"\"\"\n        return len(self.dataset)\n\n    def _cutorpad(self, audio: np.ndarray) -> np.ndarray:\n        \"\"\"\n        Cut or pad audio to the wished length\n        \"\"\"\n        effective_length = self.sampling_rate * self.max_audio_len\n        len_audio = len(audio)\n\n        # If audio length is bigger than wished audio length\n        if len_audio > effective_length:\n            audio = audio[:effective_length]\n        elif len_audio < effective_length:\n            audio_feature_tensor = torch.zeros(1, effective_length)\n            audio_feature_tensor[:len(audio)] = audio\n            audio = audio_feature_tensor\n        # Expand one dimension related to the channel dimension\n        return audio\n\n\n    def __getitem__(self, index) -> torch.Tensor:\n        \"\"\"\n        Return the audio and the sampling rate\n        \"\"\"\n        filepath = self.dataset[index]\n        speech_array, sr = librosa.load(filepath)\n        if len(speech_array)==0:\n            return None\n        speech_array = speech_array[:self.max_audio_len * sr]\n        speech_array = torch.Tensor(speech_array).unsqueeze(0)\n\n        # Transform to mono\n        if speech_array.shape[0] > 1:\n            speech_array = torch.mean(speech_array, dim=0, keepdim=True)\n\n        if sr != self.sampling_rate:\n            transform = torchaudio.transforms.Resample(sr, self.sampling_rate)\n            speech_array = transform(speech_array)\n        \n        speech_array = speech_array.squeeze().numpy()\n\n        return speech_array, filepath\n\nclass CollateFunc:\n    def __init__(\n        self,\n        w2v_processor: Wav2Vec2Processor,\n        max_length: Optional[int] = None,\n        padding: Union[bool, str] = True,\n        pad_to_multiple_of: Optional[int] = None,\n        sampling_rate: int = 16000,\n    ):\n        self.padding = padding\n        self.w2v_processor = w2v_processor\n        self.max_length = max_length\n        self.sampling_rate = sampling_rate\n        self.pad_to_multiple_of = pad_to_multiple_of\n\n    def __call__(self, batch: List):\n        audios = []\n        input_features = []\n        audiopaths = []\n        durations = []\n\n        for audio, audiopath in batch:\n            audios.append(audio)\n            audiopaths.append(audiopath)\n\n            input_tensor = self.w2v_processor(audio, sampling_rate=self.sampling_rate).input_values\n            input_tensor = np.squeeze(input_tensor)\n            input_features.append({\"input_values\": input_tensor})\n            durations.append(len(audio) / self.sampling_rate)\n\n        batch = self.w2v_processor.pad(\n            input_features,\n            padding=self.padding,\n            max_length=self.max_length,\n            pad_to_multiple_of=self.pad_to_multiple_of,\n            return_tensors=\"pt\",\n        )\n\n        return batch, audiopaths, durations\n\ndef age_predict(batch, model, device):\n    r\"\"\"Predict age from raw audio signal.\"\"\"\n    audios = batch.to(device)\n    preds = model(audios)\n    preds = preds.detach().cpu().numpy()\n    ages = [int(i*100) for i in preds]\n    return ages\n\ndef gender_predict(batch, model, device):\n    r\"\"\"Predict gender from raw audio signal.\"\"\"\n    G = ['female', 'male']\n    input_values, attention_mask = batch['input_values'].to(device), batch['attention_mask'].to(device)\n    logits = model(input_values, attention_mask=attention_mask).logits\n    scores = F.softmax(logits, dim=-1)\n    pred = torch.argmax(scores, dim=1).cpu().detach().numpy()\n    genders = [G[pred[i]] for i in range(len(pred))]\n    return genders\n\n# def emotion_predict(batch, model, device, feature_extractor):\ndef emotion_predict(audiopaths, model): \n    emotionlabels = ['angry', 'disgusted', 'fearful', 'happy', 'neutral', 'neutral', 'sad', 'surprised', 'neutral']\n    results = model.generate(audiopaths, granularity=\"utterance\", extract_embedding=False)\n    scores = [result['scores'] for result in results]\n    emotion_indexs = [score.index(max(score)) for score in scores]\n    emotions = [emotionlabels[emotion_index] for emotion_index in emotion_indexs]\n    return emotions\n\ndef pitch_energy_calculate(input_values):\n    r\"\"\"Predict pitch and energy from raw audio signal.\"\"\"\n    pitchs = []\n    energys = []\n    input_values = input_values.cpu().detach().numpy()\n    for audio in input_values:\n        mean_pitch, mean_energy = process_audio(audio, sr=16000)\n        pitchs.append(mean_pitch)\n        energys.append(mean_energy)\n    return pitchs, energys\n\ndef inference_on_device(device, i, num_devices, language, basedir, scp_path):\n\n    sampling_rate = 16000\n    batch_size = 4\n    gender_model_path = \"alefiury/wav2vec2-large-xlsr-53-gender-recognition-librispeech\"\n    age_model_path = \"audeering/wav2vec2-large-robust-24-ft-age-gender\"\n    asr_path = \"openai/whisper-medium\"\n    # asr_path = \"openai/whisper-large-v3\"\n    scp_path = scp_path[:-4]+'_'+str(i)+'.scp'\n\n    # Gender Predict    \n    gender_model = AutoModelForAudioClassification.from_pretrained(\n        pretrained_model_name_or_path = gender_model_path,\n        num_labels = 2,\n        label2id = { \"female\": 0, \"male\": 1 },\n        id2label = { 0: \"female\", 1: \"male\" },\n    )\n    gender_model.to(device)\n    gender_model.eval()\n    \n    # Age Predict\n    w2v_processor = Wav2Vec2Processor.from_pretrained(age_model_path)\n    age_model = AgeGenderModel.from_pretrained(age_model_path, use_auth_token=False)\n    age_model.to(device)\n    \n    #Emotion Predict\n    if language == 'english':\n        emotion_model = AutoModel(model=\"./models/emotion2vec_base_finetuned\", model_revision=\"v2.0.4\")\n    else:\n        emotion_model= MotionAudio()\n        llama_ckpt = \"../SECap/weights/models--minlik--chinese-llama-7b-merged/snapshots/1ca4d87576f1fef4d44a949fb65bbe6b96675872\"\n        llama_tokenizer = LlamaTokenizer.from_pretrained(llama_ckpt)\n        ckpt_path=\"../SECap/model.ckpt\"\n        torch.cuda.empty_cache()\n        state_dict = torch.load(ckpt_path, map_location=torch.device('cpu'))\n        emotion_model.load_state_dict(state_dict, strict=False)\n        emotion_model.to(device)\n\n    g2p_model = G2p()\n    \n    # ASR\n    asr_processor = AutoProcessor.from_pretrained(asr_path)\n    asr_model = AutoModelForSpeechSeq2Seq.from_pretrained(asr_path)\n    asr_model.to(device)\n    asr_pipe = pipeline(\n        \"automatic-speech-recognition\",\n        model=asr_model,\n        tokenizer=asr_processor.tokenizer,\n        feature_extractor=asr_processor.feature_extractor,\n        max_new_tokens=128,\n        chunk_length_s=30,\n        batch_size=batch_size,\n        return_timestamps=False,\n        torch_dtype=torch_dtype,\n        device=device,\n    )\n\n    inferset = CustomDataset(basedir, sampling_rate = sampling_rate, number = i, num_devices= num_devices)\n    data_collator = CollateFunc(\n        w2v_processor=w2v_processor,\n        padding=True,\n        sampling_rate=16000,\n    )\n    test_dataloader = DataLoader(\n        dataset=inferset,\n        batch_size=batch_size,\n        collate_fn=data_collator,\n        shuffle=False,\n        num_workers=0\n    ) \n    \n    with torch.no_grad():\n        for s, load_data in enumerate(tqdm(test_dataloader)):\n            audios, audiopaths, durations = to_device(load_data, device)\n            audio_features = audios['input_values']\n            transcripts = [asr_pipe(audio_features.numpy()[i], return_timestamps=False, generate_kwargs={\"language\": language})[\"text\"] for i in range(len(audiopaths))]\n            \n            ages = age_predict(audio_features, model=age_model, device=device)\n            genders = gender_predict(audios, model=gender_model, device=device)\n            pitchs, energys = pitch_energy_calculate(audio_features)\n    \n            if language == 'english':\n                phonemes = [g2p_model(transcripts) for i in range(len(audiopaths))]\n                speeds = [durations[i] / len(phonemes[i] ) for i in range(len(audiopaths))]\n                emotions = emotion_predict(audiopaths, model=emotion_model)\n            else:\n                speeds = [durations[i] / len(transcripts[i] ) for i in range(len(audiopaths))]\n                prompts = emotion_model.inference(audio_features.to(device))\n                emotions = llama_tokenizer.batch_decode(prompts,skip_special_tokens=True)\n            \n            with open(scp_path, 'a', encoding='utf-8') as file:\n               for i in range(len(audiopaths)):\n                   file.write(f\"{audiopaths[i].split('/')[-2]}\\t{audiopaths[i].split('/')[-1][:-4]}\\t{ages[i]}\\t{genders[i]}\\t{pitchs[i]}\\t{energys[i]}\\t{speeds[i]}\\t{emotions[i]}\\t{transcripts[i]}\\n\")\n\ndef main(args):\n\n    language = args.language\n    basedir = args.basedir\n    devices = list(map(int, args.devices.split(',')))\n    num_devices = len(devices)\n    scp_path = args.scp_path\n\n    processes = []\n    for i in range(num_devices):\n        device_num = devices[i]\n        device = torch.device(f'cuda:{device_num}')\n        p = torch.multiprocessing.Process(target=inference_on_device, args=(device, i, num_devices, language, basedir, scp_path))\n        p.start()\n        processes.append(p)\n    \n    for p in processes:\n        p.join()\n\n\n\nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--language', type=str, default = 'chinese')\n    parser.add_argument('--devices', type=str, default = '0')\n    parser.add_argument('--basedir', type=str, default = '../FastSpeech2/raw_data/AISHELL3/SSB0005')\n    parser.add_argument('--scp_path', type=str, default = './outputs/labels_AISHELL.scp')\n\n    args = parser.parse_args()\n    \n    main(args)\n"
  },
  {
    "path": "AutomaticPipeline/Clustering.py",
    "content": "import pandas as pd\nimport csv\nimport numpy as np\nimport argparse\nimport json\ndef assign_pitch_group(row, language, male_percentiles, female_percentiles):\n    if row['gender'] == 'male':\n        if row['pitch'] <= male_percentiles[0]:\n            return 'low' if language == 'en' else '低'\n        elif row['pitch'] <= male_percentiles[1]:\n            return 'normal' if language == 'en' else '中'\n        else:\n            return 'high' if language == 'en' else '高'\n    else: \n        if row['pitch'] <= female_percentiles[0]:\n            return 'low' if language == 'en' else '低'\n        elif row['pitch'] <= female_percentiles[1]:\n            return 'normal' if language == 'en' else '中'\n        else:\n            return 'high' if language == 'en' else '高'\n\ndef replace_age_with_text(row, language):\n    age = row['age']\n    if age < 14:\n        return \"Child\" if language == 'en' else '小孩'\n    elif age < 26:\n        return \"Teenager\" if language == 'en' else '少年'\n    elif age < 40:\n        return \"Young Adult\" if language == 'en' else '青年'\n    elif age < 55:\n        return \"Middle-aged\" if language == 'en' else '中年'\n    else:\n        return \"Elderly\" if language == 'en' else '老年'\n\n\ndef main(args):\n\n    input_path = args.input_path\n    language = args.language\n    df = pd.read_csv(input_path, encoding = 'utf-8', sep='\\t', header=None,  quoting=csv.QUOTE_NONE)\n    df.columns = ['filename1', 'filename2', 'age', 'gender', 'pitch', 'energy', 'speed', 'emotion', 'transcript']\n    df = df.dropna()\n    # df = df.dropna(subset=['pitch'])\n\n    male_percentiles = np.percentile(df[df['gender'] == 'male']['pitch'], [40, 90])\n    female_percentiles = np.percentile(df[df['gender'] == 'female']['pitch'], [10, 60])\n\n    df['age'] = df.apply(replace_age_with_text, axis=1, language = language)\n    df['pitch_group'] = df.apply(assign_pitch_group, axis=1, language = language, male_percentiles = male_percentiles, female_percentiles = female_percentiles)\n    df['energy_group'] = pd.qcut(df['energy'], 3, labels=[\"low\", \"normal\", \"high\"] if language=='en' else [\"低\", \"中\", \"高\"])\n    df['speed_group'] = pd.qcut(df['speed'], 3, labels=[\"fast\", \"normal\", \"slow\"] if language=='en' else [\"快\", \"中\", \"慢\"])\n\n    df_to_save = df[['filename1', 'filename2',  'age', 'gender', 'pitch_group', 'energy_group', 'speed_group', 'emotion', 'transcript']]\n    df_to_save.to_csv(input_path.replace('.scp', '_clusterd.scp'), sep='\\t', header=0, index=False,  quoting=csv.QUOTE_NONE)\n    \n    \n    result_dict = {}\n    for index, row in df_to_save.iterrows():\n        key = f\"{row['filename1']}_{row['filename2']}\"\n        if language == 'en':\n            value = (\n                f\"age:{row['age']}\\t\"\n                f\"gender:{row['gender']}\\t\"\n                f\"pitch:{row['pitch_group']}\\t\"\n                f\"volume:{row['energy_group']}\\t\"\n                f\"speed:{row['speed_group']}\\t\"\n                f\"emotion:{row['emotion']}\\t\"\n                f\"transcription:{row['transcript']}\"\n            )\n        else:\n            value = (\n                f\"语气：{row['emotion']}\\t\"\n                f\"年龄：{row['age']}\\t\"\n                f\"性别：{row['gender']}\\t\"\n                f\"音高：{row['pitch_group']}\\t\"\n                f\"音量：{row['energy_group']}\\t\"\n                f\"语速：{row['speed_group']}\"\n                f\"文本：{row['transcript']}\\t\"\n            )\n        result_dict[key] = {}\n        result_dict[key]['labels'] = value\n\n    with open(input_path.replace('.scp', '.json'), 'w', encoding='utf-8') as json_file:\n        json.dump(result_dict, json_file, ensure_ascii=False, indent=4)\n\n        \nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--language', type=str, default = 'en')\n    parser.add_argument('--input_path', type=str, default = './outputs/labels_LJspeech_0.scp')\n    args = parser.parse_args()\n    main(args)"
  },
  {
    "path": "AutomaticPipeline/PitchEnergy.py",
    "content": "import librosa\nimport numpy as np\n\ndef extract_pitch(wav, sr):\n    pitches, magnitudes = librosa.core.piptrack(y=wav, sr=sr)\n    return pitches\n\ndef calculate_mean_pitch(pitches):\n    return np.mean([np.mean(p[p > 0]) for p in pitches.T if np.sum(p > 0) > 0])\n\ndef process_audio(audio, sr):\n    pitches = extract_pitch(audio, sr = sr)\n    mean_pitch = calculate_mean_pitch(pitches)\n    energy = librosa.feature.rms(y=audio)\n    mean_energy = np.mean(energy[~np.isnan(energy)])\n\n    return mean_pitch, mean_energy"
  },
  {
    "path": "AutomaticPipeline/models/SECap/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_feature):\n        with torch.no_grad():\n            audio_feature=self.hubert_model(audio_feature).last_hidden_state\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\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(output_tokens)\n        return outputs\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": "AutomaticPipeline/outputs/labels_LJspeech_0.json",
    "content": "{\n    \"LJSpeech_LJ010-0227\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:sad\\ttranscription: He went from Newgate first to Bethlehem, from which he was removed to Broadmoor.\"\n    },\n    \"LJSpeech_LJ050-0106\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: to devise a practical system which has any reasonable possibility of revealing\"\n    },\n    \"LJSpeech_LJ043-0140\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: He also studied Dallas bus schedules to prepare for his later use of\"\n    },\n    \"LJSpeech_LJ018-0032\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: There was no mystery about his departure. He had gone to Canada by the Victoria\"\n    },\n    \"LJSpeech_LJ012-0117\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: By and by the occupant of the room noticed something glittering in the center of the fire.\"\n    },\n    \"LJSpeech_LJ038-0057\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: Deputy Sheriff Walther's brought a shotgun into the theater, but laid it on some\"\n    },\n    \"LJSpeech_LJ017-0158\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:happy\\ttranscription: She had a little fortune of her own, some 1,700 pounds\"\n    },\n    \"LJSpeech_LJ026-0094\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: This however is probably not a source of vital energy, but only contributes to the\"\n    },\n    \"LJSpeech_LJ045-0152\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: The events of that evening can best be appreciated through Marina Oswald's testimony.\"\n    },\n    \"LJSpeech_LJ019-0264\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: and it was decidedly of opinion that in all short sentences the hard labor\"\n    },\n    \"LJSpeech_LJ040-0047\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: That associate did not think that Oswald was a communist.\"\n    },\n    \"LJSpeech_LJ012-0015\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Weedon and LaCassar to 12 and 6 months respectively in cold baths.\"\n    },\n    \"LJSpeech_LJ019-0097\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:sad\\ttranscription: The want of uniformity in prison discipline became air long and acknowledged evil.\"\n    },\n    \"LJSpeech_LJ039-0093\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: at a distance of 265.3 feet was, quote,\"\n    },\n    \"LJSpeech_LJ018-0028\": {\n        \"labels\": \"age:Elderly\\tgender:female\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:sad\\ttranscription: who had been a lodger of his. Muehler had given the cabman's little daughter\"\n    },\n    \"LJSpeech_LJ028-0287\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:angry\\ttranscription: but found none by which he could hope to prevail unless he maimed himself.\"\n    },\n    \"LJSpeech_LJ024-0117\": {\n        \"labels\": \"age:Elderly\\tgender:female\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: You will find that many of those who pretend to support you will sabotage your plans.\"\n    },\n    \"LJSpeech_LJ029-0172\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: The two Dallas newspapers provided their readers with a steady stream of information and\"\n    },\n    \"LJSpeech_LJ024-0044\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:angry\\ttranscription: that I will appoint justices who will act as justices and not as\"\n    },\n    \"LJSpeech_LJ045-0246\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:normal\\temotion:sad\\ttranscription: He sought for himself a place in history, a role as the great\"\n    },\n    \"LJSpeech_LJ042-0191\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: While, quote, resourcefulness and patient working towards the aforesaid goal\"\n    },\n    \"LJSpeech_LJ050-0099\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: It is apparent that a good deal of further consideration and experimentation\"\n    },\n    \"LJSpeech_LJ017-0101\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: That day, Palmer had bought more strychnia and had called in a fresh doctor.\"\n    },\n    \"LJSpeech_LJ016-0388\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: A few go further and are almost gluttonous.\"\n    },\n    \"LJSpeech_LJ007-0129\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:normal\\temotion:angry\\ttranscription: the sane and the insane, the young and the old, the trivial offender and the\"\n    },\n    \"LJSpeech_LJ014-0195\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: Two of them supported Cope, who was still alive, although insensible, and Marley\"\n    },\n    \"LJSpeech_LJ027-0056\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:happy\\ttranscription: The relation of skeleton and muscle in arthropods is exactly the reverse.\"\n    },\n    \"LJSpeech_LJ030-0227\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Special Agent George W. Hickey Jr. in the rear seat of the Presidential\"\n    },\n    \"LJSpeech_LJ047-0210\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: I think all of those, if we had them all together...\"\n    },\n    \"LJSpeech_LJ048-0228\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: and others who were present say that no agent was inebriated or acted improperly.\"\n    },\n    \"LJSpeech_LJ009-0104\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: The women set up a yell, which is mixed with a rustling noise, occasioned by the\"\n    },\n    \"LJSpeech_LJ017-0085\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: Palmer's plan was to administer poison in quantities insufficient to\"\n    },\n    \"LJSpeech_LJ018-0275\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: On Tarpey's defense, it was stated that the idea of the theft had been suggested\"\n    },\n    \"LJSpeech_LJ027-0064\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: All vertebrates and none other have two cavities.\"\n    },\n    \"LJSpeech_LJ036-0084\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Craig also claimed that when Fritz pointed out to Oswald that Craig had identified\"\n    },\n    \"LJSpeech_LJ040-0211\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: This would make him approximately ten, well almost eleven years old.\"\n    },\n    \"LJSpeech_LJ032-0241\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:happy\\ttranscription: Ten days prior to the Walker attempt, Oswald had undoubtedly received the rifle.\"\n    },\n    \"LJSpeech_LJ002-0158\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: Other cases are recorded elsewhere, as at the Gilsburg Street Comptor, where\"\n    },\n    \"LJSpeech_LJ050-0077\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: and in taking preventive steps.\"\n    },\n    \"LJSpeech_LJ032-0236\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: By checking the actual mailing dates of these issues and the time it usually takes\"\n    },\n    \"LJSpeech_LJ026-0102\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:happy\\ttranscription: but root pressure due to osmosis, capillary action and evaporation.\"\n    },\n    \"LJSpeech_LJ025-0057\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: such as the charai, are in constant and regular motion, was made out\"\n    },\n    \"LJSpeech_LJ018-0270\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: The assistant called with the jewels on approbation at a house specially hired for\"\n    },\n    \"LJSpeech_LJ013-0021\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:sad\\ttranscription: The larboard pump was suffered to remain choked up and the longboat was\"\n    },\n    \"LJSpeech_LJ042-0050\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:sad\\ttranscription: I have been a pro-communist for years and yet I have never met a communist.\"\n    },\n    \"LJSpeech_LJ006-0075\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: He saw certain rooms fill up, and yet took no steps to open others that were locked\"\n    },\n    \"LJSpeech_LJ048-0187\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: In addition, Secret Service agents riding in the motorcade were trained to\"\n    },\n    \"LJSpeech_LJ022-0186\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:happy\\ttranscription: Twenty years of experience with this system have justified the efforts made to\"\n    },\n    \"LJSpeech_LJ013-0078\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: Barbara was subsequently pardoned, but was not replaced on the roles as an attorney.\"\n    },\n    \"LJSpeech_LJ006-0015\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: one which required discretion, judgment and knowledge of law, with sufficient\"\n    },\n    \"LJSpeech_LJ048-0061\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: Under proper procedures, knowledge of the pending Presidential visit might have prompted\"\n    },\n    \"LJSpeech_LJ015-0190\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: that of dishonest rogues who assume piety and philanthropy as a cloak for the world.\"\n    },\n    \"LJSpeech_LJ003-0115\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: The judge sat in proper form. He was punctiliously styled, my\"\n    },\n    \"LJSpeech_LJ045-0244\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:angry\\ttranscription: Long before the assassination, he expressed his hatred for American society.\"\n    },\n    \"LJSpeech_LJ004-0051\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: When in Belgium he had examined with great satisfaction the admirable manner\"\n    },\n    \"LJSpeech_LJ011-0265\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:sad\\ttranscription: This Mr. Canning had left his widow a life interest in two thousand pounds.\"\n    },\n    \"LJSpeech_LJ028-0087\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: Such was the appearance of the builder of the walls of Babylon.\"\n    },\n    \"LJSpeech_LJ028-0178\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:happy\\ttranscription: The walls of Babylon were so long and wide and high that all who\"\n    },\n    \"LJSpeech_LJ011-0113\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:sad\\ttranscription: He met his death with unshaken firmness, only in treating that a certain blue\"\n    },\n    \"LJSpeech_LJ039-0162\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:sad\\ttranscription: In an effort to test the rifle under conditions which simulated those which prevailed during\"\n    },\n    \"LJSpeech_LJ045-0066\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: Oswald struck his wife on occasion.\"\n    },\n    \"LJSpeech_LJ028-0277\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:surprised\\ttranscription: One of his Sumter mules gave birth to a foal.\"\n    },\n    \"LJSpeech_LJ048-0197\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: I then told the officers that their primary duty was traffic and crowd control and that\"\n    },\n    \"LJSpeech_LJ019-0170\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: More officers were appointed, as the time of so many of those already on the staff\"\n    },\n    \"LJSpeech_LJ041-0092\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: and quote, individual that you would brainwash and quite easy, but I think\"\n    },\n    \"LJSpeech_LJ039-0027\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: and switch with Azure.\"\n    },\n    \"LJSpeech_LJ030-0077\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: Each agent carried a .38 caliber pistol and a shotgun and\"\n    },\n    \"LJSpeech_LJ038-0112\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: As previously indicated, Marina Oswald testified that she took the\"\n    },\n    \"LJSpeech_LJ017-0119\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: All the circumstances were so suspicious that he could not escape the criminal charge.\"\n    },\n    \"LJSpeech_LJ007-0242\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: No complete and permanent improvement was indeed possible while Newgate remained unchanged.\"\n    },\n    \"LJSpeech_LJ020-0046\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: Close the dough over it, dust your hands and kneading board with flour,\"\n    },\n    \"LJSpeech_LJ018-0001\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: The Chronicles of Newgate, Volume 2, by Arthur Griffiths. Section 21.\"\n    },\n    \"LJSpeech_LJ026-0098\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: The circulatory system distributes these foods in animals,\"\n    },\n    \"LJSpeech_LJ021-0152\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: and to experiment for a reasonable time with measures suitable to\"\n    },\n    \"LJSpeech_LJ047-0223\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: I don't recall the exact date, it was about a week prior.\\\"\"\n    },\n    \"LJSpeech_LJ007-0040\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: In a second room were fourteen more who had every hope of a reprieve.\"\n    },\n    \"LJSpeech_LJ050-0103\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:sad\\ttranscription: were all men who acted alone in their criminal acts against our leaders.\"\n    },\n    \"LJSpeech_LJ037-0016\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Scoggins hurriedly left his seat and hid behind the cab, as the man came back to\"\n    },\n    \"LJSpeech_LJ028-0336\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: Darius now, still keeping to the plan agreed upon.\"\n    },\n    \"LJSpeech_LJ004-0233\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: Under the new rule, visitors were not allowed to pass into the interior of the prison,\"\n    },\n    \"LJSpeech_LJ024-0127\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:angry\\ttranscription: You who know me can have no fear that I would tolerate the destruction\"\n    },\n    \"LJSpeech_LJ004-0189\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:happy\\ttranscription: The great principles of classification, cleanliness and employment were closely observed.\"\n    },\n    \"LJSpeech_LJ005-0045\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: Nor did it confine itself to mere verbal recommendations.\"\n    },\n    \"LJSpeech_LJ005-0158\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: Bedding and clothing was still denied, but only in a few jails.\"\n    },\n    \"LJSpeech_LJ011-0018\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: The crime, long carried on without detection, was first discovered in 1820.\"\n    },\n    \"LJSpeech_LJ017-0022\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: was that of Eliza Fenning, who was convicted of an attempt to poison a whole family.\"\n    },\n    \"LJSpeech_LJ030-0136\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:normal\\temotion:sad\\ttranscription: The President replied, that is very obvious.\"\n    },\n    \"LJSpeech_LJ039-0078\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: The effect of a four-power telescopic sight on the difficulty of these shots\"\n    },\n    \"LJSpeech_LJ048-0254\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: advised in the course of the Secret Service investigation of these events that each agent\"\n    },\n    \"LJSpeech_LJ049-0083\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:angry\\ttranscription: It has long been a federal crime to conspire to injure any federal officer on account of\"\n    },\n    \"LJSpeech_LJ006-0043\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: The disgraceful overcrowding had been partially ended, but the same evils of\"\n    },\n    \"LJSpeech_LJ025-0109\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: has been as completely invalidated as the third and second.\"\n    },\n    \"LJSpeech_LJ044-0163\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: Marina Oswald testified that her husband engaged in fair play for Cuba.\"\n    },\n    \"LJSpeech_LJ003-0037\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: A site was purchased between Red Lion and White Cross streets and a new\"\n    },\n    \"LJSpeech_LJ013-0117\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:happy\\ttranscription: and with another carry off the plate-chest in broad daylight and as a matter of business.\"\n    },\n    \"LJSpeech_LJ027-0096\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: as indeed she must be according to the derivation theory.\"\n    },\n    \"LJSpeech_LJ021-0035\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:happy\\ttranscription: saved debtors and creditors alike in many other fields of enterprise.\"\n    },\n    \"LJSpeech_LJ049-0159\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: the Secret Service, then the only federal investigative agency, assumed\"\n    },\n    \"LJSpeech_LJ039-0100\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:happy\\ttranscription: During the first week of an intensive eight-week training period, he received and\"\n    },\n    \"LJSpeech_LJ019-0302\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: In 1862, there were in all 193 jails.\"\n    },\n    \"LJSpeech_LJ030-0229\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: At this point, the cars were speeding through the underpass and had left the scene of the\"\n    },\n    \"LJSpeech_LJ005-0151\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: In others, women were very properly exempted from it, and also from all severe\"\n    },\n    \"LJSpeech_LJ015-0115\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:sad\\ttranscription: Little more remains to be said about Robson. He appears to have accepted his position.\"\n    },\n    \"LJSpeech_LJ010-0279\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: I shall mention briefly one more case, in which, however, there was no murderous\"\n    },\n    \"LJSpeech_LJ044-0119\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: into which Oswald, in his own words, had quote, thrown himself. He sought it\"\n    },\n    \"LJSpeech_LJ049-0115\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: of the person who is actually in the exercise of the executive power or\"\n    },\n    \"LJSpeech_LJ004-0139\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:happy\\ttranscription: In the morning, the stench and heat were so oppressive that he and everyone else\"\n    },\n    \"LJSpeech_LJ007-0223\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: The prison officials appear to be on the side of the inspectors, to the great dissatisfaction\"\n    },\n    \"LJSpeech_LJ032-0070\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: Ordinarily, Inspector Holmes testified, identification is not requested because\"\n    },\n    \"LJSpeech_LJ015-0294\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: He forgot to add that it was to be placed to Ralph's credit, and when he called\"\n    },\n    \"LJSpeech_LJ014-0083\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: which, having possessed herself of the murdered man's keys, she rifled from\"\n    },\n    \"LJSpeech_LJ040-0195\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: It appears that he did not want to do any of the things which the authorities suggest\"\n    },\n    \"LJSpeech_LJ030-0028\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: and the Vice President and Mrs. Johnson were in the receiving line to greet President\"\n    },\n    \"LJSpeech_LJ009-0145\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: and he seemed to suffer great inward agitation when the ordinary, particularly\"\n    },\n    \"LJSpeech_LJ031-0117\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: assisted by doctors William Osborne and John Parker.\"\n    },\n    \"LJSpeech_LJ004-0115\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: Infirmaries separating the sexes were also to be provided. A chapel too.\"\n    },\n    \"LJSpeech_LJ039-0200\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: And one of these agents, Robert A. Frazier,\"\n    },\n    \"LJSpeech_LJ028-0481\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:happy\\ttranscription: Nabo-Polisar, the father, my begetter, built Imgur-Bel.\"\n    },\n    \"LJSpeech_LJ003-0245\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:disgusted\\ttranscription: preparatory to their appearance in the Old Bailey. Irons were seldom removed.\"\n    },\n    \"LJSpeech_LJ017-0261\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: Seven were found guilty of murder on the high seas and one, Carlos, a criminal.\"\n    },\n    \"LJSpeech_LJ007-0137\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: More attention to ventilation, which was altogether neglected and inadequate, would\"\n    },\n    \"LJSpeech_LJ041-0017\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: Wobel also recalled that Oswald once outlined a plan to cut the glass in the\"\n    },\n    \"LJSpeech_LJ043-0061\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: At the time of his defection, when he evidenced no interest in his father and\"\n    },\n    \"LJSpeech_LJ033-0097\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: Frazier parked the car in the company parking lot about two blocks north of the depository\"\n    },\n    \"LJSpeech_LJ019-0234\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:sad\\ttranscription: The old buildings were entirely disused, and the whole of the inmates of Newgate were\"\n    },\n    \"LJSpeech_LJ016-0296\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: The actual execution made some impression.\"\n    },\n    \"LJSpeech_LJ023-0072\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: Congress passed a statute which, in 1803, the courts\"\n    },\n    \"LJSpeech_LJ050-0100\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: The Commission recognizes that no set of meaningful criteria will yield\"\n    },\n    \"LJSpeech_LJ028-0113\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: With mortar and bricks, he built two moat walls about the city.\"\n    },\n    \"LJSpeech_LJ013-0121\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:sad\\ttranscription: Howe and his accomplice were arrested. The former was found guilty and sentenced\"\n    },\n    \"LJSpeech_LJ014-0273\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: The detection of these frauds came while he was still prominently before the world as\"\n    },\n    \"LJSpeech_LJ027-0136\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Illustrations quoted from the works of Romains and Locante will make this principle\"\n    },\n    \"LJSpeech_LJ003-0067\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: in the then existing state of the law,\"\n    },\n    \"LJSpeech_LJ039-0220\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: and that one would not have to be an expert marksman to have accomplished the assassination.\"\n    },\n    \"LJSpeech_LJ018-0029\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: A photograph of Mueller shown the jeweler was identified as the likeness of the jewel.\"\n    },\n    \"LJSpeech_LJ001-0080\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: He seems to have taken the letter of the Elseviers of the 17th century for his mom.\"\n    },\n    \"LJSpeech_LJ028-0454\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: But both sections originally reached the river.\"\n    },\n    \"LJSpeech_LJ037-0244\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Westbrook identified Commission Exhibit 162 as the light-colored\"\n    },\n    \"LJSpeech_LJ008-0174\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:sad\\ttranscription: One cartload of spectators having broken down, some of its occupants fell\"\n    },\n    \"LJSpeech_LJ009-0302\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:sad\\ttranscription: Another man was hired, himself a convict, whose fees for self and wife were\"\n    },\n    \"LJSpeech_LJ002-0182\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: the fleet and the Marshall Sea prisons especially devoted to them.\"\n    },\n    \"LJSpeech_LJ048-0023\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: and he had told us during one of the interviews that he would probably take his wife back to\"\n    },\n    \"LJSpeech_LJ019-0257\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:slow\\temotion:sad\\ttranscription: Here, the tread wheel was in use. There, cellular cranks.\"\n    },\n    \"LJSpeech_LJ040-0046\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: which one associate described as, quote, irrevocable, end quote.\"\n    },\n    \"LJSpeech_LJ006-0295\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: The governor was also personally responsible for gross contravention of this rule of\"\n    },\n    \"LJSpeech_LJ028-0252\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: Only the king's son, Belshazzar, was killed.\"\n    },\n    \"LJSpeech_LJ035-0002\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: Chapter 4 The Assassin Part 4 Oswald's Actions\"\n    },\n    \"LJSpeech_LJ009-0189\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Persons were still living in 1855 who had witnessed dissections at Hicks Hall.\"\n    },\n    \"LJSpeech_LJ011-0032\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: declared that they had hitherto formed a high opinion of his honor, integrity, and\"\n    },\n    \"LJSpeech_LJ042-0155\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: It appears to be the work of a fairly well-organized person.\"\n    },\n    \"LJSpeech_LJ004-0039\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: They were hopeless of any general reform by the action of the executive alone.\"\n    },\n    \"LJSpeech_LJ025-0157\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: under these circumstances, unnatural as they are, with proper management\"\n    },\n    \"LJSpeech_LJ030-0121\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:happy\\ttranscription: Several times, Special Agent John D. Reddy came forward from the right front\"\n    },\n    \"LJSpeech_LJ010-0135\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: yelled out three cheers to the populace whom he faced.\"\n    },\n    \"LJSpeech_LJ050-0118\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: Since these agencies are already obliged constantly to evaluate the activities\"\n    },\n    \"LJSpeech_LJ040-0175\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: through which they could not reach him, but that he preferred the veil to remain intact.\"\n    },\n    \"LJSpeech_LJ013-0042\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: the foundations of which had been laid by buying old ships on purpose to cast the more\"\n    },\n    \"LJSpeech_LJ014-0076\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: He was seen afterwards smoking and talking with his hosts in their back parlor.\"\n    },\n    \"LJSpeech_LJ008-0097\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:sad\\ttranscription: No sooner was the job finished than half a dozen competitors appeared.\"\n    },\n    \"LJSpeech_LJ043-0166\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Possibly he might have wanted to be caught and wanted his involvement made clear\"\n    },\n    \"LJSpeech_LJ045-0127\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: He absolved the Soviet embassy in Mexico City of any blame for his difficulties.\"\n    },\n    \"LJSpeech_LJ027-0117\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:happy\\ttranscription: Now, here again the former theory appears to be triumphant over the latter.\"\n    },\n    \"LJSpeech_LJ035-0076\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: Special Agent John Howlett of the Secret Service carried a rifle from the south\"\n    },\n    \"LJSpeech_LJ005-0101\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: Quince it deduced the practice and condition of every prison that replied.\"\n    },\n    \"LJSpeech_LJ028-0302\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:happy\\ttranscription: I will desert to the enemy as I am, and when I get into their city,\"\n    },\n    \"LJSpeech_LJ036-0196\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: Tippett patrolled District 78 in the Oak Cliff area of Dixie.\"\n    },\n    \"LJSpeech_LJ028-0191\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: The old enemies of Babylon rejoiced.\"\n    },\n    \"LJSpeech_LJ038-0214\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: and the other paragraphs instructed her on the disposal of Oswald's personal effects\"\n    },\n    \"LJSpeech_LJ003-0304\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: with the penalty of forfeiting the day's allowance of food, an increase of which the committee\"\n    },\n    \"LJSpeech_LJ019-0009\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: or to insist upon the construction of prisons on the most approved plan.\"\n    },\n    \"LJSpeech_LJ022-0192\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: They contemplate the enrichment of our national life.\"\n    },\n    \"LJSpeech_LJ007-0026\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:sad\\ttranscription: And with all this, the most dreadful oaths, the worst language, too bad to be repeated.\"\n    },\n    \"LJSpeech_LJ035-0158\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: A blue jacket, later identified by Marina Oswald as her husband's, was\"\n    },\n    \"LJSpeech_LJ033-0014\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:sad\\ttranscription: Lee Harvey Oswald lived in a rooming house in Dallas, while his wife and children lived\"\n    },\n    \"LJSpeech_LJ018-0369\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: the mysterious Bravo case, that of Dr. Lamson, and that of\"\n    },\n    \"LJSpeech_LJ017-0028\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: that she had had a quarrel with her mistress, and that the latter, with all others,\"\n    },\n    \"LJSpeech_LJ004-0109\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: according to their categories or crimes.\"\n    },\n    \"LJSpeech_LJ011-0239\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Where robbery with violence was intended, the perpetrators had now to adopt various\"\n    },\n    \"LJSpeech_LJ049-0034\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:normal\\tspeed:normal\\temotion:surprised\\ttranscription: could have reached the President in time to protect him from the second and fatal shot\"\n    },\n    \"LJSpeech_LJ016-0389\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: Giovanni Lanni, the Italian boy who murdered a French woman in the hay market.\"\n    },\n    \"LJSpeech_LJ037-0018\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:sad\\ttranscription: Skaggins saw him and heard him mutter either, Poor damn cop or...\"\n    },\n    \"LJSpeech_LJ041-0163\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Out of a combination of Oswald's known Marxist sympathies and George Orwell's\"\n    },\n    \"LJSpeech_LJ017-0178\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:surprised\\ttranscription: It appeared that several persons with whom she was intimate had succumbed suddenly.\"\n    },\n    \"LJSpeech_LJ048-0006\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: or to the Vice President.\\\"\"\n    },\n    \"LJSpeech_LJ002-0184\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: the latter two being also a prison for felons and vagrants arrested within certain\"\n    },\n    \"LJSpeech_LJ012-0143\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Money Moses had received the stolen gold dust from Moss's father-in-law, Davis.\"\n    },\n    \"LJSpeech_LJ023-0012\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: But when almost two years later it came before the Supreme\"\n    },\n    \"LJSpeech_LJ036-0068\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: Both buses stopped within one block of the depository building.\"\n    },\n    \"LJSpeech_LJ046-0158\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: At the time of the assassination, the active PRS general files contained\"\n    },\n    \"LJSpeech_LJ011-0287\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: but at length managed to wriggle out of the chain which confined his body and\"\n    },\n    \"LJSpeech_LJ016-0399\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: Wainwright was allowed a cigar the night before execution, which he smoked in the prison yard.\"\n    },\n    \"LJSpeech_LJ006-0012\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: but he would not arm them with any authority lest their cooperation might be offensive.\"\n    },\n    \"LJSpeech_LJ005-0102\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: Upon these and the private visitations made by various members, the Society\"\n    },\n    \"LJSpeech_LJ001-0169\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:fast\\temotion:neutral\\ttranscription: The paper used for printing the small, highly ornamented French service books.\"\n    },\n    \"LJSpeech_LJ011-0271\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: Mr. G went in the coach sent for him and alighted at 27 York Street,\"\n    },\n    \"LJSpeech_LJ014-0057\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:fast\\temotion:neutral\\ttranscription: London did not escape the contagion and, prominent among the detestable crimes of\"\n    },\n    \"LJSpeech_LJ008-0191\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:slow\\temotion:disgusted\\ttranscription: At Courvoisier's execution in 1840, it was the same, or worse.\"\n    },\n    \"LJSpeech_LJ007-0120\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:sad\\ttranscription: some to the infirmary, many more to the governor's house.\"\n    },\n    \"LJSpeech_LJ012-0268\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: Suspicion grew almost to certainty as the evidence was unfolded.\"\n    },\n    \"LJSpeech_LJ015-0298\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:happy\\ttranscription: But while Hardwick was in communication with Sawward, the bank was in communication with\"\n    },\n    \"LJSpeech_LJ030-0213\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:neutral\\ttranscription: Hill heard a second shot, approximately five seconds after the first, which removed\"\n    },\n    \"LJSpeech_LJ009-0121\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:happy\\ttranscription: for all thy goodness and loving kindness to us and to all men.\"\n    },\n    \"LJSpeech_LJ037-0084\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:neutral\\ttranscription: Barbara Jeanette Davis testified that no one had shown her a picture of Oswald before.\"\n    },\n    \"LJSpeech_LJ009-0219\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:happy\\ttranscription: A clause was inserted to the effect that\"\n    },\n    \"LJSpeech_LJ040-0143\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: Contrary to reports that appeared after the assassination, the psychiatric examiner\"\n    },\n    \"LJSpeech_LJ006-0048\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: To these were still added an average of about 50, expecting the last penalty.\"\n    },\n    \"LJSpeech_LJ033-0006\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: In this connection, the Commission considered one\"\n    },\n    \"LJSpeech_LJ044-0207\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:high\\tspeed:normal\\temotion:neutral\\ttranscription: the economic embargo against that country, and the general policy of the United States.\"\n    },\n    \"LJSpeech_LJ032-0260\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:normal\\tspeed:normal\\temotion:neutral\\ttranscription: He thought it contained tent poles or possibly other camping equipment, such as\"\n    },\n    \"LJSpeech_LJ017-0030\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:normal\\temotion:happy\\ttranscription: When the spread of scientific knowledge places nefarious means at the disposal of\"\n    },\n    \"LJSpeech_LJ005-0084\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:normal\\temotion:neutral\\ttranscription: so as to prevent them from seeing, conversing, or holding any interaction.\"\n    },\n    \"LJSpeech_LJ008-0236\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: Coiled up on the floor of the scaffold like a serpent, the hangman's rope.\"\n    },\n    \"LJSpeech_LJ027-0020\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:happy\\ttranscription: The unity in life, then, is not less a fact than is life's great diversity.\"\n    },\n    \"LJSpeech_LJ017-0238\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:low\\tspeed:slow\\temotion:fearful\\ttranscription: Tefer the second mate agreed, but constantly went in fear of his life.\"\n    },\n    \"LJSpeech_LJ045-0233\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:normal\\tspeed:slow\\temotion:angry\\ttranscription: He consistently refused to admit involvement in the assassination\"\n    },\n    \"LJSpeech_LJ038-0099\": {\n        \"labels\": \"age:Middle-aged\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: From the outset, Oswald denied owning a rifle.\"\n    },\n    \"LJSpeech_LJ028-0231\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:low\\tvolume:low\\tspeed:fast\\temotion:neutral\\ttranscription: whereupon they withdrew within their defenses.\"\n    },\n    \"LJSpeech_LJ044-0239\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:high\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: and raises serious questions as to whether or not he ever expected to\"\n    },\n    \"LJSpeech_LJ050-0086\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: Under these criteria, whether the case should be referred to the Secret Service depends\"\n    },\n    \"LJSpeech_LJ047-0021\": {\n        \"labels\": \"age:Elderly\\tgender:male\\tpitch:normal\\tvolume:high\\tspeed:slow\\temotion:neutral\\ttranscription: information regarding his relations with the U.S. Embassy in Moscow and background\"\n    }\n}"
  },
  {
    "path": "AutomaticPipeline/outputs/labels_LJspeech_0.scp",
    "content": "LJSpeech\tLJ010-0227\t68\tmale\t968.5380249023438\t0.8162265419960022\t0.022741336633663366\tsad\t He went from Newgate first to Bethlehem, from which he was removed to Broadmoor.\nLJSpeech\tLJ050-0106\t59\tmale\t906.479736328125\t0.8606864213943481\t0.022741336633663366\tneutral\t to devise a practical system which has any reasonable possibility of revealing\nLJSpeech\tLJ043-0140\t57\tmale\t1299.147705078125\t0.8262879848480225\t0.022741336633663366\tneutral\t He also studied Dallas bus schedules to prepare for his later use of\nLJSpeech\tLJ018-0032\t66\tmale\t1098.609619140625\t0.763823390007019\t0.022741336633663366\tsad\t There was no mystery about his departure. He had gone to Canada by the Victoria\nLJSpeech\tLJ012-0117\t62\tmale\t988.9229736328125\t0.8686652183532715\t0.022741336633663366\tneutral\t By and by the occupant of the room noticed something glittering in the center of the fire.\nLJSpeech\tLJ038-0057\t65\tmale\t1146.2008056640625\t0.838049590587616\t0.022741336633663366\tneutral\t Deputy Sheriff Walther's brought a shotgun into the theater, but laid it on some\nLJSpeech\tLJ017-0158\t62\tmale\t951.9786376953125\t0.8371432423591614\t0.022741336633663366\thappy\t She had a little fortune of her own, some 1,700 pounds\nLJSpeech\tLJ026-0094\t53\tmale\t1013.83544921875\t0.8242807984352112\t0.022741336633663366\tneutral\t This however is probably not a source of vital energy, but only contributes to the\nLJSpeech\tLJ045-0152\t65\tmale\t928.56396484375\t0.8731129169464111\t0.024118640350877192\thappy\t The events of that evening can best be appreciated through Marina Oswald's testimony.\nLJSpeech\tLJ019-0264\t67\tmale\t1011.5900268554688\t0.874998152256012\t0.024177631578947367\tneutral\t and it was decidedly of opinion that in all short sentences the hard labor\nLJSpeech\tLJ040-0047\t63\tmale\t1101.93212890625\t0.5375705361366272\t0.016539692982456142\tneutral\t That associate did not think that Oswald was a communist.\nLJSpeech\tLJ012-0015\t63\tmale\t1143.9190673828125\t0.8230547904968262\t0.024177631578947367\tneutral\t Weedon and LaCassar to 12 and 6 months respectively in cold baths.\nLJSpeech\tLJ019-0097\t63\tmale\t976.0210571289062\t0.868423581123352\t0.024009146341463415\tsad\t The want of uniformity in prison discipline became air long and acknowledged evil.\nLJSpeech\tLJ039-0093\t65\tmale\t1167.13720703125\t0.7914684414863586\t0.024009146341463415\tneutral\t at a distance of 265.3 feet was, quote,\nLJSpeech\tLJ018-0028\t63\tfemale\t1036.7177734375\t0.8202313780784607\t0.024009146341463415\tsad\t who had been a lodger of his. Muehler had given the cabman's little daughter\nLJSpeech\tLJ028-0287\t66\tmale\t1013.0613403320312\t0.7936339974403381\t0.024009146341463415\tangry\t but found none by which he could hope to prevail unless he maimed himself.\nLJSpeech\tLJ024-0117\t65\tfemale\t746.5477294921875\t0.8057168126106262\t0.024093094405594404\tneutral\t You will find that many of those who pretend to support you will sabotage your plans.\nLJSpeech\tLJ029-0172\t64\tmale\t1144.1251220703125\t0.8575349450111389\t0.024093094405594404\tneutral\t The two Dallas newspapers provided their readers with a steady stream of information and\nLJSpeech\tLJ024-0044\t59\tmale\t1082.681884765625\t0.8042803406715393\t0.024093094405594404\tangry\t that I will appoint justices who will act as justices and not as\nLJSpeech\tLJ045-0246\t60\tmale\t916.866943359375\t0.77986079454422\t0.024093094405594404\tsad\t He sought for himself a place in history, a role as the great\nLJSpeech\tLJ042-0191\t59\tmale\t1080.6220703125\t0.7938746213912964\t0.026502403846153846\tneutral\t While, quote, resourcefulness and patient working towards the aforesaid goal\nLJSpeech\tLJ050-0099\t66\tmale\t1119.674072265625\t0.8032099604606628\t0.026502403846153846\tneutral\t It is apparent that a good deal of further consideration and experimentation\nLJSpeech\tLJ017-0101\t63\tmale\t889.54541015625\t0.7770697474479675\t0.026502403846153846\tneutral\t That day, Palmer had bought more strychnia and had called in a fresh doctor.\nLJSpeech\tLJ016-0388\t56\tmale\t941.869384765625\t0.5061151385307312\t0.01628389423076923\thappy\t A few go further and are almost gluttonous.\nLJSpeech\tLJ007-0129\t66\tmale\t657.7396850585938\t0.7841930985450745\t0.022816639072847682\tangry\t the sane and the insane, the young and the old, the trivial offender and the\nLJSpeech\tLJ014-0195\t62\tmale\t899.5761108398438\t0.8505150675773621\t0.022816639072847682\tneutral\t Two of them supported Cope, who was still alive, although insensible, and Marley\nLJSpeech\tLJ027-0056\t60\tmale\t1063.888671875\t0.8467499017715454\t0.02244308774834437\thappy\t The relation of skeleton and muscle in arthropods is exactly the reverse.\nLJSpeech\tLJ030-0227\t61\tmale\t1070.8468017578125\t0.8109928965568542\t0.022816639072847682\tneutral\t Special Agent George W. Hickey Jr. in the rear seat of the Presidential\nLJSpeech\tLJ047-0210\t53\tmale\t734.2883911132812\t0.4516647458076477\t0.013350046641791045\tneutral\t I think all of those, if we had them all together...\nLJSpeech\tLJ048-0228\t69\tmale\t914.8754272460938\t0.8221648335456848\t0.025711287313432835\tneutral\t and others who were present say that no agent was inebriated or acted improperly.\nLJSpeech\tLJ009-0104\t63\tmale\t910.867919921875\t0.8145198225975037\t0.025711287313432835\tneutral\t The women set up a yell, which is mixed with a rustling noise, occasioned by the\nLJSpeech\tLJ017-0085\t61\tmale\t1220.1307373046875\t0.800680935382843\t0.025711287313432835\tneutral\t Palmer's plan was to administer poison in quantities insufficient to\nLJSpeech\tLJ018-0275\t66\tmale\t1315.436279296875\t0.8228096961975098\t0.025520833333333333\tneutral\t On Tarpey's defense, it was stated that the idea of the theft had been suggested\nLJSpeech\tLJ027-0064\t54\tmale\t993.9934692382812\t0.5912888646125793\t0.019532638888888888\tneutral\t All vertebrates and none other have two cavities.\nLJSpeech\tLJ036-0084\t59\tmale\t1092.259521484375\t0.8476306796073914\t0.025520833333333333\tneutral\t Craig also claimed that when Fritz pointed out to Oswald that Craig had identified\nLJSpeech\tLJ040-0211\t64\tmale\t897.1492919921875\t0.7998844981193542\t0.025520833333333333\tneutral\t This would make him approximately ten, well almost eleven years old.\nLJSpeech\tLJ032-0241\t59\tmale\t979.5408935546875\t0.8054627180099487\t0.02630009541984733\thappy\t Ten days prior to the Walker attempt, Oswald had undoubtedly received the rifle.\nLJSpeech\tLJ002-0158\t61\tmale\t1082.5684814453125\t0.8261975646018982\t0.02630009541984733\tneutral\t Other cases are recorded elsewhere, as at the Gilsburg Street Comptor, where\nLJSpeech\tLJ050-0077\t58\tmale\t1372.689453125\t0.3803936243057251\t0.011823711832061068\tneutral\t and in taking preventive steps.\nLJSpeech\tLJ032-0236\t64\tmale\t1258.6331787109375\t0.8708815574645996\t0.02630009541984733\tneutral\t By checking the actual mailing dates of these issues and the time it usually takes\nLJSpeech\tLJ026-0102\t58\tmale\t1112.703857421875\t0.7878386974334717\t0.02505681818181818\thappy\t but root pressure due to osmosis, capillary action and evaporation.\nLJSpeech\tLJ025-0057\t63\tmale\t1100.768798828125\t0.8493995666503906\t0.02505681818181818\tneutral\t such as the charai, are in constant and regular motion, was made out\nLJSpeech\tLJ018-0270\t61\tmale\t1052.5274658203125\t0.8861708641052246\t0.02505681818181818\tneutral\t The assistant called with the jewels on approbation at a house specially hired for\nLJSpeech\tLJ013-0021\t65\tmale\t896.8339233398438\t0.7397869229316711\t0.02505681818181818\tsad\t The larboard pump was suffered to remain choked up and the longboat was\nLJSpeech\tLJ042-0050\t62\tmale\t895.3709716796875\t0.8398865461349487\t0.023122902684563757\tsad\t I have been a pro-communist for years and yet I have never met a communist.\nLJSpeech\tLJ006-0075\t65\tmale\t1124.275634765625\t0.8591945767402649\t0.023122902684563757\thappy\t He saw certain rooms fill up, and yet took no steps to open others that were locked\nLJSpeech\tLJ048-0187\t62\tmale\t1194.6612548828125\t0.8206942677497864\t0.023122902684563757\tneutral\t In addition, Secret Service agents riding in the motorcade were trained to\nLJSpeech\tLJ022-0186\t59\tmale\t1200.8306884765625\t0.8014236688613892\t0.023122902684563757\thappy\t Twenty years of experience with this system have justified the efforts made to\nLJSpeech\tLJ013-0078\t67\tmale\t1060.476318359375\t0.8209429979324341\t0.02173698738170347\tneutral\t Barbara was subsequently pardoned, but was not replaced on the roles as an attorney.\nLJSpeech\tLJ006-0015\t62\tmale\t1111.1729736328125\t0.8129136562347412\t0.02173698738170347\tneutral\t one which required discretion, judgment and knowledge of law, with sufficient\nLJSpeech\tLJ048-0061\t64\tmale\t1116.922119140625\t0.8459006547927856\t0.02173698738170347\tneutral\t Under proper procedures, knowledge of the pending Presidential visit might have prompted\nLJSpeech\tLJ015-0190\t63\tmale\t1128.6842041015625\t0.7676864862442017\t0.02173698738170347\tsad\t that of dishonest rogues who assume piety and philanthropy as a cloak for the world.\nLJSpeech\tLJ003-0115\t62\tmale\t1147.26904296875\t0.832510232925415\t0.023842993079584776\tneutral\t The judge sat in proper form. He was punctiliously styled, my\nLJSpeech\tLJ045-0244\t67\tmale\t1213.853271484375\t0.797639787197113\t0.023842993079584776\tangry\t Long before the assassination, he expressed his hatred for American society.\nLJSpeech\tLJ004-0051\t66\tmale\t850.4898681640625\t0.8350055813789368\t0.023842993079584776\thappy\t When in Belgium he had examined with great satisfaction the admirable manner\nLJSpeech\tLJ011-0265\t62\tmale\t1222.8548583984375\t0.8727220892906189\t0.023842993079584776\tsad\t This Mr. Canning had left his widow a life interest in two thousand pounds.\nLJSpeech\tLJ028-0087\t53\tmale\t983.9290161132812\t0.5809707641601562\t0.01661304151624549\tneutral\t Such was the appearance of the builder of the walls of Babylon.\nLJSpeech\tLJ028-0178\t65\tmale\t945.8756713867188\t0.8222951292991638\t0.024875902527075812\thappy\t The walls of Babylon were so long and wide and high that all who\nLJSpeech\tLJ011-0113\t64\tmale\t1133.138427734375\t0.8332394957542419\t0.024875902527075812\tsad\t He met his death with unshaken firmness, only in treating that a certain blue\nLJSpeech\tLJ039-0162\t61\tmale\t1100.3876953125\t0.8697624802589417\t0.024875902527075812\tsad\t In an effort to test the rifle under conditions which simulated those which prevailed during\nLJSpeech\tLJ045-0066\t53\tmale\t1083.7061767578125\t0.3979305326938629\t0.014269723360655738\tsad\t Oswald struck his wife on occasion.\nLJSpeech\tLJ028-0277\t50\tmale\t1167.56591796875\t0.5111944675445557\t0.017220543032786886\tsurprised\t One of his Sumter mules gave birth to a foal.\nLJSpeech\tLJ048-0197\t64\tmale\t992.088134765625\t0.8570470213890076\t0.028240266393442622\tneutral\t I then told the officers that their primary duty was traffic and crowd control and that\nLJSpeech\tLJ019-0170\t66\tmale\t1029.4417724609375\t0.8437999486923218\t0.028240266393442622\tneutral\t More officers were appointed, as the time of so many of those already on the staff\nLJSpeech\tLJ041-0092\t59\tmale\t839.0108642578125\t0.7990822792053223\t0.030625\tneutral\t and quote, individual that you would brainwash and quite easy, but I think\nLJSpeech\tLJ039-0027\t52\tmale\t838.1315307617188\t0.2564748227596283\t0.00900361111111111\thappy\t and switch with Azure.\nLJSpeech\tLJ030-0077\t64\tmale\t1158.3037109375\t0.809492826461792\t0.030625\tneutral\t Each agent carried a .38 caliber pistol and a shotgun and\nLJSpeech\tLJ038-0112\t64\tmale\t1158.54931640625\t0.7811505198478699\t0.030625\tneutral\t As previously indicated, Marina Oswald testified that she took the\nLJSpeech\tLJ017-0119\t62\tmale\t1471.981689453125\t0.7784394025802612\t0.022372159090909092\thappy\t All the circumstances were so suspicious that he could not escape the criminal charge.\nLJSpeech\tLJ007-0242\t63\tmale\t898.47412109375\t0.860797107219696\t0.022161728896103895\tneutral\t No complete and permanent improvement was indeed possible while Newgate remained unchanged.\nLJSpeech\tLJ020-0046\t66\tmale\t936.8101806640625\t0.7930992841720581\t0.022372159090909092\thappy\t Close the dough over it, dust your hands and kneading board with flour,\nLJSpeech\tLJ018-0001\t68\tmale\t1067.754638671875\t0.8335044980049133\t0.022372159090909092\tneutral\t The Chronicles of Newgate, Volume 2, by Arthur Griffiths. Section 21.\nLJSpeech\tLJ026-0098\t57\tmale\t1459.13232421875\t0.8028250336647034\t0.02745268924302789\tneutral\t The circulatory system distributes these foods in animals,\nLJSpeech\tLJ021-0152\t61\tmale\t1135.7069091796875\t0.7745066285133362\t0.02745268924302789\tneutral\t and to experiment for a reasonable time with measures suitable to\nLJSpeech\tLJ047-0223\t62\tmale\t809.3446655273438\t0.6974994540214539\t0.02534586653386454\tneutral\t I don't recall the exact date, it was about a week prior.\"\nLJSpeech\tLJ007-0040\t61\tmale\t817.2888793945312\t0.6683530211448669\t0.020692480079681275\thappy\t In a second room were fourteen more who had every hope of a reprieve.\nLJSpeech\tLJ050-0103\t63\tmale\t908.8638305664062\t0.795621395111084\t0.02478642086330935\tsad\t were all men who acted alone in their criminal acts against our leaders.\nLJSpeech\tLJ037-0016\t62\tmale\t1227.5238037109375\t0.8029683232307434\t0.02478642086330935\tneutral\t Scoggins hurriedly left his seat and hid behind the cab, as the man came back to\nLJSpeech\tLJ028-0336\t59\tmale\t1117.00927734375\t0.6433566808700562\t0.018222347122302158\tsad\t Darius now, still keeping to the plan agreed upon.\nLJSpeech\tLJ004-0233\t63\tmale\t873.744384765625\t0.8720524311065674\t0.02478642086330935\tneutral\t Under the new rule, visitors were not allowed to pass into the interior of the prison,\nLJSpeech\tLJ024-0127\t66\tmale\t790.1196899414062\t0.8227817416191101\t0.025333180147058824\tangry\t You who know me can have no fear that I would tolerate the destruction\nLJSpeech\tLJ004-0189\t67\tmale\t882.4647216796875\t0.8654625415802002\t0.025333180147058824\thappy\t The great principles of classification, cleanliness and employment were closely observed.\nLJSpeech\tLJ005-0045\t60\tmale\t1204.24072265625\t0.5985238552093506\t0.017624310661764703\tneutral\t Nor did it confine itself to mere verbal recommendations.\nLJSpeech\tLJ005-0158\t63\tmale\t1125.4774169921875\t0.658680260181427\t0.021271369485294116\thappy\t Bedding and clothing was still denied, but only in a few jails.\nLJSpeech\tLJ011-0018\t65\tmale\t1102.3902587890625\t0.8398444652557373\t0.024434840425531915\tneutral\t The crime, long carried on without detection, was first discovered in 1820.\nLJSpeech\tLJ017-0022\t63\tmale\t950.7742919921875\t0.7860767841339111\t0.024434840425531915\tneutral\t was that of Eliza Fenning, who was convicted of an attempt to poison a whole family.\nLJSpeech\tLJ030-0136\t58\tmale\t961.9500122070312\t0.7000767588615417\t0.024434840425531915\tsad\t The President replied, that is very obvious.\nLJSpeech\tLJ039-0078\t59\tmale\t994.359375\t0.811722457408905\t0.024434840425531915\tneutral\t The effect of a four-power telescopic sight on the difficulty of these shots\nLJSpeech\tLJ048-0254\t63\tmale\t1418.6072998046875\t0.8071127533912659\t0.023045568561872908\tneutral\t advised in the course of the Secret Service investigation of these events that each agent\nLJSpeech\tLJ049-0083\t63\tmale\t1159.44287109375\t0.8841239213943481\t0.023045568561872908\tangry\t It has long been a federal crime to conspire to injure any federal officer on account of\nLJSpeech\tLJ006-0043\t61\tmale\t963.5223999023438\t0.8555874228477478\t0.023045568561872908\tneutral\t The disgraceful overcrowding had been partially ended, but the same evils of\nLJSpeech\tLJ025-0109\t62\tmale\t1129.241943359375\t0.8006194829940796\t0.023045568561872908\tneutral\t has been as completely invalidated as the third and second.\nLJSpeech\tLJ044-0163\t62\tmale\t957.9028930664062\t0.8367945551872253\t0.02478642086330935\tneutral\t Marina Oswald testified that her husband engaged in fair play for Cuba.\nLJSpeech\tLJ003-0037\t65\tmale\t1216.96533203125\t0.8291783332824707\t0.02478642086330935\tneutral\t A site was purchased between Red Lion and White Cross streets and a new\nLJSpeech\tLJ013-0117\t61\tmale\t1048.94189453125\t0.8147414922714233\t0.02478642086330935\thappy\t and with another carry off the plate-chest in broad daylight and as a matter of business.\nLJSpeech\tLJ027-0096\t52\tmale\t987.2114868164062\t0.5842734575271606\t0.01701371402877698\tneutral\t as indeed she must be according to the derivation theory.\nLJSpeech\tLJ021-0035\t61\tmale\t1195.374755859375\t0.8064736127853394\t0.024875902527075812\thappy\t saved debtors and creditors alike in many other fields of enterprise.\nLJSpeech\tLJ049-0159\t67\tmale\t1158.23046875\t0.8147270679473877\t0.024875902527075812\tneutral\t the Secret Service, then the only federal investigative agency, assumed\nLJSpeech\tLJ039-0100\t60\tmale\t1073.9599609375\t0.7953296303749084\t0.024875902527075812\thappy\t During the first week of an intensive eight-week training period, he received and\nLJSpeech\tLJ019-0302\t66\tmale\t927.6077270507812\t0.7891265153884888\t0.024875902527075812\tneutral\t In 1862, there were in all 193 jails.\nLJSpeech\tLJ030-0229\t59\tmale\t1128.42724609375\t0.8108355402946472\t0.0216686320754717\tneutral\t At this point, the cars were speeding through the underpass and had left the scene of the\nLJSpeech\tLJ005-0151\t55\tmale\t1023.0142211914062\t0.8571876287460327\t0.0216686320754717\tneutral\t In others, women were very properly exempted from it, and also from all severe\nLJSpeech\tLJ015-0115\t69\tmale\t1087.5670166015625\t0.8020297884941101\t0.0216686320754717\tsad\t Little more remains to be said about Robson. He appears to have accepted his position.\nLJSpeech\tLJ010-0279\t66\tmale\t988.0106201171875\t0.8697272539138794\t0.0216686320754717\tneutral\t I shall mention briefly one more case, in which, however, there was no murderous\nLJSpeech\tLJ044-0119\t62\tmale\t947.2424926757812\t0.8160279393196106\t0.022372159090909092\tneutral\t into which Oswald, in his own words, had quote, thrown himself. He sought it\nLJSpeech\tLJ049-0115\t65\tmale\t1047.099853515625\t0.8133270740509033\t0.022372159090909092\tneutral\t of the person who is actually in the exercise of the executive power or\nLJSpeech\tLJ004-0139\t64\tmale\t965.0425415039062\t0.8386383652687073\t0.022372159090909092\thappy\t In the morning, the stench and heat were so oppressive that he and everyone else\nLJSpeech\tLJ007-0223\t61\tmale\t1323.4381103515625\t0.8278164267539978\t0.022372159090909092\tneutral\t The prison officials appear to be on the side of the inspectors, to the great dissatisfaction\nLJSpeech\tLJ032-0070\t67\tmale\t1133.4202880859375\t0.764536440372467\t0.023122902684563757\tneutral\t Ordinarily, Inspector Holmes testified, identification is not requested because\nLJSpeech\tLJ015-0294\t64\tmale\t1171.9451904296875\t0.816940426826477\t0.023122902684563757\tneutral\t He forgot to add that it was to be placed to Ralph's credit, and when he called\nLJSpeech\tLJ014-0083\t60\tmale\t1259.9434814453125\t0.8244383335113525\t0.023122902684563757\tneutral\t which, having possessed herself of the murdered man's keys, she rifled from\nLJSpeech\tLJ040-0195\t67\tmale\t1063.7657470703125\t0.8319800496101379\t0.023122902684563757\tneutral\t It appears that he did not want to do any of the things which the authorities suggest\nLJSpeech\tLJ030-0028\t57\tmale\t1052.3692626953125\t0.8686795830726624\t0.024093094405594404\tneutral\t and the Vice President and Mrs. Johnson were in the receiving line to greet President\nLJSpeech\tLJ009-0145\t63\tmale\t1096.4228515625\t0.8129713535308838\t0.024093094405594404\tneutral\t and he seemed to suffer great inward agitation when the ordinary, particularly\nLJSpeech\tLJ031-0117\t50\tmale\t923.3846435546875\t0.5800350308418274\t0.01670563811188811\tneutral\t assisted by doctors William Osborne and John Parker.\nLJSpeech\tLJ004-0115\t64\tmale\t937.3268432617188\t0.8438901305198669\t0.024093094405594404\thappy\t Infirmaries separating the sexes were also to be provided. A chapel too.\nLJSpeech\tLJ039-0200\t50\tmale\t1002.3143310546875\t0.47214874625205994\t0.014967765748031497\tneutral\t And one of these agents, Robert A. Frazier,\nLJSpeech\tLJ028-0481\t59\tmale\t761.4593505859375\t0.7362769842147827\t0.027128444881889764\thappy\t Nabo-Polisar, the father, my begetter, built Imgur-Bel.\nLJSpeech\tLJ003-0245\t68\tmale\t855.0972290039062\t0.8284653425216675\t0.027128444881889764\tdisgusted\t preparatory to their appearance in the Old Bailey. Irons were seldom removed.\nLJSpeech\tLJ017-0261\t55\tmale\t1154.7520751953125\t0.7629727721214294\t0.027128444881889764\tneutral\t Seven were found guilty of murder on the high seas and one, Carlos, a criminal.\nLJSpeech\tLJ007-0137\t62\tmale\t1012.0001220703125\t0.8231872320175171\t0.021805775316455698\tneutral\t More attention to ventilation, which was altogether neglected and inadequate, would\nLJSpeech\tLJ041-0017\t57\tmale\t845.4912719726562\t0.8081146478652954\t0.021805775316455698\tneutral\t Wobel also recalled that Oswald once outlined a plan to cut the glass in the\nLJSpeech\tLJ043-0061\t65\tmale\t1211.890625\t0.7867423295974731\t0.021805775316455698\tneutral\t At the time of his defection, when he evidenced no interest in his father and\nLJSpeech\tLJ033-0097\t60\tmale\t961.7119750976562\t0.8147653937339783\t0.021805775316455698\tneutral\t Frazier parked the car in the company parking lot about two blocks north of the depository\nLJSpeech\tLJ019-0234\t60\tmale\t982.4412841796875\t0.8467894792556763\t0.0275625\tsad\t The old buildings were entirely disused, and the whole of the inmates of Newgate were\nLJSpeech\tLJ016-0296\t54\tmale\t1260.2855224609375\t0.4604700207710266\t0.01482325\tneutral\t The actual execution made some impression.\nLJSpeech\tLJ023-0072\t69\tmale\t1206.0687255859375\t0.7865973711013794\t0.0275625\tneutral\t Congress passed a statute which, in 1803, the courts\nLJSpeech\tLJ050-0100\t67\tmale\t934.5872192382812\t0.8466907143592834\t0.0275625\tneutral\t The Commission recognizes that no set of meaningful criteria will yield\nLJSpeech\tLJ028-0113\t63\tmale\t1025.2725830078125\t0.6758575439453125\t0.018996001683501684\tneutral\t With mortar and bricks, he built two moat walls about the city.\nLJSpeech\tLJ013-0121\t65\tmale\t1238.6756591796875\t0.7939990162849426\t0.023200757575757576\tsad\t Howe and his accomplice were arrested. The former was found guilty and sentenced\nLJSpeech\tLJ014-0273\t63\tmale\t1042.2625732421875\t0.8731350302696228\t0.023200757575757576\tneutral\t The detection of these frauds came while he was still prominently before the world as\nLJSpeech\tLJ027-0136\t63\tmale\t1052.698974609375\t0.8104369044303894\t0.023200757575757576\tneutral\t Illustrations quoted from the works of Romains and Locante will make this principle\nLJSpeech\tLJ003-0067\t52\tmale\t1101.8662109375\t0.4360215961933136\t0.011485659246575342\tneutral\t in the then existing state of the law,\nLJSpeech\tLJ039-0220\t65\tmale\t1079.593994140625\t0.8265351057052612\t0.023598030821917807\tneutral\t and that one would not have to be an expert marksman to have accomplished the assassination.\nLJSpeech\tLJ018-0029\t63\tmale\t892.7648315429688\t0.8415856957435608\t0.023598030821917807\tneutral\t A photograph of Mueller shown the jeweler was identified as the likeness of the jewel.\nLJSpeech\tLJ001-0080\t70\tmale\t945.280517578125\t0.8912354707717896\t0.023598030821917807\tneutral\t He seems to have taken the letter of the Elseviers of the 17th century for his mom.\nLJSpeech\tLJ028-0454\t59\tmale\t1161.063720703125\t0.4748651683330536\t0.01538449074074074\tneutral\t But both sections originally reached the river.\nLJSpeech\tLJ037-0244\t61\tmale\t1057.122802734375\t0.8424121737480164\t0.025520833333333333\tneutral\t Westbrook identified Commission Exhibit 162 as the light-colored\nLJSpeech\tLJ008-0174\t64\tmale\t970.2979125976562\t0.8039829730987549\t0.025520833333333333\tsad\t One cartload of spectators having broken down, some of its occupants fell\nLJSpeech\tLJ009-0302\t62\tmale\t1106.8897705078125\t0.7679134011268616\t0.025520833333333333\tsad\t Another man was hired, himself a convict, whose fees for self and wife were\nLJSpeech\tLJ002-0182\t60\tmale\t1128.78076171875\t0.7411836981773376\t0.021869359205776172\tneutral\t the fleet and the Marshall Sea prisons especially devoted to them.\nLJSpeech\tLJ048-0023\t61\tmale\t983.9628295898438\t0.8298522233963013\t0.024875902527075812\tneutral\t and he had told us during one of the interviews that he would probably take his wife back to\nLJSpeech\tLJ019-0257\t65\tmale\t1225.7010498046875\t0.7593720555305481\t0.024875902527075812\tsad\t Here, the tread wheel was in use. There, cellular cranks.\nLJSpeech\tLJ040-0046\t67\tmale\t991.2825927734375\t0.7420750856399536\t0.024875902527075812\tneutral\t which one associate described as, quote, irrevocable, end quote.\nLJSpeech\tLJ006-0295\t60\tmale\t1199.44775390625\t0.8367014527320862\t0.02745268924302789\tneutral\t The governor was also personally responsible for gross contravention of this rule of\nLJSpeech\tLJ028-0252\t51\tmale\t1160.4306640625\t0.45107951760292053\t0.014317978087649402\tneutral\t Only the king's son, Belshazzar, was killed.\nLJSpeech\tLJ035-0002\t64\tmale\t921.927734375\t0.7000311613082886\t0.02745268924302789\tneutral\t Chapter 4 The Assassin Part 4 Oswald's Actions\nLJSpeech\tLJ009-0189\t65\tmale\t1282.5374755859375\t0.8760916590690613\t0.02745268924302789\tneutral\t Persons were still living in 1855 who had witnessed dissections at Hicks Hall.\nLJSpeech\tLJ011-0032\t61\tmale\t919.7144165039062\t0.8366391062736511\t0.02452179715302491\tneutral\t declared that they had hitherto formed a high opinion of his honor, integrity, and\nLJSpeech\tLJ042-0155\t61\tmale\t1077.17431640625\t0.6541056036949158\t0.018654137010676156\tneutral\t It appears to be the work of a fairly well-organized person.\nLJSpeech\tLJ004-0039\t55\tmale\t796.300537109375\t0.7321549654006958\t0.02127335409252669\tsad\t They were hopeless of any general reform by the action of the executive alone.\nLJSpeech\tLJ025-0157\t61\tmale\t1216.162353515625\t0.8438274264335632\t0.02452179715302491\tneutral\t under these circumstances, unnatural as they are, with proper management\nLJSpeech\tLJ030-0121\t56\tmale\t970.6068725585938\t0.7965176701545715\t0.02469758064516129\thappy\t Several times, Special Agent John D. Reddy came forward from the right front\nLJSpeech\tLJ010-0135\t60\tmale\t1289.2467041015625\t0.5666248798370361\t0.019533378136200718\thappy\t yelled out three cheers to the populace whom he faced.\nLJSpeech\tLJ050-0118\t67\tmale\t922.9232788085938\t0.8592643141746521\t0.02469758064516129\tneutral\t Since these agencies are already obliged constantly to evaluate the activities\nLJSpeech\tLJ040-0175\t60\tmale\t1017.7406005859375\t0.7815579175949097\t0.02331832437275986\tneutral\t through which they could not reach him, but that he preferred the veil to remain intact.\nLJSpeech\tLJ013-0042\t62\tmale\t1047.09814453125\t0.8341838717460632\t0.023279138513513514\tneutral\t the foundations of which had been laid by buying old ships on purpose to cast the more\nLJSpeech\tLJ014-0076\t61\tmale\t1151.91357421875\t0.835938036441803\t0.023279138513513514\thappy\t He was seen afterwards smoking and talking with his hosts in their back parlor.\nLJSpeech\tLJ008-0097\t64\tmale\t1172.0582275390625\t0.7829859852790833\t0.023279138513513514\tsad\t No sooner was the job finished than half a dozen competitors appeared.\nLJSpeech\tLJ043-0166\t64\tmale\t824.7908325195312\t0.7988844513893127\t0.023279138513513514\tneutral\t Possibly he might have wanted to be caught and wanted his involvement made clear\nLJSpeech\tLJ045-0127\t64\tmale\t1247.29638671875\t0.8624638915061951\t0.023122902684563757\tneutral\t He absolved the Soviet embassy in Mexico City of any blame for his difficulties.\nLJSpeech\tLJ027-0117\t65\tmale\t964.4253540039062\t0.79942786693573\t0.023122902684563757\thappy\t Now, here again the former theory appears to be triumphant over the latter.\nLJSpeech\tLJ035-0076\t63\tmale\t1200.859130859375\t0.8349494338035583\t0.023122902684563757\thappy\t Special Agent John Howlett of the Secret Service carried a rifle from the south\nLJSpeech\tLJ005-0101\t58\tmale\t1129.3095703125\t0.7242733836174011\t0.0196302432885906\tsad\t Quince it deduced the practice and condition of every prison that replied.\nLJSpeech\tLJ028-0302\t64\tmale\t1078.13818359375\t0.7867964506149292\t0.027235671936758892\thappy\t I will desert to the enemy as I am, and when I get into their city,\nLJSpeech\tLJ036-0196\t65\tmale\t1095.0950927734375\t0.803264319896698\t0.027235671936758892\tneutral\t Tippett patrolled District 78 in the Oak Cliff area of Dixie.\nLJSpeech\tLJ028-0191\t60\tmale\t1061.2279052734375\t0.42850354313850403\t0.013888586956521738\thappy\t The old enemies of Babylon rejoiced.\nLJSpeech\tLJ038-0214\t57\tmale\t1284.11328125\t0.8420044779777527\t0.027235671936758892\tneutral\t and the other paragraphs instructed her on the disposal of Oswald's personal effects\nLJSpeech\tLJ003-0304\t65\tmale\t832.8008422851562\t0.8691624999046326\t0.023760775862068966\tneutral\t with the penalty of forfeiting the day's allowance of food, an increase of which the committee\nLJSpeech\tLJ019-0009\t56\tmale\t1075.1240234375\t0.7964742183685303\t0.02298556034482759\tneutral\t or to insist upon the construction of prisons on the most approved plan.\nLJSpeech\tLJ022-0192\t57\tmale\t1077.5343017578125\t0.5187281370162964\t0.014764870689655173\tneutral\t They contemplate the enrichment of our national life.\nLJSpeech\tLJ007-0026\t58\tmale\t1158.8209228515625\t0.793979287147522\t0.023760775862068966\tsad\t And with all this, the most dreadful oaths, the worst language, too bad to be repeated.\nLJSpeech\tLJ035-0158\t66\tmale\t997.3316040039062\t0.8228869438171387\t0.023679123711340205\tneutral\t A blue jacket, later identified by Marina Oswald as her husband's, was\nLJSpeech\tLJ033-0014\t54\tmale\t959.2794799804688\t0.8163527250289917\t0.023679123711340205\tsad\t Lee Harvey Oswald lived in a rooming house in Dallas, while his wife and children lived\nLJSpeech\tLJ018-0369\t66\tmale\t1060.0634765625\t0.7843106389045715\t0.023679123711340205\tneutral\t the mysterious Bravo case, that of Dr. Lamson, and that of\nLJSpeech\tLJ017-0028\t61\tmale\t1008.4209594726562\t0.8143091797828674\t0.023679123711340205\tneutral\t that she had had a quarrel with her mistress, and that the latter, with all others,\nLJSpeech\tLJ004-0109\t57\tmale\t1024.0537109375\t0.4420858919620514\t0.013042491007194245\tneutral\t according to their categories or crimes.\nLJSpeech\tLJ011-0239\t63\tmale\t950.5305786132812\t0.8259799480438232\t0.02478642086330935\tneutral\t Where robbery with violence was intended, the perpetrators had now to adopt various\nLJSpeech\tLJ049-0034\t62\tmale\t1265.04345703125\t0.8034409284591675\t0.02478642086330935\tsurprised\t could have reached the President in time to protect him from the second and fatal shot\nLJSpeech\tLJ016-0389\t65\tmale\t846.389892578125\t0.8337498307228088\t0.024438174460431655\tneutral\t Giovanni Lanni, the Italian boy who murdered a French woman in the hay market.\nLJSpeech\tLJ037-0018\t58\tmale\t978.4235229492188\t0.7971556186676025\t0.029197563559322032\tsad\t Skaggins saw him and heard him mutter either, Poor damn cop or...\nLJSpeech\tLJ041-0163\t65\tmale\t961.3748779296875\t0.867605984210968\t0.029197563559322032\tneutral\t Out of a combination of Oswald's known Marxist sympathies and George Orwell's\nLJSpeech\tLJ017-0178\t61\tmale\t1041.3836669921875\t0.7767281532287598\t0.029197563559322032\tsurprised\t It appeared that several persons with whom she was intimate had succumbed suddenly.\nLJSpeech\tLJ048-0006\t54\tmale\t986.5155639648438\t0.377620667219162\t0.014482256355932204\tneutral\t or to the Vice President.\"\nLJSpeech\tLJ002-0184\t64\tmale\t914.2891845703125\t0.8724705576896667\t0.025333180147058824\tneutral\t the latter two being also a prison for felons and vagrants arrested within certain\nLJSpeech\tLJ012-0143\t65\tmale\t1187.48974609375\t0.8944374322891235\t0.025333180147058824\tneutral\t Money Moses had received the stolen gold dust from Moss's father-in-law, Davis.\nLJSpeech\tLJ023-0012\t59\tmale\t1082.41943359375\t0.7502818703651428\t0.025333180147058824\tneutral\t But when almost two years later it came before the Supreme\nLJSpeech\tLJ036-0068\t63\tmale\t865.4218139648438\t0.6849870085716248\t0.02191842830882353\tsad\t Both buses stopped within one block of the depository building.\nLJSpeech\tLJ046-0158\t66\tmale\t1267.1650390625\t0.8534243106842041\t0.02222782258064516\tneutral\t At the time of the assassination, the active PRS general files contained\nLJSpeech\tLJ011-0287\t60\tmale\t1136.369384765625\t0.8295741677284241\t0.02222782258064516\tneutral\t but at length managed to wriggle out of the chain which confined his body and\nLJSpeech\tLJ016-0399\t65\tmale\t1150.46533203125\t0.8492998480796814\t0.02222782258064516\tneutral\t Wainwright was allowed a cigar the night before execution, which he smoked in the prison yard.\nLJSpeech\tLJ006-0012\t61\tmale\t944.3914794921875\t0.8449038863182068\t0.02222782258064516\tneutral\t but he would not arm them with any authority lest their cooperation might be offensive.\nLJSpeech\tLJ005-0102\t62\tmale\t1208.780029296875\t0.8509426712989807\t0.02194466560509554\tneutral\t Upon these and the private visitations made by various members, the Society\nLJSpeech\tLJ001-0169\t66\tmale\t1138.5301513671875\t0.825796365737915\t0.02194466560509554\tneutral\t The paper used for printing the small, highly ornamented French service books.\nLJSpeech\tLJ011-0271\t66\tmale\t1177.6123046875\t0.8682052493095398\t0.02194466560509554\tneutral\t Mr. G went in the coach sent for him and alighted at 27 York Street,\nLJSpeech\tLJ014-0057\t65\tmale\t1001.4357299804688\t0.8337165117263794\t0.02194466560509554\tneutral\t London did not escape the contagion and, prominent among the detestable crimes of\nLJSpeech\tLJ008-0191\t65\tmale\t960.4435424804688\t0.7966058254241943\t0.025904605263157895\tdisgusted\t At Courvoisier's execution in 1840, it was the same, or worse.\nLJSpeech\tLJ007-0120\t60\tmale\t1031.863525390625\t0.5902575850486755\t0.018803806390977444\tsad\t some to the infirmary, many more to the governor's house.\nLJSpeech\tLJ012-0268\t56\tmale\t1237.5946044921875\t0.7429749965667725\t0.023254934210526317\tneutral\t Suspicion grew almost to certainty as the evidence was unfolded.\nLJSpeech\tLJ015-0298\t70\tmale\t1055.9366455078125\t0.7635851502418518\t0.025904605263157895\thappy\t But while Hardwick was in communication with Sawward, the bank was in communication with\nLJSpeech\tLJ030-0213\t62\tmale\t1213.4908447265625\t0.7537742257118225\t0.02620009505703422\tneutral\t Hill heard a second shot, approximately five seconds after the first, which removed\nLJSpeech\tLJ009-0121\t61\tmale\t1158.9774169921875\t0.7147454023361206\t0.02333769011406844\thappy\t for all thy goodness and loving kindness to us and to all men.\nLJSpeech\tLJ037-0084\t63\tmale\t1030.7886962890625\t0.796912431716919\t0.02620009505703422\tneutral\t Barbara Jeanette Davis testified that no one had shown her a picture of Oswald before.\nLJSpeech\tLJ009-0219\t56\tmale\t1173.5\t0.4054138660430908\t0.01342134030418251\thappy\t A clause was inserted to the effect that\nLJSpeech\tLJ040-0143\t64\tmale\t1050.6236572265625\t0.8078874945640564\t0.023598030821917807\tneutral\t Contrary to reports that appeared after the assassination, the psychiatric examiner\nLJSpeech\tLJ006-0048\t62\tmale\t1121.3856201171875\t0.8324679732322693\t0.023598030821917807\tneutral\t To these were still added an average of about 50, expecting the last penalty.\nLJSpeech\tLJ033-0006\t58\tmale\t1046.85986328125\t0.5671167969703674\t0.01674593321917808\tneutral\t In this connection, the Commission considered one\nLJSpeech\tLJ044-0207\t64\tmale\t804.4202270507812\t0.8754435181617737\t0.023598030821917807\tneutral\t the economic embargo against that country, and the general policy of the United States.\nLJSpeech\tLJ032-0260\t62\tmale\t1013.1453247070312\t0.8036773204803467\t0.023598030821917807\tneutral\t He thought it contained tent poles or possibly other camping equipment, such as\nLJSpeech\tLJ017-0030\t63\tmale\t1237.06982421875\t0.842721164226532\t0.023598030821917807\thappy\t When the spread of scientific knowledge places nefarious means at the disposal of\nLJSpeech\tLJ005-0084\t62\tmale\t1217.72900390625\t0.7495614290237427\t0.023598030821917807\tneutral\t so as to prevent them from seeing, conversing, or holding any interaction.\nLJSpeech\tLJ008-0236\t52\tmale\t1014.2316284179688\t0.7807179093360901\t0.02271853595890411\tneutral\t Coiled up on the floor of the scaffold like a serpent, the hangman's rope.\nLJSpeech\tLJ027-0020\t60\tmale\t1027.0858154296875\t0.7961769104003906\t0.026502403846153846\thappy\t The unity in life, then, is not less a fact than is life's great diversity.\nLJSpeech\tLJ017-0238\t66\tmale\t1097.978515625\t0.7882980704307556\t0.026502403846153846\tfearful\t Tefer the second mate agreed, but constantly went in fear of his life.\nLJSpeech\tLJ045-0233\t66\tmale\t1085.60400390625\t0.800809919834137\t0.026502403846153846\tangry\t He consistently refused to admit involvement in the assassination\nLJSpeech\tLJ038-0099\t48\tmale\t939.3925170898438\t0.5590772032737732\t0.019237740384615384\tneutral\t From the outset, Oswald denied owning a rifle.\nLJSpeech\tLJ028-0231\t59\tmale\t916.1470947265625\t0.5505949854850769\t0.01667814781021898\tneutral\t whereupon they withdrew within their defenses.\nLJSpeech\tLJ044-0239\t66\tmale\t1262.919677734375\t0.8477627635002136\t0.025148266423357664\tneutral\t and raises serious questions as to whether or not he ever expected to\nLJSpeech\tLJ050-0086\t65\tmale\t1170.1837158203125\t0.8474505543708801\t0.025148266423357664\tneutral\t Under these criteria, whether the case should be referred to the Secret Service depends\nLJSpeech\tLJ047-0021\t66\tmale\t1138.4693603515625\t0.8763906955718994\t0.025148266423357664\tneutral\t information regarding his relations with the U.S. Embassy in Moscow and background"
  },
  {
    "path": "README.md",
    "content": "# SpeechCraft\n\nThis is the official repository of the ACM Multimedia 2024 paper *\"SpeechCraft: A Fine-Grained Expressive Speech Dataset with Natural Language Description\"*.\n\nFor details of the pipeline and dataset, please refer to our [Paper](http://arxiv.org/abs/2408.13608) and [Demo Page](https://speechcraft2024.github.io/speechcraft2024/)\n\n<!-- Dataset and pipeline are coming soon. -->\n\n\n## News\n[2024-09-26]: **Structured metadata** (pitch, energy, speed, age, gender, emotion tone, emphasis, topic/category, and transcript) has been made available to facilitate further enhancements and augmentations of the dataset.\n\n[2024-12-20]: Code and checkpoint of the **Annotation pipeline** are released.\n\n## SpeechCraft Dataset\n### 1. Download Speech Corpus\n\n|Language|Speech Corpus|#Duration|#Clips|\n|:--------:|:--------:|--------:|--------:|\n|ZH|[Zhvoice](https://github.com/fighting41love/zhvoice)|799.68h|1,020,427|\n|ZH|[AISHELL-3](https://www.openslr.org/93/)|63.70h|63,011|\n|EN|[GigaSpeech-M](https://huggingface.co/datasets/speechcolab/gigaspeech/tree/main/data/audio/m_files_additional)|739.91h|670,070|\n|EN|[LibriTTS-R](https://www.openslr.org/141/)|548.88h|352,265|\n\n<!-- ## Metadata Walkthrough -->\n### 2. Download Speech Annotation\n||Description|Instruction|Labels|\n|:--------:|:--------:|:--------:|:--------:|\n|ZH|[download](https://cloud.tsinghua.edu.cn/f/e66664542f534f399802/?dl=1)|[download](https://cloud.tsinghua.edu.cn/f/d6f00e027f504751b4c0/?dl=1)|[download](https://cloud.tsinghua.edu.cn/f/02a69d7c862e4422850e/?dl=1)|\n|EN|[download](https://cloud.tsinghua.edu.cn/f/517428835bd5486e87e8/?dl=1)|[download](https://cloud.tsinghua.edu.cn/f/cce83dd884ed4104b1a1/?dl=1)|[download](https://cloud.tsinghua.edu.cn/f/6f05dcbcfb384ea1870b/?dl=1)|\n\n### 3. Labels and Prompts\n####  EN Version\n- `--gender`: Male, Female \n- `--age`: Child, Teenager, Youth adult, Middle-aged, Elderly\n- `--pitch`: low, normal, high\n- `--speed`: slow, normal, fast\n- `--volume`: low, normal, high\n- `--emotion (English)`: Fearful, Happy, Disgusted, Sad, Surprised, Angry, Neutral\n- `--emphasis`: Non-label words\n- `--transcript`: Non-label sentence\n- `--LLM Prompt`: \n```Given the pitch, volume, age, gender, tone, and transcript, use sentiment analysis techniques to describe in natural language what age, what gender of a person, with what kind of emotion and tone, using what kind of pitch and volume, spoke the words in the transcript.\nNote: You must vividly describe the sentence’s intonation, pitch, tone, and emotion. All outputs must strictly avoid identical wording and sentence structure. There is no need to describe body language or psychological state and do not repeat the input content.\nRefer to the format of the following four cases:\n\n*Example Input - Example Output*\n\nNow try to process the following sentences, directly output the converted sentences according to the examples without missing any labels.\n```\n\n#### ZH Version\n- `--年龄`：儿童，少年，青年，中年，老年\n- `--性别`：男，女\n- `--语速`：快，中，慢\n- `--音高`：高，中，低\n- `--音量`：高，中，低\n- `--重读`：无标签，字词\n- `--语气`：无标签，自然语句\n- `--文本`：无标签，自然语句\n- `--LLM Prompt`: \n```\n请参照以下转换案例，使用中文自然语言描述一个人按照给定风格属性，如音高、音量、年龄、性别、语调，来说文本中的话。注意，仅描述说话风格，不需要描述肢体动作或心理状态，不要重复输入的内容。\n\n*示例输入-示例输出*\n\n现在尝试处理以下句子，根据示例直接输出转换后的句子，不要遗漏任何标签。\n```\n\n### 4. Request Access to Emphasis Speech Dataset\n\nSince we do not own the copyright of the original audio files, for researchers and educators who wish to use the audio files for non-commercial research and/or educational purposes, we can provide access to our regenerated version under certain conditions and terms. To apply for the AISHELL-3 and LibriTTS-R with fine-grained keyword emphasis, please fill out the EULA form at `Emphasis-SpeechCraft-EULA.pdf` and send the scanned form to jinzeyu23@mails.tsinghua.edu.cn. Once approved, you will be supplied with a download link. **([2024-09-26]: With metadata updated!)**\n\nPlease first refer to some emphasis examples provided [here](https://speechcraft2024.github.io/speechcraft2024/#13-examples-of-the-regenerated-emphasis-data-from-aishell-3-and-libritts-r). We are actively working on improving methods for large-scale fine-grained data construction that align with human perception.\n\n|Language|Speech Corpus|#Duration|#Clips|\n|:--------:|:--------:|--------:|--------:|\n|ZH|AISHELL-3-stress|50.59h|63,258|\n|EN|LibriTTS-R-stress|148.78h|75,654|\n\n\n## Annotation Pipeline\n\n### Step 0 : Installation\n\n1. Download models for speech style recognition.\n\n    Models from 🤗:\n\n    ```\n    llama_base_model = \"baichuan-inc/Baichuan2-13B-Base\"\n    gender_model_path = \"alefiury/wav2vec2-large-xlsr-53-gender-recognition-librispeech\"\n    age_model_path = \"audeering/wav2vec2-large-robust-24-ft-age-gender\"\n    asr_path = \"openai/whisper-medium\" / \"openai/whisper-large-v3\"\n    ```\n\n    Model from funasr (for English emotion classification):\n\n    ```\n    emotion_model = \"iic/emotion2vec_base_finetuned\"\n    ```\n\n    Prepare SECap from [here](https://github.com/thuhcsi/SECap) (for Chinese emotion captioning).\n\n2. Create conda environment\n    ```\n    conda env create -f ./requirements.yaml\n    mv ./AutomaticPipeline/models/SECap/model2.py $your_SECap_dir\n    ```\n\n3. Download the lora ckpt from [here](https://cloud.tsinghua.edu.cn/d/548948399d7c4816b677/) as `./llama-ft/finetuned-llama/` for description rewriting.\n\n    Remember to change the path of LLM ckpt at \"`base_model_name_or_path`\" in `./llama-ft/finetuned-llama/adapter_config.json`.\n\n\n### Step 1 : Labeling with the Automatic Annotation Pipeline\n\n1. Get the scp file with raw scores for the audio corpus.\n\n    ```\n    cd ./AutomaticPipeline\n    python AutoPipeline.py\n    ```\n\n2. Get the json file with classified result prepared for the description rewriting.\n    ```\n    python Clustering.py\n    ```\n\n### Step 2 : Rewriting with the Finetuned Llama\n```\ncd ../llama-ft\npython llama_infer.py\n```\n\n\n## Citation\nPlease cite our paper if you find this work useful:\n```\n@inproceedings{jin2024speechcraft,\n  title={Speechcraft: A fine-grained expressive speech dataset with natural language description},\n  author={Jin, Zeyu and Jia, Jia and Wang, Qixin and Li, Kehan and Zhou, Shuoyi and Zhou, Songtao and Qin, Xiaoyu and Wu, Zhiyong},\n  booktitle={Proceedings of the 32nd ACM International Conference on Multimedia},\n  pages={1255--1264},\n  year={2024}\n}\n```\n"
  },
  {
    "path": "llama-ft/llama_infer.py",
    "content": "import os\nimport torch\nimport argparse\nfrom accelerate import Accelerator\nfrom transformers import AutoModelForCausalLM, AutoTokenizer\nfrom peft import AutoPeftModelForCausalLM\nimport json\nfrom tqdm import tqdm\nimport random\nimport torch.nn as nn\nimport torch.distributed as dist\nfrom torch.utils.data import DataLoader, Subset\ntorch.multiprocessing.set_start_method('spawn', force=True)\n\nPROMPT_DICT = {\n    \"prompt_input\": (\n        \"Below is an instruction that describes a task, paired with an input that provides further context. \"\n        \"Write a response that appropriately completes the request.\\n\\n\"\n        \"### Instruction:\\n{instruction}\\n\\n### Input:\\n{input}\\n\\n### Response:\"\n    ),\n    \"prompt_no_input\": (\n        \"Below is an instruction that describes a task. \"\n        \"Write a response that appropriately completes the request.\\n\\n\"\n        \"### Instruction:\\n{instruction}\\n\\n### Response:\"\n    ),\n    \"chinese\": (\n        \"Below is an instruction that describes a task. \"\n        \"Write a response that appropriately completes the request.\\n\\n\"\n        \"### Instruction:\\n给定音高、音量、年龄、性别、语气等信息以及文本，运用情感分析的技巧，用中文自然语言描述。\"\n        \"注意必须生动且多样化地描述，不需要描述肢体动作或心理状态，不要重复input内容。\\n\\n\"\n        \"###Input：\\n{labels}\\n\\n### Response:\"\n    ),\n    \"english\": (\n        \"Below is an instruction that describes a task. \"\n        \"Write a response that appropriately completes the request.\\n\\n\"\n        \"### Instruction:\\nGiven information such as pitch, volume, age, gender, tone, category and text, describe using English natural language with the techniques of emotional analysis.\"\n        \"Make sure the description is vivid and diverse, without the need to describe physical actions or psychological states, and avoid repeating the input content.\\n\\n\"\n        \"###Input：\\n{labels}\\n\\n### Response:\"\n\n    )\n}\n\nclass Dataset(torch.utils.data.Dataset):\n    def __init__(self, args):\n        self.language = args.language\n        self.ckpt_path = args.ckpt_path\n        self.testdata = json.load(open(args.json_path))\n        self.keyindex = list(self.testdata.keys())\n        self.tokenizer = AutoTokenizer.from_pretrained(args.ckpt_path, use_fast=False, trust_remote_code=True)\n\n    def __len__(self):\n        return len(self.testdata)\n\n    def __getitem__(self, index):\n        user_tokens=[195]\n        assistant_tokens=[196]\n        key = self.keyindex[index]\n        value = self.testdata[key]\n        tags = value['labels'].strip().split('\\t')\n\n        # shuffle tags\n        random.shuffle(tags)\n        value['labels'] = '\\t'.join(tags)\n\n        prompt = '<reserved_106>' + PROMPT_DICT[self.language].format_map(value) + '<reserved_107>'\n        inputs = self.tokenizer(prompt, return_tensors='pt')\n\n        return inputs, key, prompt, value['labels']\n\n\ndef extract(input_text, language):\n    if language=='chinese':\n        if \"“\" not in input_text:\n            return None\n        else:\n            start_index = input_text.find(\"“\")\n            end_index = input_text.find(\"”\", start_index+1)\n            return input_text[start_index:end_index]\n    else:\n        if input_text.count(\"\\\"\") < 2:\n            return None\n        else:\n            start_index = input_text.find(\"\\\"\")\n            end_index = input_text.rfind(\"\\\"\")\n            return input_text[start_index+1:end_index]\n\ndef inference_on_device(args, tokenizer, device, dataloader):\n\n    language = args.language\n    output_path = args.output_path\n    error_path = args.error_path\n    ckpt_path = args.ckpt_path\n\n    model = AutoPeftModelForCausalLM.from_pretrained(\n        ckpt_path, \n        revision=\"v2.0\",\n        trust_remote_code=True, \n        torch_dtype=torch.bfloat16, \n        attn_implementation=\"flash_attention_2\", \n        )\n\n    # model = model.quantize(4)\n    model.to(device)\n    top_p = 0.3\n    temperature = 0.7\n    count = 0\n    test_result  = {}\n    error = {}\n    output_path = output_path[:-4]+str(device)+'.json'\n    with torch.no_grad():  \n        for inputs, keys, prompts, labels in tqdm(dataloader):\n            # unwrap the input\n            inputs = {key: value[0].to(device, dtype=torch.long) for key, value in inputs.items()}\n            # inputs = {key: value[0].to(device, dtype=torch.bfloat16) for key, value in inputs.items()}\n            key = keys[0]\n            prompt = prompts[0]\n            info = {}\n            labels = labels[0]\n\n            try:\n                pred = model.sample(**inputs, max_new_tokens=128, repetition_penalty=1.1, do_sample=True, use_cache=True, temperature=temperature, top_p=top_p)\n                generation = tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)[len(prompt):]\n                ct = 0\n\n                while (extract(generation, language) is None or (len(generation)-len(extract(generation, language))<3)) and ct<5:\n                    pred = model.sample(**inputs, max_new_tokens=128, repetition_penalty=1.1, do_sample=True, use_cache=True, temperature=temperature, top_p=top_p)\n                    generation = tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)[len(prompt):]\n                    ct+=1\n\n                if ct==5:\n                    with open(error_path, 'a') as file:\n                        file.write(key+'\\n')\n                    continue\n\n                info['labels'] = labels\n                info['llama-instruction'] = generation\n\n                test_result[key] = info\n                count+=1\n\n            except Exception as e:\n                with open(error_path, 'a') as file:\n                    file.write(key+'\\n')\n                # raise e\n            \n            if count % 1000 ==0 or count==50:\n                json.dump(test_result, open(output_path, 'w'), indent=4, ensure_ascii=False)\n        json.dump(test_result, open(output_path, 'w'), indent=4, ensure_ascii=False)\n        \n\ndef main(args):\n    devices = list(map(int, args.devices.split(',')))\n\n    tokenizer = AutoTokenizer.from_pretrained(args.ckpt_path, revision=\"v2.0\", use_fast=False, trust_remote_code=True)\n    inferset = Dataset(args)\n    num_devices = len(devices)\n    subset_size = len(inferset) // num_devices\n    subsets = [ Subset(inferset, range(i * subset_size, (i + 1) * subset_size)) for i in range(num_devices) ]\n    data_loaders = [ DataLoader(subset, batch_size=1) for subset in subsets ]\n    \n    processes = []\n    for i in range(num_devices):\n        device_num = devices[i]\n        device = torch.device(f'cuda:{device_num}')\n        # device = torch.device('cpu')\n        p = torch.multiprocessing.Process(target=inference_on_device, args=(args, tokenizer, device, data_loaders[i]))\n        p.start()\n        processes.append(p)\n    \n    for p in processes:\n        p.join()\n\n\nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--language', type=str, default = 'english')\n    parser.add_argument('--devices', type=str, default = '0')\n    parser.add_argument('--json_path', type=str, default = './example_libritts.json')\n    parser.add_argument('--output_path', type=str, default = './inference_libritts.json')\n    parser.add_argument('--error_path', type=str, default = './error.txt')\n    parser.add_argument('--ckpt_path', type=str, default = './finetuned-llama')\n    \n    args = parser.parse_args()\n    \n    main(args)\n"
  },
  {
    "path": "requirements.yaml",
    "content": "name: speechcraft\nchannels:\n  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/\n  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/\n  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/\n  - simpleitk\n  - pytorch\n  - menpo\n  - msys2\n  - nvidia\n  - defaults\n  - bioconda\n  - conda-forge\ndependencies:\n  - _libgcc_mutex=0.1=conda_forge\n  - _openmp_mutex=4.5=2_gnu\n  - bzip2=1.0.8=h5eee18b_6\n  - ca-certificates=2024.11.26=h06a4308_0\n  - ld_impl_linux-64=2.40=h12ee557_0\n  - libffi=3.4.4=h6a678d5_1\n  - libgcc=14.2.0=h77fa898_1\n  - libgcc-ng=14.2.0=h69a702a_1\n  - libgomp=14.2.0=h77fa898_1\n  - libnsl=2.0.1=hd590300_0\n  - libsqlite=3.47.0=hadc24fc_1\n  - libstdcxx-ng=11.2.0=h1234567_1\n  - libuuid=2.38.1=h0b41bf4_0\n  - libxcrypt=4.4.36=hd590300_1\n  - libzlib=1.3.1=hb9d3cd8_2\n  - ncurses=6.4=h6a678d5_0\n  - openssl=3.4.0=hb9d3cd8_0\n  - python=3.9.18=h0755675_1_cpython\n  - readline=8.2=h5eee18b_0\n  - setuptools=75.1.0=py39h06a4308_0\n  - tk=8.6.13=noxft_h4845f30_101\n  - wheel=0.44.0=py39h06a4308_0\n  - xz=5.4.6=h5eee18b_1\n  - pip:\n    - absl-py==2.1.0\n    - accelerate==0.28.0\n    - aiohappyeyeballs==2.4.4\n    - aiohttp==3.11.10\n    - aiosignal==1.3.1\n    - aliyun-python-sdk-core==2.16.0\n    - aliyun-python-sdk-kms==2.16.5\n    - annotated-types==0.7.0\n    - antlr4-python3-runtime==4.9.3\n    - anyio==4.7.0\n    - argparse==1.4.0\n    - asgiref==3.8.1\n    - async-timeout==4.0.3\n    - asyncio==3.4.3\n    - attrs==24.2.0\n    - audioread==3.0.1\n    - backoff==2.2.1\n    - bcrypt==4.2.1\n    - beartype==0.17.2\n    - beautifulsoup4==4.12.3\n    - bitarray==3.0.0\n    - bitsandbytes==0.43.0\n    - black==24.10.0\n    - build==1.2.2.post1\n    - cachetools==5.5.0\n    - certifi==2024.8.30\n    - cffi==1.17.1\n    - charset-normalizer==3.4.0\n    - chroma-hnswlib==0.7.6\n    - chromadb==0.5.23\n    - click==8.1.7\n    - cohere==5.1.8\n    - colorama==0.4.6\n    - coloredlogs==15.0.1\n    - colt5-attention==0.10.20\n    - contourpy==1.3.0\n    - crcmod==1.7\n    - cryptography==44.0.0\n    - cycler==0.12.1\n    - cython==3.0.11\n    - dalle3==0.1.0\n    - dataclasses-json==0.6.7\n    - datasets==2.19.2\n    - decorator==5.1.1\n    - deprecated==1.2.15\n    - diffusers==0.31.0\n    - dill==0.3.8\n    - distance==0.1.3\n    - docstring-parser==0.16\n    - duckduckgo-search==6.4.1\n    - durationpy==0.9\n    - editdistance==0.8.1\n    - einops==0.7.0\n    - einops-exts==0.0.4\n    - einx==0.3.0\n    - encodec==0.1.1\n    - exceptiongroup==1.2.2\n    - fairscale==0.4.13\n    - faiss-cpu==1.9.0.post1\n    - fastapi==0.115.6\n    - fastavro==1.9.7\n    - filelock==3.13.1\n    - flake8==7.1.1\n    - flash-attn==2.3.6\n    - flatbuffers==24.3.25\n    - fonttools==4.55.2\n    - frozendict==2.4.6\n    - frozenlist==1.5.0\n    - fsspec==2024.2.0\n    - ftfy==6.3.1\n    - funasr==1.1.16\n    - g2p-en==2.1.0\n    - ggl==1.1.0\n    - google-ai-generativelanguage==0.6.10\n    - google-api-core==2.24.0\n    - google-api-python-client==2.155.0\n    - google-auth==2.37.0\n    - google-auth-httplib2==0.2.0\n    - google-generativeai==0.8.3\n    - googleapis-common-protos==1.66.0\n    - greenlet==3.1.1\n    - grpcio==1.68.1\n    - grpcio-status==1.68.1\n    - h11==0.14.0\n    - httpcore==1.0.7\n    - httplib2==0.22.0\n    - httptools==0.6.4\n    - httpx==0.28.1\n    - huggingface-hub==0.26.3\n    - humanfriendly==10.0\n    - hydra-core==1.3.2\n    - idna==3.10\n    - importlib-metadata==8.5.0\n    - importlib-resources==6.4.5\n    - inflect==7.4.0\n    - iniconfig==2.0.0\n    - jaconv==0.4.0\n    - jamo==0.4.1\n    - jieba==0.42.1\n    - jinja2==3.1.3\n    - jmespath==0.10.0\n    - joblib==1.4.2\n    - jsonpatch==1.33\n    - jsonpointer==3.0.0\n    - kaldiio==2.18.0\n    - kiwisolver==1.4.7\n    - kubernetes==31.0.0\n    - langchain==0.1.13\n    - langchain-community==0.0.29\n    - langchain-core==0.1.53\n    - langchain-experimental==0.0.55\n    - langchain-text-splitters==0.0.2\n    - langsmith==0.1.147\n    - lazy-loader==0.4\n    - libcst==1.5.1\n    - librosa==0.10.2.post1\n    - lightning==2.4.0\n    - lightning-utilities==0.11.9\n    - lion-pytorch==0.2.3\n    - llvmlite==0.43.0\n    - local-attention==1.9.3\n    - loguru==0.7.2\n    - lxml==5.3.0\n    - markdown==3.7\n    - markdown-it-py==3.0.0\n    - markupsafe==2.1.5\n    - marshmallow==3.23.1\n    - matplotlib==3.9.3\n    - mccabe==0.7.0\n    - mdurl==0.1.2\n    - mmh3==5.0.1\n    - modelscope==1.21.0\n    - monotonic==1.6\n    - more-itertools==10.5.0\n    - mpmath==1.3.0\n    - msgpack==1.1.0\n    - multidict==6.1.0\n    - multiprocess==0.70.16\n    - mypy-extensions==1.0.0\n    - nest-asyncio==1.6.0\n    - networkx==3.2.1\n    - ninja==1.11.1.2\n    - nltk==3.9.1\n    - numba==0.60.0\n    - numpy==1.25.2\n    - nvidia-cublas-cu12==12.1.3.1\n    - nvidia-cuda-cupti-cu12==12.1.105\n    - nvidia-cuda-nvrtc-cu12==12.1.105\n    - nvidia-cuda-runtime-cu12==12.1.105\n    - nvidia-cudnn-cu12==8.9.2.26\n    - nvidia-cufft-cu12==11.0.2.54\n    - nvidia-curand-cu12==10.3.2.106\n    - nvidia-cusolver-cu12==11.4.5.107\n    - nvidia-cusparse-cu12==12.1.0.106\n    - nvidia-nccl-cu12==2.19.3\n    - nvidia-nvjitlink-cu12==12.4.127\n    - nvidia-nvtx-cu12==12.1.105\n    - oauthlib==3.2.2\n    - omegaconf==2.3.0\n    - onnxruntime==1.19.2\n    - open-clip-torch==2.29.0\n    - openai==0.28.0\n    - opencv-python==4.10.0.84\n    - opencv-python-headless==4.10.0.84\n    - opentelemetry-api==1.29.0\n    - opentelemetry-exporter-otlp-proto-common==1.29.0\n    - opentelemetry-exporter-otlp-proto-grpc==1.29.0\n    - opentelemetry-instrumentation==0.50b0\n    - opentelemetry-instrumentation-asgi==0.50b0\n    - opentelemetry-instrumentation-fastapi==0.50b0\n    - opentelemetry-proto==1.29.0\n    - opentelemetry-sdk==1.29.0\n    - opentelemetry-semantic-conventions==0.50b0\n    - opentelemetry-util-http==0.50b0\n    - orjson==3.10.12\n    - oss2==2.19.1\n    - outcome==1.3.0.post0\n    - overrides==7.7.0\n    - packaging==23.2\n    - pandas==2.2.3\n    - pathspec==0.12.1\n    - peft==0.13.2\n    - pillow==10.3.0\n    - pip==24.3.1\n    - platformdirs==4.3.6\n    - playwright==1.49.1\n    - pluggy==1.5.0\n    - pooch==1.8.2\n    - portalocker==3.0.0\n    - posthog==3.7.4\n    - primp==0.8.3\n    - propcache==0.2.1\n    - proto-plus==1.25.0\n    - protobuf==5.29.1\n    - psutil==6.1.0\n    - pyarrow==18.1.0\n    - pyarrow-hotfix==0.6\n    - pyasn1==0.6.1\n    - pyasn1-modules==0.4.1\n    - pycodestyle==2.12.1\n    - pycparser==2.22\n    - pycryptodome==3.21.0\n    - pydantic==2.7.1\n    - pydantic-core==2.18.2\n    - pydub==0.25.1\n    - pyee==12.0.0\n    - pyflakes==3.2.0\n    - pygments==2.18.0\n    - pynndescent==0.5.13\n    - pyparsing==3.2.0\n    - pypdf==4.1.0\n    - pypdf2==3.0.1\n    - pypika==0.48.9\n    - pyproject-hooks==1.2.0\n    - pysocks==1.7.1\n    - pytest==8.1.1\n    - python-dateutil==2.9.0.post0\n    - python-dotenv==1.0.1\n    - pytorch-lightning==2.4.0\n    - pytorch-wpe==0.0.1\n    - pytz==2024.2\n    - pyyaml==6.0.2\n    - qformer==0.0.5\n    - ratelimit==2.2.1\n    - regex==2024.11.6\n    - requests==2.32.3\n    - requests-oauthlib==2.0.0\n    - requests-toolbelt==1.0.0\n    - rich==13.7.1\n    - rsa==4.9\n    - sacrebleu==2.4.3\n    - safetensors==0.4.5\n    - scikit-learn==1.5.2\n    - scipy==1.9.3\n    - selenium==4.27.1\n    - sentencepiece==0.2.0\n    - sentry-sdk==2.19.2\n    - shellingham==1.5.4\n    - six==1.17.0\n    - sniffio==1.3.1\n    - sortedcontainers==2.4.0\n    - soundfile==0.12.1\n    - soupsieve==2.6\n    - soxr==0.5.0.post1\n    - sqlalchemy==2.0.36\n    - starlette==0.41.3\n    - swarms==2.4.0\n    - sympy==1.13.1\n    - tabulate==0.9.0\n    - tenacity==8.2.3\n    - tensorboard==2.18.0\n    - tensorboard-data-server==0.7.2\n    - tensorboardx==2.6.2.2\n    - termcolor==2.5.0\n    - threadpoolctl==3.5.0\n    - tiktoken==0.8.0\n    - timm==0.4.12\n    - tokenizers==0.13.3\n    - toml==0.10.2\n    - tomli==2.2.1\n    - torch==2.2.0\n    - torch-complex==0.4.4\n    - torchaudio==2.2.0\n    - torchfix==0.7.0\n    - torchmetrics==1.6.0\n    - torchvision==0.17.0\n    - tqdm==4.66.2\n    - transformers==4.33.3\n    - trio==0.27.0\n    - trio-websocket==0.11.1\n    - triton==2.2.0\n    - typeguard==4.4.1\n    - typer==0.15.1\n    - types-requests==2.32.0.20241016\n    - typing==3.7.4.3\n    - typing-extensions==4.12.2\n    - typing-inspect==0.9.0\n    - tzdata==2024.2\n    - umap-learn==0.5.7\n    - undetected-chromedriver==3.5.5\n    - uritemplate==4.1.1\n    - urllib3==2.2.3\n    - uvicorn==0.32.1\n    - uvloop==0.21.0\n    - vector-quantize-pytorch==1.14.5\n    - vocos==0.1.0\n    - watchfiles==1.0.3\n    - wcwidth==0.2.13\n    - websocket-client==1.8.0\n    - websockets==14.1\n    - werkzeug==3.1.3\n    - wget==3.2\n    - wrapt==1.17.0\n    - wsproto==1.2.0\n    - xxhash==3.5.0\n    - yarl==1.18.3\n    - zetascale==0.4.9\n    - zipp==3.21.0\n"
  }
]