├── requirements.txt ├── download_ears_wham.sh ├── README.md ├── download_ears_reverb.sh ├── generate_ears_wham.py ├── generate_ears_reverb.py └── test_files.json /requirements.txt: -------------------------------------------------------------------------------- 1 | gdown 2 | h5py 3 | librosa 4 | mat73 5 | numpy<2.0 6 | pyloudnorm 7 | python-sofa 8 | soundfile 9 | torchaudio 10 | tqdm -------------------------------------------------------------------------------- /download_ears_wham.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if the correct number of arguments was provided 4 | if [ "$#" -ne 1 ]; then 5 | echo "Usage: $0 " 6 | exit 1 7 | fi 8 | 9 | data_dir=$1 10 | data_dir="$(realpath -s "$data_dir")" 11 | echo "Data directory is set to $data_dir" 12 | 13 | # Download the EARS speech dataset 14 | if [ -d "$data_dir/EARS" ]; then 15 | echo "[Warning] Skip download of EARS. The directory $data_dir/EARS arleady exists." 16 | else 17 | mkdir $data_dir/EARS 18 | for X in $(seq -w 001 107); do 19 | wget -L https://github.com/facebookresearch/ears_dataset/releases/download/dataset/p${X}.zip -O $data_dir/EARS/p${X}.zip 20 | n_files=`unzip -l $data_dir/EARS/p${X}.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 21 | unzip $data_dir/EARS/p${X}.zip -d $data_dir/EARS | tqdm --unit files --unit_scale --total $n_files > /dev/null 22 | rm $data_dir/EARS/p${X}.zip 23 | done 24 | fi 25 | 26 | # Download WHAM!48kHz noise dataset 27 | if [ -d "$data_dir/WHAM48kHz" ]; then 28 | echo "[Warning] Skip download of WHAM48kHz. The directory $data_dir/WHAM48kHz arleady exists." 29 | else 30 | if [ -f "$data_dir/WHAM48kHz.zip" ]; then 31 | echo "[Warning] $data_dir/WHAM48kHz.zip already exists. Skip download." 32 | else 33 | echo "Download WHAM48kHz noise dataset to $data_dir/WHAM48kHz.zip" 34 | wget -O $data_dir/WHAM48kHz.zip https://my-bucket-a8b4b49c25c811ee9a7e8bba05fa24c7.s3.amazonaws.com/high_res_wham.zip 35 | fi 36 | mkdir $data_dir/WHAM48kHz; 37 | echo "Extract $data_dir/WHAM48kHz.zip to $data_dir/WHAM48kHz" 38 | n_files=`unzip -l $data_dir/WHAM48kHz.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 39 | unzip $data_dir/WHAM48kHz.zip -d $data_dir/WHAM48kHz | tqdm --unit files --unit_scale --total $n_files > /dev/null 40 | rm $data_dir/WHAM48kHz.zip 41 | fi 42 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # EARS-WHAM and EARS-Reverb generation scripts 2 | 3 | This repository contains generation scripts for the EARS-WHAM and EARS-Reverb benchmarks. 4 | 5 | ## Changelog: 6 | 7 | - [04/25/2025] Version 2 (v2) released. 8 | - [06/14/2024] Version 1 (v1) released. 9 | 10 | ## Environment 11 | 12 | Please make sure you have installed the required packages. 13 | 14 | You can run the following command to install them: 15 | 16 | ``` 17 | python -m pip install -r requirements.txt 18 | ``` 19 | 20 | ## Generate EARS-WHAM_v2 21 | 22 | To generate EARS-WHAM, first download the original EARS and WHAM! datasets with the following command, where `` is the directory where the datasets will be downloaded: 23 | 24 | ``` 25 | bash download_ears_wham.sh 26 | ``` 27 | 28 | Then you can generate the EARS-WHAM dataset with the following command: 29 | 30 | ``` 31 | python generate_ears_wham.py --data_dir 32 | ``` 33 | 34 | Optionally, you can generate a 16 kHz version by adding the `--16k` flag: 35 | 36 | ``` 37 | python generate_ears_wham.py --data_dir --16k 38 | ``` 39 | 40 | ### Improvements in EARS-WHAM_v2: 41 | 42 | - Uses the recommended train, valid, test split from WHAM for the noise files. 43 | - Filters low-frequency noise in clean files with a high-pass filter. 44 | - Utilizes energy thresholds to avoid empty speech files. 45 | 46 | ## Generate EARS-Reverb_v2 47 | 48 | To generate EARS-Reverb, first download the original EARS and RIR datasets with the following command, where `` is the directory where the datasets will be downloaded: 49 | 50 | ``` 51 | bash download_ears_reverb.sh 52 | ``` 53 | 54 | Then you can generate the EARS-Reverb dataset with the following command: 55 | 56 | ``` 57 | python generate_ears_reverb.py --data_dir 58 | 59 | ``` 60 | 61 | Optionally, you can generate a 16 kHz version by adding the `--16k` flag: 62 | 63 | ``` 64 | python generate_ears_wham.py --data_dir --16k 65 | ``` 66 | 67 | ### Improvements in EARS-Reverb_v2: 68 | 69 | - Defines train, valid, and test splits for RIRs by splitting among datasets. 70 | - Filters low-frequency noise in clean files with a high-pass filter. 71 | - Utilizes energy thresholds to avoid empty speech files. 72 | 73 | # License 74 | 75 | The code and dataset are released under [CC-NC 4.0 International license](https://github.com/facebookresearch/ears_dataset/blob/main/LICENSE). 76 | 77 | # References 78 | 79 | If you use the dataset or any derivative of it, please cite our [research paper](https://arxiv.org/abs/2406.06185): 80 | 81 | ``` 82 | @inproceedings{richter2024ears, 83 | title={{EARS}: An Anechoic Fullband Speech Dataset Benchmarked for Speech Enhancement and Dereverberation}, 84 | author={Richter, Julius and Wu, Yi-Chiao and Krenn, Steven and Welker, Simon and Lay, Bunlong and Watanabe, Shinjii and Richard, Alexander and Gerkmann, Timo}, 85 | booktitle={ISCA Interspeech}, 86 | year={2024} 87 | } 88 | ``` 89 | 90 | For audio samples, visit the [project page](https://sp-uhh.github.io/ears_dataset/). -------------------------------------------------------------------------------- /download_ears_reverb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if the correct number of arguments was provided 4 | if [ "$#" -ne 1 ]; then 5 | echo "Usage: $0 " 6 | exit 1 7 | fi 8 | 9 | data_dir=$1 10 | data_dir="$(realpath -s "$data_dir")" 11 | echo "Data directory is set to $data_dir" 12 | 13 | # Download the EARS speech dataset 14 | if [ -d "$data_dir/EARS" ]; then 15 | echo "[Warning] Skip download of EARS. The directory $data_dir/EARS arleady exists." 16 | else 17 | mkdir $data_dir/EARS 18 | for X in $(seq -w 001 107); do 19 | wget -L https://github.com/facebookresearch/ears_dataset/releases/download/dataset/p${X}.zip -O $data_dir/EARS/p${X}.zip 20 | n_files=`unzip -l $data_dir/EARS/p${X}.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 21 | unzip $data_dir/EARS/p${X}.zip -d $data_dir/EARS | tqdm --unit files --unit_scale --total $n_files > /dev/null 22 | rm $data_dir/EARS/p${X}.zip 23 | done 24 | fi 25 | 26 | # Download ACE-Challenge Dataset 27 | if [ -d "$data_dir/ACE-Challenge" ]; then 28 | echo "[Warning] Skip download of ACE-Challenge. The directory $data_dir/ACE-Challenge arleady exists." 29 | else 30 | mkdir $data_dir/ACE-Challenge 31 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_Data.tbz2 32 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_instructions_v01.pdf 33 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_Microphone_arrangements_v02.pdf 34 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_Chromebook.tbz2 35 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_Crucif.tbz2 36 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_EM32.tbz2 37 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_Lin8Ch.tbz2 38 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_Mobile.tbz2 39 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_RIRN_Single.tbz2 40 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_Software.tbz2 41 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_Corpus_Speech.tbz2 42 | wget -P $data_dir/ACE-Challenge/ https://zenodo.org/records/6257551/files/ACE_TASLP_ref.bib 43 | for file in "$data_dir/ACE-Challenge/"*.tbz2; do 44 | echo "Extract $file" 45 | extract_dir="${file%%.tbz2}" 46 | mkdir -p "$extract_dir" 47 | tar -jxvf "$file" -C "$extract_dir" > /dev/null 48 | rm "$file" 49 | done 50 | fi 51 | 52 | # Download AIR dataset 53 | if [ -d "$data_dir/AIR" ]; then 54 | echo "[Warning] Skip download of AIR. The directory $data_dir/AIR arleady exists." 55 | else 56 | if [ -f "$data_dir/AIR.zip" ]; then 57 | echo "[Warning] $data_dir/AIR.zip already exists. Skip download." 58 | else 59 | echo "Download AIR noise dataset to $data_dir/AIR.zip" 60 | wget -O $data_dir/AIR.zip https://www.iks.rwth-aachen.de/fileadmin/user_upload/downloads/forschung/tools-downloads/air_database_release_1_4.zip 61 | fi 62 | mkdir $data_dir/AIR 63 | echo "Extract $data_dir/AIR.zip to $data_dir/AIR" 64 | n_files=`unzip -l $data_dir/AIR.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 65 | unzip $data_dir/AIR.zip -d $data_dir/AIR | tqdm --unit files --unit_scale --total $n_files > /dev/null 66 | rm $data_dir/AIR.zip 67 | mkdir $data_dir/AIR/AIR_1_4/AIR_wav_files 68 | echo "Extract $data_dir/AIR/AIR_1_4/AIR_wav_files.zip to $data_dir/AIR/AIR_1_4/AIR_wav_files" 69 | n_files=`unzip -l $data_dir/AIR/AIR_1_4/AIR_wav_files.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 70 | unzip $data_dir/AIR/AIR_1_4/AIR_wav_files.zip -d $data_dir/AIR/AIR_1_4/AIR_wav_files | tqdm --unit files --unit_scale --total $n_files > /dev/null 71 | rm $data_dir/AIR/AIR_1_4/AIR_wav_files.zip 72 | fi 73 | 74 | # Download DetmoldSRIR dataset 75 | if [ -d "$data_dir/DetmoldSRIR" ]; then 76 | echo "[Warning] Skip download of DetmoldSRIR. The directory $data_dir/DetmoldSRIR arleady exists." 77 | else 78 | if [ -f "$data_dir/DetmoldSRIR.zip" ]; then 79 | echo "[Warning] $data_dir/DetmoldSRIR.zip already exists. Skip download." 80 | else 81 | echo "Download DetmoldSRIR noise dataset to $data_dir/DetmoldSRIR.zip" 82 | wget -O $data_dir/DetmoldSRIR.zip https://zenodo.org/api/records/4116247/files-archive 83 | fi 84 | mkdir $data_dir/DetmoldSRIR; 85 | echo "Extract $data_dir/DetmoldSRIR.zip to $data_dir/DetmoldSRIR" 86 | n_files=`unzip -l $data_dir/DetmoldSRIR.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 87 | unzip $data_dir/DetmoldSRIR.zip -d $data_dir/DetmoldSRIR | tqdm --unit files --unit_scale --total $n_files > /dev/null 88 | rm $data_dir/DetmoldSRIR.zip 89 | echo "Extract $data_dir/DetmoldSRIR/DetmoldSRIR_v01.zip to $data_dir/DetmoldSRIR/" 90 | n_files=`unzip -l $data_dir/DetmoldSRIR/DetmoldSRIR_v01.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 91 | unzip $data_dir/DetmoldSRIR/DetmoldSRIR_v01.zip -d $data_dir/DetmoldSRIR/ | tqdm --unit files --unit_scale --total $n_files > /dev/null 92 | rm $data_dir/DetmoldSRIR/DetmoldSRIR_v01.zip 93 | fi 94 | 95 | # Download dEchorate dataset 96 | if [ -d "$data_dir/dEchorate" ]; then 97 | echo "[Warning] Skip download of dEchorate. The directory $data_dir/dEchorate arleady exists." 98 | else 99 | mkdir $data_dir/dEchorate 100 | mkdir $data_dir/dEchorate/sofa 101 | gdown 1pFEI_KEwZROR1EXUHbx7OMLryY6NN47O -O $data_dir/dEchorate/ 102 | gdown 1fsDNVwalMYrI9pq0Q3BI7PFBr0Z_L9PB -O $data_dir/dEchorate/ 103 | gdown 1sErbvkuvSwoBlHXz7ssQM8VhrAD1_4mj -O $data_dir/dEchorate/ 104 | gdown 1zFs4P2pRkX-IcTlvGMoc7lLca9xihJNW -O $data_dir/dEchorate/ 105 | gdown --folder 1iKjhy7QvdQ38HwxQ5ZCBI-eCQTuVLlgt -O $data_dir/dEchorate/sofa 106 | echo "Extract $data_dir/dEchorate/sofa/*.zip to $data_dir/dEchorate/sofa/" 107 | for file in `ls $data_dir/dEchorate/sofa/*.zip`; do 108 | n_files=`unzip -l $file | tail -n 1 | xargs echo -n | cut -d' ' -f2` 109 | unzip -o $file -d $data_dir/dEchorate/sofa/ | tqdm --unit files --unit_scale --total $n_files > /dev/null 110 | rm $file 111 | done 112 | fi 113 | 114 | # Download BRUDEX dataset 115 | if [ -d "$data_dir/BRUDEX" ]; then 116 | echo "[Warning] Skip download of BRUDEX. The directory $data_dir/BRUDEX arleady exists." 117 | else 118 | if [ -f "$data_dir/BRUDEX.zip" ]; then 119 | echo "[Warning] $data_dir/BRUDEX.zip already exists. Skip download." 120 | else 121 | echo "Download BRUDEX noise dataset to $data_dir/BRUDEX.zip" 122 | wget -O $data_dir/BRUDEX.zip https://zenodo.org/records/8340195/files/rir.zip?download=1 123 | fi 124 | mkdir $data_dir/BRUDEX 125 | echo "Extract $data_dir/BRUDEX.zip to $data_dir/BRUDEX" 126 | n_files=`unzip -l $data_dir/BRUDEX.zip | tail -n 1 | xargs echo -n | cut -d' ' -f2` 127 | unzip $data_dir/BRUDEX.zip -d $data_dir/BRUDEX | tqdm --unit files --unit_scale --total $n_files > /dev/null 128 | rm $data_dir/BRUDEX.zip 129 | fi 130 | 131 | # Download Palimpsest dataset 132 | if [ -d "$data_dir/Palimpsest" ]; then 133 | echo "[Warning] Skip download of Palimpsest. The directory $data_dir/Palimpsest arleady exists." 134 | else 135 | gdown 1utDu8wCdpj6fj0AlXNMXMIeWgn93arEF -O $data_dir/Palimpsest.zip 136 | unzip -o $data_dir/Palimpsest.zip -d $data_dir > /dev/null 137 | mv $data_dir/'Sonic Palimpsest -Impulse Response Library' $data_dir/Palimpsest 138 | rm $data_dir/Palimpsest.zip 139 | rm -r $data_dir/__MACOSX 140 | fi 141 | 142 | # Download ARNI dataset 143 | if [ -d "$data_dir/ARNI" ]; then 144 | echo "[Warning] Skip download of ARNI. The directory $data_dir/ARNI arleady exists." 145 | else 146 | mkdir $data_dir/ARNI 147 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/Arni_layout.jpg 148 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/Arni_panels_numbers.pdf 149 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/combinations_setup.csv 150 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_0-5.zip 151 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_6-15.zip 152 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_16-25.zip 153 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_26-35.zip 154 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_36-45.zip 155 | wget -P $data_dir/ARNI/ https://zenodo.org/records/6985104/files/IR_Arni_upload_numClosed_46-55.zip 156 | for file in $data_dir/ARNI/*.zip; do 157 | n_files=`unzip -l $file | tail -n 1 | xargs echo -n | cut -d' ' -f2` 158 | unzip $file -d "${file%%.zip}" | tqdm --unit files --unit_scale --total $n_files > /dev/null 159 | rm $file 160 | done 161 | fi 162 | -------------------------------------------------------------------------------- /generate_ears_wham.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import csv 3 | import json 4 | import torch 5 | import numpy as np 6 | import pyloudnorm as pyln 7 | 8 | from glob import glob 9 | from os import listdir, makedirs 10 | from os.path import join, isdir, exists 11 | from argparse import ArgumentParser 12 | from soundfile import read, write 13 | from tqdm import tqdm 14 | from torchaudio.functional import highpass_biquad 15 | from torchaudio.transforms import Resample 16 | 17 | 18 | def save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, noise_file, noise_start, mixture, speech, loudness_speech, loudness_noise, loudness_mixture, snr_dB, sr): 19 | with open(join(target_dir, f"{subset}.csv"), "a") as text_file: 20 | text_file.write(f"{id:05},{speaker},{speech_file.split('/')[-1][:-4]},{speech_start},{speech_end}," 21 | + f"{noise_file.split('/')[-1][:-4]},{noise_start+speech_start},{noise_start+speech_start+len(mixture)}," 22 | + f"{loudness_speech:.1f},{loudness_noise:.1f},{loudness_mixture:.1f},{snr_dB:.1f}\n") 23 | write(join(target_dir, subset, "noisy", speaker, f"{id:05}_{snr_dB:.1f}dB.wav"), mixture, sr, subtype="FLOAT") 24 | write(join(target_dir, subset, "clean", speaker, f"{id:05}.wav"), speech, sr, subtype="FLOAT") 25 | id += 1 26 | return id 27 | 28 | def find_emotion_style(speech_file, emotions_styles=[]): 29 | for emo_style in emotions_styles: 30 | if emo_style.lower() in speech_file.lower(): 31 | return emo_style 32 | return None 33 | 34 | 35 | def main(args): 36 | # Reproducibility 37 | np.random.seed(42) 38 | 39 | # Set sampling rate 40 | if getattr(args, '16k') == True: 41 | target_sr = 16000 42 | else: 43 | target_sr = args.sr 44 | 45 | # Organize directories 46 | speech_dir = join(args.data_dir, "EARS") 47 | noise_dir = join(args.data_dir, "WHAM48kHz") 48 | 49 | if target_sr == 48000: 50 | target_dir = join(args.data_dir, "EARS-WHAM_v2") 51 | else: 52 | target_dir = join(args.data_dir, f"EARS-WHAM_v2_{target_sr//1000}k") 53 | 54 | assert isdir(speech_dir), f"The directory {speech_dir} does not exist" 55 | assert isdir(noise_dir), f"The directory {noise_dir} does not exist" 56 | 57 | if exists(join(args.data_dir, target_dir)): 58 | print(f"[Warning] Abort EARS-WHAM generation script. The directory {join(args.data_dir, target_dir)} already exists.") 59 | sys.exit() 60 | else: 61 | makedirs(target_dir) 62 | 63 | all_speakers = sorted(listdir(speech_dir)) 64 | # Define training split 65 | valid_speakers = ["p100", "p101"] 66 | test_speakers = ["p102", "p103", "p104", "p105", "p106", "p107"] 67 | 68 | speakers = { 69 | "train": [s for s in all_speakers if s not in valid_speakers + test_speakers], 70 | "valid": valid_speakers, 71 | "test": test_speakers 72 | } 73 | 74 | # Hold out speaking styles 75 | hold_out_styles = ["interjection", "melodic", "nonverbal", "vegetative"] 76 | 77 | # Define emotions and speaking styles 78 | emotions_styles = [ 79 | "adoration", 80 | "amazement", 81 | "amusement", 82 | "anger", 83 | "confusion", 84 | "contentment", 85 | "cuteness", 86 | "desire", 87 | "disappointment", 88 | "disgust", 89 | "distress", 90 | "embarassment", 91 | "extasy", 92 | "fast", 93 | "fear", 94 | "guilt", 95 | "highpitch", 96 | "interest", 97 | "loud", 98 | "lowpitch", 99 | "neutral", 100 | "pain", 101 | "pride", 102 | "realization", 103 | "relief", 104 | "regular", 105 | "sadness", 106 | "serenity", 107 | "slow", 108 | "whisper" 109 | ] 110 | 111 | # Retrieve noise metadata 112 | noise_splits = {"train": [], "valid": [], "test": []} 113 | with open(join(noise_dir, "high_res_wham", "high_res_metadata.csv"), mode='r') as file: 114 | reader = csv.DictReader(file) 115 | for row in reader: 116 | subset = row['WHAM! Split'].lower() 117 | filename = row['Filename'] 118 | noise_splits[subset].append(filename) 119 | 120 | # DSP 121 | meter = pyln.Meter(48000) 122 | resample = Resample(48000, target_sr, dtype=torch.float64) 123 | 124 | # Select speech files for split 125 | for subset in ["train", "valid"]: 126 | print(f"Generate {subset} split") 127 | with open(join(target_dir, f"{subset}.csv"), "w") as text_file: 128 | text_file.write(f"id,speaker,speech_file,speech_start,speech_end,noise_file,noise_start,noise_end,speech_dB,noise_dB,mixture_dB,snr_dB\n") 129 | speech_files = [] 130 | for speaker in speakers[subset]: 131 | speech_files += sorted(glob(join(speech_dir, speaker, "*.wav"))) 132 | makedirs(join(target_dir, subset, "clean", speaker)) 133 | makedirs(join(target_dir, subset, "noisy", speaker)) 134 | 135 | # Select noise files 136 | noise_files = [join(noise_dir, "high_res_wham", "audio", filename) for filename in noise_splits.get(subset, [])] 137 | 138 | # Remove files of hold out styles 139 | speech_files = [speech_file for speech_file in speech_files if speech_file.split("/")[-1].split("_")[0] not in hold_out_styles] 140 | id = 0 141 | for speech_file in tqdm(speech_files): 142 | speech, sr = read(speech_file) 143 | speaker = speech_file.split("/")[-2] 144 | assert sr == 48000, "Script only works for speech files of 48kHz." 145 | 146 | # Only take speech files that are longer than min_length 147 | if len(speech) < args.min_length*sr: 148 | continue 149 | 150 | # Fitler speech signal with Hi-Pass filter 151 | speech = highpass_biquad(torch.from_numpy(speech), sample_rate=sr, cutoff_freq=args.cutoff_freq).numpy() 152 | 153 | noise = np.zeros((0,0)) 154 | # Only take noise file that is longer than the speech file 155 | while noise.shape[0] < speech.shape[0]: 156 | noise_file = np.random.choice(noise_files) 157 | noise, sr_noise = read(noise_file, always_2d=True) 158 | assert sr == sr_noise, "Sampling rates of speech and noise should match." 159 | 160 | # Take random channel if noise file is multi-channel 161 | channel = np.random.randint(0, noise.shape[1]) 162 | noise = noise[:,channel] 163 | 164 | # Randomly select a part of the noise file 165 | noise_start = np.random.randint(len(noise)-len(speech)+1) 166 | noise = noise[noise_start:noise_start+len(speech)] 167 | 168 | # Normalize noise to target SNR 169 | snr_dB = np.round(np.random.uniform(args.min_snr, args.max_snr), decimals=1) 170 | loudness_speech = meter.integrated_loudness(speech) 171 | loudness_noise = meter.integrated_loudness(noise) 172 | target_loudness = loudness_speech - snr_dB 173 | delta_loudness = target_loudness - loudness_noise 174 | gain = np.power(10.0, delta_loudness/20.0) 175 | noise_scaled = gain * noise 176 | mixture = speech + noise_scaled 177 | 178 | # Add 1dB to target SNR if mixture is clipping 179 | while np.max(np.abs(mixture)) >= 1.0: 180 | snr_dB = snr_dB + 1 181 | target_loudness = loudness_speech - snr_dB 182 | delta_loudness = target_loudness - loudness_noise 183 | gain = np.power(10.0, delta_loudness/20.0) 184 | noise_scaled = gain * noise 185 | mixture = speech + noise_scaled 186 | 187 | # Cut long files into pieces 188 | if len(mixture) >= int((args.cut_length + args.min_length)*sr): 189 | long_mixture = mixture 190 | long_speech = speech 191 | num_splits = int((len(long_mixture) - int(args.min_length*sr))/int(args.cut_length*sr)) + 1 192 | for i in range(num_splits - 1): 193 | speech_start = i*int(args.cut_length*sr) 194 | speech_end = (i+1)*int(args.cut_length*sr) 195 | mixture = long_mixture[speech_start:speech_end] 196 | speech = long_speech[speech_start:speech_end] 197 | 198 | # Measure loudness of the speech, noise, and mixture snippet 199 | noise = mixture - speech 200 | loudness_speech = meter.integrated_loudness(speech) 201 | loudness_noise = meter.integrated_loudness(noise) 202 | loudness_mixture = meter.integrated_loudness(mixture) 203 | 204 | # Resample to target sampling rate 205 | if sr != target_sr: 206 | mixture = resample(torch.from_numpy(mixture)).numpy() 207 | speech = resample(torch.from_numpy(speech)).numpy() 208 | 209 | # Save file if it contains whisper or min_dB speech loundness 210 | if "whisper" in speech_file or loudness_speech > args.min_dB: 211 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, 212 | noise_file, noise_start, mixture, speech, loudness_speech, loudness_noise, 213 | loudness_mixture, snr_dB, target_sr) 214 | speech_start = (num_splits - 1)*int(args.cut_length*sr) 215 | speech_end = -1 216 | mixture = long_mixture[speech_start:speech_end] 217 | speech = long_speech[speech_start:speech_end] 218 | 219 | # Measure loudness of the speech, noise, and mixture snippet 220 | noise = mixture - speech 221 | loudness_speech = meter.integrated_loudness(speech) 222 | loudness_noise = meter.integrated_loudness(noise) 223 | loudness_mixture = meter.integrated_loudness(mixture) 224 | 225 | # Resample to target sampling rate 226 | if sr != target_sr: 227 | mixture = resample(torch.from_numpy(mixture)).numpy() 228 | speech = resample(torch.from_numpy(speech)).numpy() 229 | 230 | # Save file if it contains whisper or min_dB speech loundness 231 | if "whisper" in speech_file or loudness_speech > args.min_dB: 232 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, 233 | noise_file, noise_start, mixture, speech, loudness_speech, loudness_noise, 234 | loudness_mixture, snr_dB, target_sr) 235 | else: 236 | speech_start = 0 237 | speech_end = -1 238 | 239 | # Measure loudness of the speech, noise, and mixture snippet 240 | noise = mixture - speech 241 | loudness_speech = meter.integrated_loudness(speech) 242 | loudness_noise = meter.integrated_loudness(noise) 243 | loudness_mixture = meter.integrated_loudness(mixture) 244 | 245 | # Resample to target sampling rate 246 | if sr != target_sr: 247 | mixture = resample(torch.from_numpy(mixture)).numpy() 248 | speech = resample(torch.from_numpy(speech)).numpy() 249 | 250 | # Save file if it contains whisper or min_dB speech loundness 251 | if "whisper" in speech_file or loudness_speech > args.min_dB: 252 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, 253 | noise_file, noise_start, mixture, speech, loudness_speech, loudness_noise, 254 | loudness_mixture, snr_dB, target_sr) 255 | 256 | # ramps at beginning and end 257 | ramp_duration = args.ramp_time_in_ms / 1000 258 | ramp_samples = int(ramp_duration * 48000) 259 | ramp = np.linspace(0, 1, ramp_samples) 260 | 261 | # Reset the seed for reproducibility 262 | np.random.seed(42) 263 | 264 | print("Generate test split") 265 | with open("test_files.json", "r") as json_file: 266 | data = json.load(json_file) 267 | 268 | with open(join(target_dir, f"test.csv"), "w") as text_file: 269 | text_file.write(f"id,speaker,speech_file,speech_start,speech_end,noise_file,noise_start,noise_end,snr_dB\n") 270 | 271 | test_files = [] 272 | for speaker in test_speakers: 273 | makedirs(join(target_dir, "test", "clean", speaker)) 274 | makedirs(join(target_dir, "test", "noisy", speaker)) 275 | speech_files = list(data[speaker].keys()) 276 | for speech_file in speech_files: 277 | test_files.append(join(speech_dir, speaker, speech_file + ".wav")) 278 | 279 | # Shuffle test files 280 | np.random.shuffle(test_files) 281 | 282 | # Select noise test files 283 | noise_files = [join(noise_dir, "high_res_wham", "audio", filename) for filename in noise_splits.get("test", [])] 284 | 285 | # Ensure that the SNR is sampled uniformly for each emotion/style 286 | number_of_files_per_emotion = 12 287 | snr_bins = np.linspace(args.min_snr, args.max_snr, number_of_files_per_emotion + 1) 288 | counter_emotion_style = {x: 0 for x in emotions_styles} 289 | 290 | id = 0 291 | for test_file in tqdm(test_files): 292 | speaker = test_file.split("/")[-2] 293 | speech_file = test_file.split("/")[-1][:-4] 294 | 295 | speech, sr = read(join(speech_dir, speaker, speech_file + ".wav")) 296 | assert sr == 48000, "Script only works for speech files of 48kHz." 297 | 298 | # Fitler speech signal with Hi-Pass filter 299 | speech = highpass_biquad(torch.from_numpy(speech), sample_rate=sr, cutoff_freq=args.cutoff_freq).numpy() 300 | 301 | cutting_times = data[speaker][speech_file] 302 | 303 | noise_file = np.random.choice(noise_files) 304 | noise, sr = read(noise_file, always_2d=True) 305 | 306 | # Take random channel if noise file is multi-channel 307 | channel = np.random.randint(0, noise.shape[1]) 308 | noise = noise[:,channel] 309 | 310 | for cutting_time in cutting_times: 311 | start = cutting_time[0] 312 | end = cutting_time[1] 313 | speech_cut = speech[start:end] 314 | 315 | # Only take speech files that not longer than max_time_test_set_in_s 316 | if len(speech_cut) > args.max_time_test_set_in_s*sr: 317 | continue 318 | 319 | # Only take noise file that is longer than the speech file 320 | if noise.shape[0] < speech_cut.shape[0]: 321 | while noise.shape[0] < speech_cut.shape[0]: 322 | noise_file = np.random.choice(noise_files) 323 | noise, sr_noise = read(noise_file, always_2d=True) 324 | assert sr == sr_noise, "Sampling rates of speech and noise should match." 325 | 326 | # Take random channel if noise file is multi-channel 327 | channel = np.random.randint(0, noise.shape[1]) 328 | noise = noise[:,channel] 329 | 330 | # Randomly select a part of the noise file 331 | noise_start = np.random.randint(len(noise)-len(speech_cut)+1) 332 | noise_cut = noise[noise_start:noise_start+len(speech_cut)] 333 | 334 | # Sample SNR uniformly for each emotion/style, else sample uniformly between min_snr and max_snr 335 | emo_style = find_emotion_style(speech_file, emotions_styles) 336 | if emo_style is not None: 337 | index = counter_emotion_style[emo_style] % number_of_files_per_emotion 338 | min_snr = snr_bins[index] 339 | max_snr = snr_bins[index+1] 340 | counter_emotion_style[emo_style] += 1 341 | snr_dB = np.round(np.random.uniform(min_snr, max_snr), decimals=1) 342 | else: 343 | snr_dB = np.round(np.random.uniform(args.min_snr, args.max_snr), decimals=1) 344 | 345 | # Normalize noise to target SNR 346 | loudness_speech_cut = meter.integrated_loudness(speech_cut) 347 | loudness_noise = meter.integrated_loudness(noise_cut) 348 | target_loudness = loudness_speech_cut - snr_dB 349 | delta_loudness = target_loudness - loudness_noise 350 | gain = np.power(10.0, delta_loudness/20.0) 351 | noise_scaled = gain * noise_cut 352 | mixture = speech_cut + noise_scaled 353 | 354 | # Add 1dB to target SNR if mixture is clipping 355 | while np.max(np.abs(mixture)) >= 1.0: 356 | snr_dB = snr_dB + 1 357 | target_loudness = loudness_speech_cut - snr_dB 358 | delta_loudness = target_loudness - loudness_noise 359 | gain = np.power(10.0, delta_loudness/20.0) 360 | noise_scaled = gain * noise_cut 361 | mixture = speech_cut + noise_scaled 362 | 363 | # Apply ramps 364 | mixture[:ramp_samples] = mixture[:ramp_samples] * ramp 365 | mixture[-ramp_samples:] = mixture[-ramp_samples:] * ramp[::-1] 366 | speech_cut[:ramp_samples] = speech_cut[:ramp_samples] * ramp 367 | speech_cut[-ramp_samples:] = speech_cut[-ramp_samples:] * ramp[::-1] 368 | 369 | # Measure loudness of the speech, noise, and mixture snippet 370 | noise = mixture - speech_cut 371 | loudness_speech = meter.integrated_loudness(speech_cut) 372 | loudness_noise = meter.integrated_loudness(noise) 373 | loudness_mixture = meter.integrated_loudness(mixture) 374 | 375 | # Resample to target sampling rate 376 | if sr != target_sr: 377 | mixture = resample(torch.from_numpy(mixture)).numpy() 378 | speech_cut = resample(torch.from_numpy(speech_cut)).numpy() 379 | 380 | id = save_files(target_dir, "test", speaker, id, test_file, start, end, noise_file, noise_start, mixture, 381 | speech_cut, loudness_speech, loudness_noise, loudness_mixture, snr_dB, target_sr) 382 | 383 | 384 | if __name__ == "__main__": 385 | ''' 386 | Usage: 387 | 388 | python generate_ears_wham.py --data_dir /data3/databases 389 | 390 | ''' 391 | 392 | parser = ArgumentParser() 393 | parser.add_argument("--data_dir", type=str, required=True, help="Path to data directory which should contain subdirectories EARS and WHAM!48kHz") 394 | parser.add_argument("--min_snr", type=float, default=-2.5, help="Minimum SNR") 395 | parser.add_argument("--max_snr", type=float, default=17.5, help="Maximum SNR") 396 | parser.add_argument("--min_length", type=float, default=4.0, help="Minimum length of speech files in seconds") 397 | parser.add_argument("--cut_length", type=float, default=10.0, help="Cut long files to this length in seconds") 398 | parser.add_argument("--cutoff_freq", type=float, default=75.0, help="Cutoff frequency for Hi-Pass filter") 399 | parser.add_argument("--min_dB", type=float, default=-55.0, help="Minimum loundness threshold for clean speech") 400 | parser.add_argument("--sr", type=int, default=48000, help="Sampling rate") 401 | parser.add_argument("--16k", action="store_true", help="Set sampling rate to 16kHz") 402 | parser.add_argument("--ramp_time_in_ms", type=int, default=10, help="Ramp time in ms") 403 | parser.add_argument("--max_time_test_set_in_s", type=int, default=29, help="Maximum time in seconds for the test set") 404 | args = parser.parse_args() 405 | 406 | main(args) -------------------------------------------------------------------------------- /generate_ears_reverb.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import sofa 3 | import mat73 4 | import torch 5 | import numpy as np 6 | import pyloudnorm as pyln 7 | 8 | import json 9 | from glob import glob 10 | from os import listdir, makedirs 11 | from os.path import join, isdir, exists 12 | from argparse import ArgumentParser 13 | from soundfile import read, write 14 | from tqdm import tqdm 15 | from scipy.signal import convolve 16 | from scipy import stats 17 | from librosa import resample as resample_librosa 18 | from torchaudio.functional import highpass_biquad 19 | from torchaudio.transforms import Resample 20 | 21 | 22 | def save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, rir_file, channel, 23 | gain, rt60, mixture, speech, data_dir, sr): 24 | with open(join(target_dir, f"{subset}.csv"), "a") as text_file: 25 | text_file.write(f"{id:05},{speaker},{speech_file.split('/')[-1][:-4]},{speech_start},{speech_end}," 26 | + f"{rir_file.replace(data_dir, '')},{channel},{gain},{rt60:.2f}\n") 27 | write(join(target_dir, subset, "reverberant", speaker, f"{id:05}_{rt60:.2f}.wav"), mixture, sr, subtype="FLOAT") 28 | write(join(target_dir, subset, "clean", speaker, f"{id:05}.wav"), speech, sr, subtype="FLOAT") 29 | id += 1 30 | return id 31 | 32 | def calc_rt60(h, sr=48000, rt='t30'): 33 | """ 34 | RT60 measurement routine acording to Schroeder's method [1]. 35 | 36 | [1] M. R. Schroeder, "New Method of Measuring Reverberation Time," J. Acoust. Soc. Am., vol. 37, no. 3, pp. 409-412, Mar. 1968. 37 | 38 | Adapted from https://github.com/python-acoustics/python-acoustics/blob/99d79206159b822ea2f4e9d27c8b2fbfeb704d38/acoustics/room.py#L156 39 | """ 40 | rt = rt.lower() 41 | if rt == 't30': 42 | init = -5.0 43 | end = -35.0 44 | factor = 2.0 45 | elif rt == 't20': 46 | init = -5.0 47 | end = -25.0 48 | factor = 3.0 49 | elif rt == 't10': 50 | init = -5.0 51 | end = -15.0 52 | factor = 6.0 53 | elif rt == 'edt': 54 | init = 0.0 55 | end = -10.0 56 | factor = 6.0 57 | 58 | h_abs = np.abs(h) / np.max(np.abs(h)) 59 | 60 | # Schroeder integration 61 | sch = np.cumsum(h_abs[::-1]**2)[::-1] 62 | sch_db = 10.0 * np.log10(sch / np.max(sch)+1e-20) 63 | 64 | # Linear regression 65 | sch_init = sch_db[np.abs(sch_db - init).argmin()] 66 | sch_end = sch_db[np.abs(sch_db - end).argmin()] 67 | init_sample = np.where(sch_db == sch_init)[0][0] 68 | end_sample = np.where(sch_db == sch_end)[0][0] 69 | x = np.arange(init_sample, end_sample + 1) / sr 70 | y = sch_db[init_sample:end_sample + 1] 71 | slope, intercept = stats.linregress(x, y)[0:2] 72 | 73 | # Reverberation time (T30, T20, T10 or EDT) 74 | db_regress_init = (init - intercept) / slope 75 | db_regress_end = (end - intercept) / slope 76 | t60 = factor * (db_regress_end - db_regress_init) 77 | return t60 78 | 79 | 80 | def main(args): 81 | # Reproducibility 82 | np.random.seed(42) 83 | 84 | # Set sampling rate 85 | if getattr(args, '16k') == True: 86 | target_sr = 16000 87 | else: 88 | target_sr = args.sr 89 | 90 | # Organize directories 91 | speech_dir = join(args.data_dir, "EARS") 92 | if target_sr == 48000: 93 | target_dir = join(args.data_dir, "EARS-Reverb_v2") 94 | else: 95 | target_dir = join(args.data_dir, f"EARS-Reverb_v2_{target_sr//1000}k") 96 | 97 | assert isdir(speech_dir), f"The directory {speech_dir} does not exist" 98 | 99 | if exists(target_dir): 100 | print(f"[Warning] Abort EARS-Reverb generation script. The directory {join(args.data_dir, target_dir)} already exists.") 101 | sys.exit() 102 | else: 103 | makedirs(target_dir) 104 | 105 | all_speakers = sorted(listdir(speech_dir)) 106 | # Define training split 107 | valid_speakers = ["p100", "p101"] 108 | test_speakers = ["p102", "p103", "p104", "p105", "p106", "p107"] 109 | 110 | speakers = { 111 | "train": [s for s in all_speakers if s not in valid_speakers + test_speakers], 112 | "valid": valid_speakers, 113 | "test": test_speakers 114 | } 115 | 116 | # Hold out speaking styles 117 | hold_out_styles = ["interjection", "melodic", "nonverbal", "vegetative"] 118 | 119 | # Splits for RIRs 120 | rir_files = { 121 | "train": [], 122 | "valid": [], 123 | "test": [], 124 | } 125 | 126 | # ACE-Challenge dataset 127 | dir = join(args.data_dir, "ACE-Challenge") 128 | names = ["Chromebook", "Crucif", "EM32", "Lin8Ch", "Mobile", "Single"] 129 | for name in names: 130 | rir_files["test"] += sorted(glob(join(dir, f"ACE_Corpus_RIRN_{name}", "**", "*RIR.wav"), recursive=True)) 131 | 132 | # AIR dataset 133 | dir = join(args.data_dir, "AIR", "AIR_1_4", "AIR_wav_files") 134 | rir_files["valid"] += sorted(glob(join(dir, "*.wav"))) 135 | 136 | # ARNI dataset 137 | dir = join(args.data_dir, "ARNI") 138 | all_arni_files = sorted(glob(join(dir, "**", "*.wav"), recursive=True)) 139 | # remove file numClosed_26-35/IR_numClosed_28_numComb_2743_mic_4_sweep_5.wav because it is corrupted 140 | all_arni_files = [file for file in all_arni_files if "numClosed_26-35/IR_numClosed_28_numComb_2743_mic_4_sweep_5.wav" not in file] 141 | rir_files["train"] += sorted(list(np.random.choice(all_arni_files, size=1000, replace=False))) # take 1000 of 132037 RIRs 142 | 143 | # BRUDEX dataset 144 | dir = join(args.data_dir, "BRUDEX") 145 | rir_files["train"] += sorted(glob(join(dir, "rir", "**", "*.mat"), recursive=True)) 146 | 147 | # dEchorate dataset 148 | dir = join(args.data_dir, "dEchorate", "sofa") 149 | rir_files["train"] += sorted(glob(join(dir, "**", "*.sofa"), recursive=True)) 150 | 151 | # DetmoldSRIR dataset 152 | dir = join(args.data_dir, "DetmoldSRIR") 153 | rir_files["train"] += sorted(glob(join(dir, "SetA_SingleSources", "Data", "**", "*.wav"), recursive=True)) 154 | 155 | # Palimpsest dataset 156 | dir = join(args.data_dir, "Palimpsest") 157 | rir_files["train"] += sorted(glob(join(dir, "**", "*.wav"), recursive=True)) 158 | 159 | meter = pyln.Meter(48000) 160 | resample = Resample(48000, target_sr, dtype=torch.float64) 161 | 162 | # Select speech files for split 163 | for subset in ["train", "valid"]: 164 | print(f"Generate {subset} split") 165 | with open(join(target_dir, f"{subset}.csv"), "w") as text_file: 166 | text_file.write(f"id,speaker,speech_file,speech_start,speech_end,rir_file,channel,gain,rt60\n") 167 | speech_files = [] 168 | for speaker in speakers[subset]: 169 | speech_files += sorted(glob(join(speech_dir, speaker, "*.wav"))) 170 | makedirs(join(target_dir, subset, "clean", speaker)) 171 | makedirs(join(target_dir, subset, "reverberant", speaker)) 172 | 173 | # Remove files of hold out styles 174 | speech_files = [speech_file for speech_file in speech_files if speech_file.split("/")[-1].split("_")[0] not in hold_out_styles] 175 | id = 0 176 | for speech_file in tqdm(speech_files): 177 | speech, sr = read(speech_file) 178 | speaker = speech_file.split("/")[-2] 179 | assert sr == 48000, "Script only works for speech files of 48kHz." 180 | 181 | # Only take speech files that are longer than min_length 182 | if len(speech) < args.min_length*args.sr: 183 | continue 184 | 185 | # Fitler speech signal with Hi-Pass filter 186 | speech = highpass_biquad(torch.from_numpy(speech), sample_rate=sr, cutoff_freq=args.cutoff_freq).numpy() 187 | 188 | # Sample RIRs until RT60 is below max_rt60 and pre_samples are below max_pre_samples 189 | rt60 = np.inf 190 | while rt60 > args.max_rt60: 191 | rir_file = np.random.choice(rir_files[subset]) 192 | 193 | if "ARNI" in rir_file: 194 | rir, sr_rir = read(rir_file, always_2d=True) 195 | # Take random channel if file is multi-channel 196 | channel = np.random.randint(0, rir.shape[1]) 197 | rir = rir[:,channel] 198 | assert sr_rir == 44100, f"Sampling rate of {rir_file} is {sr}" 199 | rir = resample_librosa(rir, orig_sr=sr_rir, target_sr=48000) 200 | sr_rir = 48000 201 | elif rir_file.endswith(".wav"): 202 | rir, sr_rir = read(rir_file, always_2d=True) 203 | # Take random channel if file is multi-channel 204 | channel = np.random.randint(0, rir.shape[1]) 205 | rir = rir[:,channel] 206 | elif rir_file.endswith(".sofa"): 207 | hrtf = sofa.Database.open(rir_file) 208 | rir = hrtf.Data.IR.get_values() 209 | channel = np.random.randint(0, rir.shape[1]) 210 | rir = rir[0,channel,:] 211 | sr_rir = hrtf.Data.SamplingRate.get_values().item() 212 | elif rir_file.endswith(".mat"): 213 | rir = mat73.loadmat(rir_file) 214 | sr_rir = rir["fs"].item() 215 | rir = rir["data"] 216 | channel = np.random.randint(0, rir.shape[1]) 217 | rir = rir[:,channel] 218 | else: 219 | raise ValueError(f"Unknown file format: {rir_file}") 220 | 221 | assert sr_rir == sr, f"Sampling rate of {rir_file} is {sr_rir} Hz and not 48000 Hz" 222 | 223 | # Cut RIR to get direct path at the beginning 224 | max_index = np.argmax(np.abs(rir)) 225 | rir = rir[max_index:] 226 | 227 | # Normalize RIRs in range [0.1, 0.7] for numerical stability 228 | if np.max(np.abs(rir)) < 0.1: 229 | rir = 0.1 * rir / np.max(np.abs(rir)) 230 | elif np.max(np.abs(rir)) > 0.7: 231 | rir = 0.7 * rir / np.max(np.abs(rir)) 232 | 233 | rt60 = calc_rt60(rir, sr=sr) 234 | 235 | mixture = convolve(speech, rir)[:len(speech)] 236 | 237 | # normalize mixture 238 | loudness_speech = meter.integrated_loudness(speech) 239 | loudness_mixture = meter.integrated_loudness(mixture) 240 | delta_loudness = loudness_speech - loudness_mixture 241 | gain = np.power(10.0, delta_loudness/20.0) 242 | # if gain is inf sample again 243 | if np.isinf(gain): 244 | rt60 = np.inf 245 | mixture = gain * mixture 246 | 247 | if np.max(np.abs(mixture)) > 1.0: 248 | mixture = mixture / np.max(np.abs(mixture)) 249 | 250 | # Cut long files into pieces 251 | if len(mixture) >= int((args.cut_length + args.min_length)*args.sr): 252 | long_mixture = mixture 253 | long_speech = speech 254 | num_splits = int((len(long_mixture) - int(args.min_length*args.sr))/int(args.cut_length*args.sr)) + 1 255 | for i in range(num_splits - 1): 256 | speech_start = i*int(args.cut_length*args.sr) 257 | speech_end = (i+1)*int(args.cut_length*args.sr) 258 | mixture = long_mixture[speech_start:speech_end] 259 | speech = long_speech[speech_start:speech_end] 260 | 261 | # Measure loudness of the speech 262 | loudness_speech = meter.integrated_loudness(speech) 263 | 264 | # Resample to target sampling rate 265 | if sr != target_sr: 266 | mixture = resample(torch.from_numpy(mixture)).numpy() 267 | speech = resample(torch.from_numpy(speech)).numpy() 268 | 269 | # Save file if it contains whisper or min_dB speech loundness 270 | if "whisper" in speech_file or loudness_speech > args.min_dB: 271 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, rir_file, 272 | channel, gain, rt60, mixture, speech, args.data_dir, target_sr) 273 | speech_start = (num_splits - 1)*int(args.cut_length*args.sr) 274 | speech_end = -1 275 | mixture = long_mixture[speech_start:speech_end] 276 | speech = long_speech[speech_start:speech_end] 277 | 278 | # Measure loudness of the speech 279 | loudness_speech = meter.integrated_loudness(speech) 280 | 281 | # Resample to target sampling rate 282 | if sr != target_sr: 283 | mixture = resample(torch.from_numpy(mixture)).numpy() 284 | speech = resample(torch.from_numpy(speech)).numpy() 285 | 286 | # Save file if it contains whisper or min_dB speech loundness 287 | if "whisper" in speech_file or loudness_speech > args.min_dB: 288 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, rir_file, 289 | channel, gain, rt60, mixture, speech, args.data_dir, target_sr) 290 | else: 291 | speech_start = 0 292 | speech_end = -1 293 | 294 | # Measure loudness of the speech 295 | loudness_speech = meter.integrated_loudness(speech) 296 | 297 | # Resample to target sampling rate 298 | if sr != target_sr: 299 | mixture = resample(torch.from_numpy(mixture)).numpy() 300 | speech = resample(torch.from_numpy(speech)).numpy() 301 | 302 | # Save file if it contains whisper or min_dB speech loundness 303 | if "whisper" in speech_file or loudness_speech > args.min_dB: 304 | id = save_files(target_dir, subset, speaker, id, speech_file, speech_start, speech_end, rir_file, 305 | channel, gain, rt60, mixture, speech, args.data_dir, target_sr) 306 | 307 | # ramps at beginning and end 308 | ramp_duration = args.ramp_time_in_ms / 1000 309 | ramp_samples = int(ramp_duration * 48000) 310 | ramp = np.linspace(0, 1, ramp_samples) 311 | 312 | print("Generate test split") 313 | with open("test_files.json", "r") as json_file: 314 | data = json.load(json_file) 315 | 316 | with open(join(target_dir, f"test.csv"), "w") as text_file: 317 | text_file.write(f"id,speaker,speech_file,speech_start,speech_end,rir_file,channel,gain,rt60\n") 318 | 319 | test_speakers = list(data.keys()) 320 | 321 | test_files = [] 322 | for speaker in test_speakers: 323 | makedirs(join(target_dir, "test", "clean", speaker)) 324 | makedirs(join(target_dir, "test", "reverberant", speaker)) 325 | speech_files = list(data[speaker].keys()) 326 | for speech_file in speech_files: 327 | test_files.append(join(speech_dir, speaker, speech_file + ".wav")) 328 | 329 | # Reproducibility 330 | np.random.seed(42) 331 | np.random.shuffle(test_files) 332 | 333 | id = 0 334 | for test_file in tqdm(test_files): 335 | speaker = test_file.split("/")[-2] 336 | speech_file = test_file.split("/")[-1][:-4] 337 | 338 | speech, sr = read(join(speech_dir, speaker, speech_file + ".wav")) 339 | assert sr == 48000, "Script only works for speech files of 48kHz." 340 | 341 | # Fitler speech signal with Hi-Pass filter 342 | speech = highpass_biquad(torch.from_numpy(speech), sample_rate=sr, cutoff_freq=args.cutoff_freq).numpy() 343 | 344 | cutting_times = data[speaker][speech_file] 345 | 346 | for cutting_time in cutting_times: 347 | start = cutting_time[0] 348 | end = cutting_time[1] 349 | speech_cut = speech[start:end] 350 | 351 | # Only take speech files that not longer than max_time_test_set_in_s 352 | if len(speech_cut) > args.max_time_test_set_in_s*args.sr: 353 | continue 354 | 355 | # Sample RIRs until RT60 is below max_rt60 and pre_samples are below max_pre_samples 356 | rt60 = np.inf 357 | while rt60 > args.max_rt60: 358 | rir_file = np.random.choice(rir_files["test"]) 359 | 360 | if "ARNI" in rir_file: 361 | rir, sr_rir = read(rir_file, always_2d=True) 362 | # Take random channel if file is multi-channel 363 | channel = np.random.randint(0, rir.shape[1]) 364 | rir = rir[:,channel] 365 | assert sr_rir == 44100, f"Sampling rate of {rir_file} is {sr}" 366 | rir = resample(rir, orig_sr=sr_rir, target_sr=48000) 367 | sr_rir = 48000 368 | elif rir_file.endswith(".wav"): 369 | rir, sr_rir = read(rir_file, always_2d=True) 370 | # Take random channel if file is multi-channel 371 | channel = np.random.randint(0, rir.shape[1]) 372 | rir = rir[:,channel] 373 | elif rir_file.endswith(".sofa"): 374 | hrtf = sofa.Database.open(rir_file) 375 | rir = hrtf.Data.IR.get_values() 376 | channel = np.random.randint(0, rir.shape[1]) 377 | rir = rir[0,channel,:] 378 | sr_rir = hrtf.Data.SamplingRate.get_values().item() 379 | elif rir_file.endswith(".mat"): 380 | rir = mat73.loadmat(rir_file) 381 | sr_rir = rir["fs"].item() 382 | rir = rir["data"] 383 | channel = np.random.randint(0, rir.shape[1]) 384 | rir = rir[:,channel] 385 | else: 386 | raise ValueError(f"Unknown file format: {rir_file}") 387 | 388 | assert sr_rir == sr, f"Sampling rate of {rir_file} is {sr_rir} Hz and not 48000 Hz" 389 | 390 | # Cut RIR to get direct path at the beginning 391 | max_index = np.argmax(np.abs(rir)) 392 | rir = rir[max_index:] 393 | 394 | # Normalize RIRs in range [0.1, 0.7] for numerical stability 395 | if np.max(np.abs(rir)) < 0.1: 396 | rir = 0.1 * rir / np.max(np.abs(rir)) 397 | elif np.max(np.abs(rir)) > 0.7: 398 | rir = 0.7 * rir / np.max(np.abs(rir)) 399 | 400 | rt60 = calc_rt60(rir, sr=sr) 401 | 402 | mixture = convolve(speech_cut, rir)[:len(speech_cut)] 403 | 404 | # normalize mixture 405 | loudness_speech = meter.integrated_loudness(speech_cut) 406 | loudness_mixture = meter.integrated_loudness(mixture) 407 | delta_loudness = loudness_speech - loudness_mixture 408 | gain = np.power(10.0, delta_loudness/20.0) 409 | mixture = gain * mixture 410 | # if gain is inf sample again 411 | if np.isinf(gain): 412 | rt60 = np.inf 413 | 414 | if np.max(np.abs(mixture)) > 1.0: 415 | mixture = mixture / np.max(np.abs(mixture)) 416 | 417 | # Apply ramps 418 | mixture[:ramp_samples] = mixture[:ramp_samples] * ramp 419 | mixture[-ramp_samples:] = mixture[-ramp_samples:] * ramp[::-1] 420 | speech_cut[:ramp_samples] = speech_cut[:ramp_samples] * ramp 421 | speech_cut[-ramp_samples:] = speech_cut[-ramp_samples:] * ramp[::-1] 422 | 423 | # Resample to target sampling rate 424 | if sr != target_sr: 425 | mixture = resample(torch.from_numpy(mixture)).numpy() 426 | speech_cut = resample(torch.from_numpy(speech_cut)).numpy() 427 | 428 | id = save_files(target_dir, "test", speaker, id, test_file, start, end, rir_file, channel, gain, rt60, 429 | mixture, speech_cut, args.data_dir, target_sr) 430 | 431 | 432 | if __name__ == '__main__': 433 | ''' 434 | Usage: 435 | 436 | python generate_ears_reverb.py --data_dir /data3/databases 437 | 438 | ''' 439 | 440 | parser = ArgumentParser() 441 | parser.add_argument("--data_dir", type=str, required=True, help='Path to data directory which should contain subdirectories EARS and WHAM!48kHz') 442 | parser.add_argument("--min_length", type=float, default=4.0, help='Minimum length of speech files in seconds') 443 | parser.add_argument("--cut_length", type=float, default=10.0, help='Cut long files to this length in seconds') 444 | parser.add_argument("--cutoff_freq", type=float, default=75.0, help="Cutoff frequency for Hi-Pass filter") 445 | parser.add_argument("--min_dB", type=float, default=-55.0, help="Minimum loundness threshold for clean speech") 446 | parser.add_argument("--sr", type=int, default=48000, help='Sampling rate') 447 | parser.add_argument("--16k", action="store_true", help="Set sampling rate to 16kHz") 448 | parser.add_argument("--ramp_time_in_ms", type=int, default=10, help="Ramp time in ms") 449 | parser.add_argument("--max_rt60", type=float, default=2.0, help="Maximum RT60 in seconds") 450 | parser.add_argument("--max_time_test_set_in_s", type=int, default=29, help="Maximum time in seconds for the test set") 451 | args = parser.parse_args() 452 | 453 | main(args) 454 | -------------------------------------------------------------------------------- /test_files.json: -------------------------------------------------------------------------------- 1 | { 2 | "p102": { 3 | "emo_adoration_freeform": [ 4 | [ 5 | 0, 6 | -1 7 | ] 8 | ], 9 | "emo_adoration_sentences": [ 10 | [ 11 | 0, 12 | -1 13 | ] 14 | ], 15 | "emo_amazement_freeform": [ 16 | [ 17 | 0, 18 | -1 19 | ] 20 | ], 21 | "emo_amazement_sentences": [ 22 | [ 23 | 0, 24 | -1 25 | ] 26 | ], 27 | "emo_amusement_freeform": [ 28 | [ 29 | 0, 30 | -1 31 | ] 32 | ], 33 | "emo_amusement_sentences": [ 34 | [ 35 | 0, 36 | -1 37 | ] 38 | ], 39 | "emo_anger_freeform": [ 40 | [ 41 | 0, 42 | -1 43 | ] 44 | ], 45 | "emo_anger_sentences": [ 46 | [ 47 | 0, 48 | -1 49 | ] 50 | ], 51 | "emo_confusion_freeform": [ 52 | [ 53 | 0, 54 | -1 55 | ] 56 | ], 57 | "emo_confusion_sentences": [ 58 | [ 59 | 0, 60 | -1 61 | ] 62 | ], 63 | "emo_contentment_freeform": [ 64 | [ 65 | 0, 66 | -1 67 | ] 68 | ], 69 | "emo_contentment_sentences": [ 70 | [ 71 | 0, 72 | -1 73 | ] 74 | ], 75 | "emo_cuteness_freeform": [ 76 | [ 77 | 0, 78 | -1 79 | ] 80 | ], 81 | "emo_cuteness_sentences": [ 82 | [ 83 | 0, 84 | -1 85 | ] 86 | ], 87 | "emo_desire_freeform": [ 88 | [ 89 | 0, 90 | -1 91 | ] 92 | ], 93 | "emo_desire_sentences": [ 94 | [ 95 | 0, 96 | -1 97 | ] 98 | ], 99 | "emo_disappointment_freeform": [ 100 | [ 101 | 0, 102 | -1 103 | ] 104 | ], 105 | "emo_disappointment_sentences": [ 106 | [ 107 | 0, 108 | -1 109 | ] 110 | ], 111 | "emo_disgust_freeform": [ 112 | [ 113 | 0, 114 | -1 115 | ] 116 | ], 117 | "emo_disgust_sentences": [ 118 | [ 119 | 0, 120 | -1 121 | ] 122 | ], 123 | "emo_distress_freeform": [ 124 | [ 125 | 0, 126 | -1 127 | ] 128 | ], 129 | "emo_distress_sentences": [ 130 | [ 131 | 0, 132 | -1 133 | ] 134 | ], 135 | "emo_embarassment_freeform": [ 136 | [ 137 | 0, 138 | -1 139 | ] 140 | ], 141 | "emo_embarassment_sentences": [ 142 | [ 143 | 0, 144 | -1 145 | ] 146 | ], 147 | "emo_extasy_freeform": [ 148 | [ 149 | 0, 150 | -1 151 | ] 152 | ], 153 | "emo_extasy_sentences": [ 154 | [ 155 | 0, 156 | -1 157 | ] 158 | ], 159 | "emo_fear_freeform": [ 160 | [ 161 | 0, 162 | -1 163 | ] 164 | ], 165 | "emo_fear_sentences": [ 166 | [ 167 | 0, 168 | -1 169 | ] 170 | ], 171 | "emo_guilt_freeform": [ 172 | [ 173 | 0, 174 | -1 175 | ] 176 | ], 177 | "emo_guilt_sentences": [ 178 | [ 179 | 0, 180 | -1 181 | ] 182 | ], 183 | "emo_interest_freeform": [ 184 | [ 185 | 0, 186 | -1 187 | ] 188 | ], 189 | "emo_interest_sentences": [ 190 | [ 191 | 0, 192 | -1 193 | ] 194 | ], 195 | "emo_neutral_freeform": [ 196 | [ 197 | 0, 198 | -1 199 | ] 200 | ], 201 | "emo_neutral_sentences": [ 202 | [ 203 | 0, 204 | -1 205 | ] 206 | ], 207 | "emo_pain_freeform": [ 208 | [ 209 | 0, 210 | -1 211 | ] 212 | ], 213 | "emo_pain_sentences": [ 214 | [ 215 | 0, 216 | -1 217 | ] 218 | ], 219 | "emo_pride_freeform": [ 220 | [ 221 | 0, 222 | -1 223 | ] 224 | ], 225 | "emo_pride_sentences": [ 226 | [ 227 | 0, 228 | -1 229 | ] 230 | ], 231 | "emo_realization_freeform": [ 232 | [ 233 | 0, 234 | -1 235 | ] 236 | ], 237 | "emo_realization_sentences": [ 238 | [ 239 | 0, 240 | -1 241 | ] 242 | ], 243 | "emo_relief_freeform": [ 244 | [ 245 | 0, 246 | -1 247 | ] 248 | ], 249 | "emo_relief_sentences": [ 250 | [ 251 | 0, 252 | -1 253 | ] 254 | ], 255 | "emo_sadness_freeform": [ 256 | [ 257 | 0, 258 | -1 259 | ] 260 | ], 261 | "emo_sadness_sentences": [ 262 | [ 263 | 0, 264 | -1 265 | ] 266 | ], 267 | "emo_serenity_freeform": [ 268 | [ 269 | 0, 270 | -1 271 | ] 272 | ], 273 | "emo_serenity_sentences": [ 274 | [ 275 | 0, 276 | -1 277 | ] 278 | ], 279 | "freeform_speech_01": [ 280 | [ 281 | 16800, 282 | 752762 283 | ], 284 | [ 285 | 752762, 286 | 1428219 287 | ], 288 | [ 289 | 1428219, 290 | 2196800 291 | ], 292 | [ 293 | 2196800, 294 | 2859258 295 | ], 296 | [ 297 | 2859258, 298 | 3469169 299 | ], 300 | [ 301 | 3469169, 302 | 4357130 303 | ], 304 | [ 305 | 4357130, 306 | 4810503 307 | ], 308 | [ 309 | 4810503, 310 | 5396345 311 | ], 312 | [ 313 | 5396345, 314 | 6163033 315 | ], 316 | [ 317 | 6163033, 318 | 6996196 319 | ], 320 | [ 321 | 6996196, 322 | 7363377 323 | ], 324 | [ 325 | 7363377, 326 | 7873905 327 | ], 328 | [ 329 | 7873905, 330 | -1 331 | ] 332 | ], 333 | "rainbow_01_fast": [ 334 | [ 335 | 0, 336 | -1 337 | ] 338 | ], 339 | "rainbow_01_highpitch": [ 340 | [ 341 | 0, 342 | -1 343 | ] 344 | ], 345 | "rainbow_01_loud": [ 346 | [ 347 | 0, 348 | -1 349 | ] 350 | ], 351 | "rainbow_01_lowpitch": [ 352 | [ 353 | 0, 354 | -1 355 | ] 356 | ], 357 | "rainbow_01_regular": [ 358 | [ 359 | 0, 360 | -1 361 | ] 362 | ], 363 | "rainbow_01_slow": [ 364 | [ 365 | 0, 366 | -1 367 | ] 368 | ], 369 | "rainbow_01_whisper": [ 370 | [ 371 | 0, 372 | -1 373 | ] 374 | ], 375 | "rainbow_02_fast": [ 376 | [ 377 | 0, 378 | -1 379 | ] 380 | ], 381 | "rainbow_02_highpitch": [ 382 | [ 383 | 0, 384 | -1 385 | ] 386 | ], 387 | "rainbow_02_loud": [ 388 | [ 389 | 0, 390 | -1 391 | ] 392 | ], 393 | "rainbow_02_lowpitch": [ 394 | [ 395 | 0, 396 | -1 397 | ] 398 | ], 399 | "rainbow_02_regular": [ 400 | [ 401 | 0, 402 | -1 403 | ] 404 | ], 405 | "rainbow_02_slow": [ 406 | [ 407 | 0, 408 | -1 409 | ] 410 | ], 411 | "rainbow_02_whisper": [ 412 | [ 413 | 0, 414 | -1 415 | ] 416 | ], 417 | "rainbow_03_fast": [ 418 | [ 419 | 0, 420 | -1 421 | ] 422 | ], 423 | "rainbow_03_highpitch": [ 424 | [ 425 | 0, 426 | -1 427 | ] 428 | ], 429 | "rainbow_03_loud": [ 430 | [ 431 | 0, 432 | -1 433 | ] 434 | ], 435 | "rainbow_03_lowpitch": [ 436 | [ 437 | 0, 438 | -1 439 | ] 440 | ], 441 | "rainbow_03_regular": [ 442 | [ 443 | 0, 444 | -1 445 | ] 446 | ], 447 | "rainbow_03_slow": [ 448 | [ 449 | 0, 450 | -1 451 | ] 452 | ], 453 | "rainbow_03_whisper": [ 454 | [ 455 | 0, 456 | -1 457 | ] 458 | ], 459 | "rainbow_04_fast": [ 460 | [ 461 | 0, 462 | -1 463 | ] 464 | ], 465 | "rainbow_04_highpitch": [ 466 | [ 467 | 0, 468 | -1 469 | ] 470 | ], 471 | "rainbow_04_loud": [ 472 | [ 473 | 0, 474 | -1 475 | ] 476 | ], 477 | "rainbow_04_lowpitch": [ 478 | [ 479 | 0, 480 | -1 481 | ] 482 | ], 483 | "rainbow_04_regular": [ 484 | [ 485 | 0, 486 | -1 487 | ] 488 | ], 489 | "rainbow_04_slow": [ 490 | [ 491 | 0, 492 | -1 493 | ] 494 | ], 495 | "rainbow_04_whisper": [ 496 | [ 497 | 0, 498 | -1 499 | ] 500 | ], 501 | "rainbow_05_fast": [ 502 | [ 503 | 0, 504 | -1 505 | ] 506 | ], 507 | "rainbow_05_highpitch": [ 508 | [ 509 | 0, 510 | -1 511 | ] 512 | ], 513 | "rainbow_05_loud": [ 514 | [ 515 | 0, 516 | -1 517 | ] 518 | ], 519 | "rainbow_05_lowpitch": [ 520 | [ 521 | 0, 522 | -1 523 | ] 524 | ], 525 | "rainbow_05_regular": [ 526 | [ 527 | 0, 528 | -1 529 | ] 530 | ], 531 | "rainbow_05_slow": [ 532 | [ 533 | 0, 534 | -1 535 | ] 536 | ], 537 | "rainbow_05_whisper": [ 538 | [ 539 | 0, 540 | -1 541 | ] 542 | ], 543 | "rainbow_06_fast": [ 544 | [ 545 | 0, 546 | -1 547 | ] 548 | ], 549 | "rainbow_06_highpitch": [ 550 | [ 551 | 0, 552 | -1 553 | ] 554 | ], 555 | "rainbow_06_loud": [ 556 | [ 557 | 0, 558 | -1 559 | ] 560 | ], 561 | "rainbow_06_lowpitch": [ 562 | [ 563 | 0, 564 | -1 565 | ] 566 | ], 567 | "rainbow_06_regular": [ 568 | [ 569 | 0, 570 | -1 571 | ] 572 | ], 573 | "rainbow_06_slow": [ 574 | [ 575 | 0, 576 | -1 577 | ] 578 | ], 579 | "rainbow_06_whisper": [ 580 | [ 581 | 0, 582 | -1 583 | ] 584 | ], 585 | "rainbow_07_fast": [ 586 | [ 587 | 0, 588 | -1 589 | ] 590 | ], 591 | "rainbow_07_highpitch": [ 592 | [ 593 | 0, 594 | -1 595 | ] 596 | ], 597 | "rainbow_07_loud": [ 598 | [ 599 | 0, 600 | -1 601 | ] 602 | ], 603 | "rainbow_07_lowpitch": [ 604 | [ 605 | 0, 606 | -1 607 | ] 608 | ], 609 | "rainbow_07_regular": [ 610 | [ 611 | 0, 612 | -1 613 | ] 614 | ], 615 | "rainbow_07_slow": [ 616 | [ 617 | 0, 618 | -1 619 | ] 620 | ], 621 | "rainbow_07_whisper": [ 622 | [ 623 | 0, 624 | -1 625 | ] 626 | ], 627 | "rainbow_08_fast": [ 628 | [ 629 | 0, 630 | -1 631 | ] 632 | ], 633 | "rainbow_08_highpitch": [ 634 | [ 635 | 0, 636 | -1 637 | ] 638 | ], 639 | "rainbow_08_loud": [ 640 | [ 641 | 0, 642 | -1 643 | ] 644 | ], 645 | "rainbow_08_lowpitch": [ 646 | [ 647 | 0, 648 | -1 649 | ] 650 | ], 651 | "rainbow_08_regular": [ 652 | [ 653 | 0, 654 | -1 655 | ] 656 | ], 657 | "rainbow_08_slow": [ 658 | [ 659 | 0, 660 | -1 661 | ] 662 | ], 663 | "rainbow_08_whisper": [ 664 | [ 665 | 0, 666 | -1 667 | ] 668 | ], 669 | "sentences_01_fast": [ 670 | [ 671 | 0, 672 | -1 673 | ] 674 | ], 675 | "sentences_01_highpitch": [ 676 | [ 677 | 0, 678 | -1 679 | ] 680 | ], 681 | "sentences_01_loud": [ 682 | [ 683 | 0, 684 | -1 685 | ] 686 | ], 687 | "sentences_01_lowpitch": [ 688 | [ 689 | 0, 690 | -1 691 | ] 692 | ], 693 | "sentences_01_regular": [ 694 | [ 695 | 0, 696 | -1 697 | ] 698 | ], 699 | "sentences_01_slow": [ 700 | [ 701 | 0, 702 | -1 703 | ] 704 | ], 705 | "sentences_01_whisper": [ 706 | [ 707 | 0, 708 | -1 709 | ] 710 | ], 711 | "sentences_02_fast": [ 712 | [ 713 | 0, 714 | -1 715 | ] 716 | ], 717 | "sentences_02_highpitch": [ 718 | [ 719 | 0, 720 | -1 721 | ] 722 | ], 723 | "sentences_02_loud": [ 724 | [ 725 | 0, 726 | -1 727 | ] 728 | ], 729 | "sentences_02_lowpitch": [ 730 | [ 731 | 0, 732 | -1 733 | ] 734 | ], 735 | "sentences_02_regular": [ 736 | [ 737 | 0, 738 | -1 739 | ] 740 | ], 741 | "sentences_02_slow": [ 742 | [ 743 | 0, 744 | -1 745 | ] 746 | ], 747 | "sentences_02_whisper": [ 748 | [ 749 | 0, 750 | -1 751 | ] 752 | ], 753 | "sentences_03_whisper": [ 754 | [ 755 | 0, 756 | -1 757 | ] 758 | ], 759 | "sentences_04_whisper": [ 760 | [ 761 | 0, 762 | -1 763 | ] 764 | ], 765 | "sentences_05_loud": [ 766 | [ 767 | 0, 768 | -1 769 | ] 770 | ], 771 | "sentences_06_loud": [ 772 | [ 773 | 0, 774 | -1 775 | ] 776 | ], 777 | "sentences_07_slow": [ 778 | [ 779 | 0, 780 | -1 781 | ] 782 | ], 783 | "sentences_08_slow": [ 784 | [ 785 | 0, 786 | -1 787 | ] 788 | ], 789 | "sentences_09_fast": [ 790 | [ 791 | 0, 792 | -1 793 | ] 794 | ], 795 | "sentences_10_fast": [ 796 | [ 797 | 0, 798 | -1 799 | ] 800 | ], 801 | "sentences_11_highpitch": [ 802 | [ 803 | 0, 804 | -1 805 | ] 806 | ], 807 | "sentences_12_highpitch": [ 808 | [ 809 | 0, 810 | -1 811 | ] 812 | ], 813 | "sentences_13_lowpitch": [ 814 | [ 815 | 0, 816 | -1 817 | ] 818 | ], 819 | "sentences_14_lowpitch": [ 820 | [ 821 | 0, 822 | -1 823 | ] 824 | ], 825 | "sentences_15_regular": [ 826 | [ 827 | 0, 828 | -1 829 | ] 830 | ], 831 | "sentences_16_regular": [ 832 | [ 833 | 0, 834 | -1 835 | ] 836 | ], 837 | "sentences_17_regular": [ 838 | [ 839 | 0, 840 | -1 841 | ] 842 | ], 843 | "sentences_18_regular": [ 844 | [ 845 | 0, 846 | -1 847 | ] 848 | ], 849 | "sentences_19_regular": [ 850 | [ 851 | 0, 852 | -1 853 | ] 854 | ], 855 | "sentences_20_regular": [ 856 | [ 857 | 0, 858 | -1 859 | ] 860 | ], 861 | "sentences_21_regular": [ 862 | [ 863 | 0, 864 | -1 865 | ] 866 | ], 867 | "sentences_22_regular": [ 868 | [ 869 | 0, 870 | -1 871 | ] 872 | ], 873 | "sentences_23_regular": [ 874 | [ 875 | 0, 876 | -1 877 | ] 878 | ], 879 | "sentences_24_regular": [ 880 | [ 881 | 0, 882 | -1 883 | ] 884 | ] 885 | }, 886 | "p103": { 887 | "emo_adoration_freeform": [ 888 | [ 889 | 0, 890 | -1 891 | ] 892 | ], 893 | "emo_adoration_sentences": [ 894 | [ 895 | 0, 896 | -1 897 | ] 898 | ], 899 | "emo_amazement_freeform": [ 900 | [ 901 | 0, 902 | -1 903 | ] 904 | ], 905 | "emo_amazement_sentences": [ 906 | [ 907 | 0, 908 | -1 909 | ] 910 | ], 911 | "emo_amusement_freeform": [ 912 | [ 913 | 0, 914 | -1 915 | ] 916 | ], 917 | "emo_amusement_sentences": [ 918 | [ 919 | 0, 920 | -1 921 | ] 922 | ], 923 | "emo_anger_freeform": [ 924 | [ 925 | 0, 926 | -1 927 | ] 928 | ], 929 | "emo_anger_sentences": [ 930 | [ 931 | 0, 932 | -1 933 | ] 934 | ], 935 | "emo_confusion_freeform": [ 936 | [ 937 | 0, 938 | -1 939 | ] 940 | ], 941 | "emo_confusion_sentences": [ 942 | [ 943 | 0, 944 | -1 945 | ] 946 | ], 947 | "emo_contentment_freeform": [ 948 | [ 949 | 0, 950 | -1 951 | ] 952 | ], 953 | "emo_contentment_sentences": [ 954 | [ 955 | 0, 956 | -1 957 | ] 958 | ], 959 | "emo_cuteness_freeform": [ 960 | [ 961 | 0, 962 | -1 963 | ] 964 | ], 965 | "emo_cuteness_sentences": [ 966 | [ 967 | 0, 968 | -1 969 | ] 970 | ], 971 | "emo_desire_freeform": [ 972 | [ 973 | 0, 974 | -1 975 | ] 976 | ], 977 | "emo_desire_sentences": [ 978 | [ 979 | 0, 980 | -1 981 | ] 982 | ], 983 | "emo_disappointment_freeform": [ 984 | [ 985 | 0, 986 | -1 987 | ] 988 | ], 989 | "emo_disappointment_sentences": [ 990 | [ 991 | 0, 992 | -1 993 | ] 994 | ], 995 | "emo_disgust_freeform": [ 996 | [ 997 | 0, 998 | -1 999 | ] 1000 | ], 1001 | "emo_disgust_sentences": [ 1002 | [ 1003 | 0, 1004 | -1 1005 | ] 1006 | ], 1007 | "emo_distress_freeform": [ 1008 | [ 1009 | 0, 1010 | -1 1011 | ] 1012 | ], 1013 | "emo_distress_sentences": [ 1014 | [ 1015 | 0, 1016 | -1 1017 | ] 1018 | ], 1019 | "emo_embarassment_freeform": [ 1020 | [ 1021 | 0, 1022 | -1 1023 | ] 1024 | ], 1025 | "emo_embarassment_sentences": [ 1026 | [ 1027 | 0, 1028 | -1 1029 | ] 1030 | ], 1031 | "emo_extasy_freeform": [ 1032 | [ 1033 | 0, 1034 | -1 1035 | ] 1036 | ], 1037 | "emo_extasy_sentences": [ 1038 | [ 1039 | 0, 1040 | -1 1041 | ] 1042 | ], 1043 | "emo_fear_freeform": [ 1044 | [ 1045 | 0, 1046 | -1 1047 | ] 1048 | ], 1049 | "emo_fear_sentences": [ 1050 | [ 1051 | 0, 1052 | -1 1053 | ] 1054 | ], 1055 | "emo_guilt_freeform": [ 1056 | [ 1057 | 0, 1058 | -1 1059 | ] 1060 | ], 1061 | "emo_guilt_sentences": [ 1062 | [ 1063 | 0, 1064 | -1 1065 | ] 1066 | ], 1067 | "emo_interest_freeform": [ 1068 | [ 1069 | 0, 1070 | -1 1071 | ] 1072 | ], 1073 | "emo_interest_sentences": [ 1074 | [ 1075 | 0, 1076 | -1 1077 | ] 1078 | ], 1079 | "emo_neutral_freeform": [ 1080 | [ 1081 | 0, 1082 | -1 1083 | ] 1084 | ], 1085 | "emo_neutral_sentences": [ 1086 | [ 1087 | 0, 1088 | -1 1089 | ] 1090 | ], 1091 | "emo_pain_freeform": [ 1092 | [ 1093 | 0, 1094 | -1 1095 | ] 1096 | ], 1097 | "emo_pain_sentences": [ 1098 | [ 1099 | 0, 1100 | -1 1101 | ] 1102 | ], 1103 | "emo_pride_freeform": [ 1104 | [ 1105 | 0, 1106 | -1 1107 | ] 1108 | ], 1109 | "emo_pride_sentences": [ 1110 | [ 1111 | 0, 1112 | -1 1113 | ] 1114 | ], 1115 | "emo_realization_freeform": [ 1116 | [ 1117 | 0, 1118 | -1 1119 | ] 1120 | ], 1121 | "emo_realization_sentences": [ 1122 | [ 1123 | 0, 1124 | -1 1125 | ] 1126 | ], 1127 | "emo_relief_freeform": [ 1128 | [ 1129 | 0, 1130 | -1 1131 | ] 1132 | ], 1133 | "emo_relief_sentences": [ 1134 | [ 1135 | 0, 1136 | -1 1137 | ] 1138 | ], 1139 | "emo_sadness_freeform": [ 1140 | [ 1141 | 0, 1142 | -1 1143 | ] 1144 | ], 1145 | "emo_sadness_sentences": [ 1146 | [ 1147 | 0, 1148 | -1 1149 | ] 1150 | ], 1151 | "emo_serenity_freeform": [ 1152 | [ 1153 | 0, 1154 | -1 1155 | ] 1156 | ], 1157 | "emo_serenity_sentences": [ 1158 | [ 1159 | 0, 1160 | -1 1161 | ] 1162 | ], 1163 | "freeform_speech_01": [ 1164 | [ 1165 | 16800, 1166 | 680286 1167 | ], 1168 | [ 1169 | 680286, 1170 | 1474510 1171 | ], 1172 | [ 1173 | 1474510, 1174 | 2247995 1175 | ], 1176 | [ 1177 | 2247995, 1178 | 2895820 1179 | ], 1180 | [ 1181 | 2895820, 1182 | 3569885 1183 | ], 1184 | [ 1185 | 3569885, 1186 | 4686719 1187 | ], 1188 | [ 1189 | 4686719, 1190 | 5798302 1191 | ], 1192 | [ 1193 | 5798302, 1194 | 6220569 1195 | ], 1196 | [ 1197 | 6220569, 1198 | 6741496 1199 | ], 1200 | [ 1201 | 6741496, 1202 | 7169025 1203 | ], 1204 | [ 1205 | 7169025, 1206 | 7646542 1207 | ], 1208 | [ 1209 | 8049076, 1210 | -1 1211 | ] 1212 | ], 1213 | "rainbow_01_fast": [ 1214 | [ 1215 | 0, 1216 | -1 1217 | ] 1218 | ], 1219 | "rainbow_01_highpitch": [ 1220 | [ 1221 | 0, 1222 | -1 1223 | ] 1224 | ], 1225 | "rainbow_01_loud": [ 1226 | [ 1227 | 0, 1228 | -1 1229 | ] 1230 | ], 1231 | "rainbow_01_lowpitch": [ 1232 | [ 1233 | 0, 1234 | -1 1235 | ] 1236 | ], 1237 | "rainbow_01_regular": [ 1238 | [ 1239 | 0, 1240 | -1 1241 | ] 1242 | ], 1243 | "rainbow_01_slow": [ 1244 | [ 1245 | 0, 1246 | -1 1247 | ] 1248 | ], 1249 | "rainbow_01_whisper": [ 1250 | [ 1251 | 0, 1252 | -1 1253 | ] 1254 | ], 1255 | "rainbow_02_fast": [ 1256 | [ 1257 | 0, 1258 | -1 1259 | ] 1260 | ], 1261 | "rainbow_02_highpitch": [ 1262 | [ 1263 | 0, 1264 | -1 1265 | ] 1266 | ], 1267 | "rainbow_02_loud": [ 1268 | [ 1269 | 0, 1270 | -1 1271 | ] 1272 | ], 1273 | "rainbow_02_lowpitch": [ 1274 | [ 1275 | 0, 1276 | -1 1277 | ] 1278 | ], 1279 | "rainbow_02_regular": [ 1280 | [ 1281 | 0, 1282 | -1 1283 | ] 1284 | ], 1285 | "rainbow_02_slow": [ 1286 | [ 1287 | 0, 1288 | -1 1289 | ] 1290 | ], 1291 | "rainbow_02_whisper": [ 1292 | [ 1293 | 0, 1294 | -1 1295 | ] 1296 | ], 1297 | "rainbow_03_fast": [ 1298 | [ 1299 | 0, 1300 | -1 1301 | ] 1302 | ], 1303 | "rainbow_03_highpitch": [ 1304 | [ 1305 | 0, 1306 | -1 1307 | ] 1308 | ], 1309 | "rainbow_03_loud": [ 1310 | [ 1311 | 0, 1312 | -1 1313 | ] 1314 | ], 1315 | "rainbow_03_lowpitch": [ 1316 | [ 1317 | 0, 1318 | -1 1319 | ] 1320 | ], 1321 | "rainbow_03_regular": [ 1322 | [ 1323 | 0, 1324 | -1 1325 | ] 1326 | ], 1327 | "rainbow_03_slow": [ 1328 | [ 1329 | 0, 1330 | -1 1331 | ] 1332 | ], 1333 | "rainbow_03_whisper": [ 1334 | [ 1335 | 0, 1336 | -1 1337 | ] 1338 | ], 1339 | "rainbow_04_fast": [ 1340 | [ 1341 | 0, 1342 | -1 1343 | ] 1344 | ], 1345 | "rainbow_04_highpitch": [ 1346 | [ 1347 | 0, 1348 | -1 1349 | ] 1350 | ], 1351 | "rainbow_04_loud": [ 1352 | [ 1353 | 0, 1354 | -1 1355 | ] 1356 | ], 1357 | "rainbow_04_lowpitch": [ 1358 | [ 1359 | 0, 1360 | -1 1361 | ] 1362 | ], 1363 | "rainbow_04_regular": [ 1364 | [ 1365 | 0, 1366 | -1 1367 | ] 1368 | ], 1369 | "rainbow_04_slow": [ 1370 | [ 1371 | 0, 1372 | -1 1373 | ] 1374 | ], 1375 | "rainbow_04_whisper": [ 1376 | [ 1377 | 0, 1378 | -1 1379 | ] 1380 | ], 1381 | "rainbow_05_fast": [ 1382 | [ 1383 | 0, 1384 | -1 1385 | ] 1386 | ], 1387 | "rainbow_05_highpitch": [ 1388 | [ 1389 | 0, 1390 | -1 1391 | ] 1392 | ], 1393 | "rainbow_05_loud": [ 1394 | [ 1395 | 0, 1396 | -1 1397 | ] 1398 | ], 1399 | "rainbow_05_lowpitch": [ 1400 | [ 1401 | 0, 1402 | -1 1403 | ] 1404 | ], 1405 | "rainbow_05_regular": [ 1406 | [ 1407 | 0, 1408 | -1 1409 | ] 1410 | ], 1411 | "rainbow_05_slow": [ 1412 | [ 1413 | 0, 1414 | -1 1415 | ] 1416 | ], 1417 | "rainbow_05_whisper": [ 1418 | [ 1419 | 0, 1420 | -1 1421 | ] 1422 | ], 1423 | "rainbow_06_fast": [ 1424 | [ 1425 | 0, 1426 | -1 1427 | ] 1428 | ], 1429 | "rainbow_06_highpitch": [ 1430 | [ 1431 | 0, 1432 | -1 1433 | ] 1434 | ], 1435 | "rainbow_06_loud": [ 1436 | [ 1437 | 0, 1438 | -1 1439 | ] 1440 | ], 1441 | "rainbow_06_lowpitch": [ 1442 | [ 1443 | 0, 1444 | -1 1445 | ] 1446 | ], 1447 | "rainbow_06_regular": [ 1448 | [ 1449 | 0, 1450 | -1 1451 | ] 1452 | ], 1453 | "rainbow_06_slow": [ 1454 | [ 1455 | 0, 1456 | -1 1457 | ] 1458 | ], 1459 | "rainbow_06_whisper": [ 1460 | [ 1461 | 0, 1462 | -1 1463 | ] 1464 | ], 1465 | "rainbow_07_fast": [ 1466 | [ 1467 | 0, 1468 | -1 1469 | ] 1470 | ], 1471 | "rainbow_07_highpitch": [ 1472 | [ 1473 | 0, 1474 | -1 1475 | ] 1476 | ], 1477 | "rainbow_07_loud": [ 1478 | [ 1479 | 0, 1480 | -1 1481 | ] 1482 | ], 1483 | "rainbow_07_lowpitch": [ 1484 | [ 1485 | 0, 1486 | -1 1487 | ] 1488 | ], 1489 | "rainbow_07_regular": [ 1490 | [ 1491 | 0, 1492 | -1 1493 | ] 1494 | ], 1495 | "rainbow_07_slow": [ 1496 | [ 1497 | 0, 1498 | -1 1499 | ] 1500 | ], 1501 | "rainbow_07_whisper": [ 1502 | [ 1503 | 0, 1504 | -1 1505 | ] 1506 | ], 1507 | "rainbow_08_fast": [ 1508 | [ 1509 | 0, 1510 | -1 1511 | ] 1512 | ], 1513 | "rainbow_08_highpitch": [ 1514 | [ 1515 | 0, 1516 | -1 1517 | ] 1518 | ], 1519 | "rainbow_08_loud": [ 1520 | [ 1521 | 0, 1522 | -1 1523 | ] 1524 | ], 1525 | "rainbow_08_lowpitch": [ 1526 | [ 1527 | 0, 1528 | -1 1529 | ] 1530 | ], 1531 | "rainbow_08_regular": [ 1532 | [ 1533 | 0, 1534 | -1 1535 | ] 1536 | ], 1537 | "rainbow_08_slow": [ 1538 | [ 1539 | 0, 1540 | -1 1541 | ] 1542 | ], 1543 | "rainbow_08_whisper": [ 1544 | [ 1545 | 0, 1546 | -1 1547 | ] 1548 | ], 1549 | "sentences_01_fast": [ 1550 | [ 1551 | 0, 1552 | -1 1553 | ] 1554 | ], 1555 | "sentences_01_highpitch": [ 1556 | [ 1557 | 0, 1558 | -1 1559 | ] 1560 | ], 1561 | "sentences_01_loud": [ 1562 | [ 1563 | 0, 1564 | -1 1565 | ] 1566 | ], 1567 | "sentences_01_lowpitch": [ 1568 | [ 1569 | 0, 1570 | -1 1571 | ] 1572 | ], 1573 | "sentences_01_regular": [ 1574 | [ 1575 | 0, 1576 | -1 1577 | ] 1578 | ], 1579 | "sentences_01_slow": [ 1580 | [ 1581 | 0, 1582 | -1 1583 | ] 1584 | ], 1585 | "sentences_01_whisper": [ 1586 | [ 1587 | 0, 1588 | -1 1589 | ] 1590 | ], 1591 | "sentences_02_fast": [ 1592 | [ 1593 | 0, 1594 | -1 1595 | ] 1596 | ], 1597 | "sentences_02_highpitch": [ 1598 | [ 1599 | 0, 1600 | -1 1601 | ] 1602 | ], 1603 | "sentences_02_loud": [ 1604 | [ 1605 | 0, 1606 | -1 1607 | ] 1608 | ], 1609 | "sentences_02_lowpitch": [ 1610 | [ 1611 | 0, 1612 | -1 1613 | ] 1614 | ], 1615 | "sentences_02_regular": [ 1616 | [ 1617 | 0, 1618 | -1 1619 | ] 1620 | ], 1621 | "sentences_02_slow": [ 1622 | [ 1623 | 0, 1624 | -1 1625 | ] 1626 | ], 1627 | "sentences_02_whisper": [ 1628 | [ 1629 | 0, 1630 | -1 1631 | ] 1632 | ], 1633 | "sentences_03_whisper": [ 1634 | [ 1635 | 0, 1636 | -1 1637 | ] 1638 | ], 1639 | "sentences_04_whisper": [ 1640 | [ 1641 | 0, 1642 | -1 1643 | ] 1644 | ], 1645 | "sentences_05_loud": [ 1646 | [ 1647 | 0, 1648 | -1 1649 | ] 1650 | ], 1651 | "sentences_06_loud": [ 1652 | [ 1653 | 0, 1654 | -1 1655 | ] 1656 | ], 1657 | "sentences_07_slow": [ 1658 | [ 1659 | 0, 1660 | -1 1661 | ] 1662 | ], 1663 | "sentences_08_slow": [ 1664 | [ 1665 | 0, 1666 | -1 1667 | ] 1668 | ], 1669 | "sentences_09_fast": [ 1670 | [ 1671 | 0, 1672 | -1 1673 | ] 1674 | ], 1675 | "sentences_10_fast": [ 1676 | [ 1677 | 0, 1678 | -1 1679 | ] 1680 | ], 1681 | "sentences_11_highpitch": [ 1682 | [ 1683 | 0, 1684 | -1 1685 | ] 1686 | ], 1687 | "sentences_12_highpitch": [ 1688 | [ 1689 | 0, 1690 | -1 1691 | ] 1692 | ], 1693 | "sentences_13_lowpitch": [ 1694 | [ 1695 | 0, 1696 | -1 1697 | ] 1698 | ], 1699 | "sentences_14_lowpitch": [ 1700 | [ 1701 | 0, 1702 | -1 1703 | ] 1704 | ], 1705 | "sentences_15_regular": [ 1706 | [ 1707 | 0, 1708 | -1 1709 | ] 1710 | ], 1711 | "sentences_16_regular": [ 1712 | [ 1713 | 0, 1714 | -1 1715 | ] 1716 | ], 1717 | "sentences_17_regular": [ 1718 | [ 1719 | 0, 1720 | -1 1721 | ] 1722 | ], 1723 | "sentences_18_regular": [ 1724 | [ 1725 | 0, 1726 | -1 1727 | ] 1728 | ], 1729 | "sentences_19_regular": [ 1730 | [ 1731 | 0, 1732 | -1 1733 | ] 1734 | ], 1735 | "sentences_20_regular": [ 1736 | [ 1737 | 0, 1738 | -1 1739 | ] 1740 | ], 1741 | "sentences_21_regular": [ 1742 | [ 1743 | 0, 1744 | -1 1745 | ] 1746 | ], 1747 | "sentences_22_regular": [ 1748 | [ 1749 | 0, 1750 | -1 1751 | ] 1752 | ], 1753 | "sentences_23_regular": [ 1754 | [ 1755 | 0, 1756 | -1 1757 | ] 1758 | ], 1759 | "sentences_24_regular": [ 1760 | [ 1761 | 0, 1762 | -1 1763 | ] 1764 | ] 1765 | }, 1766 | "p104": { 1767 | "emo_adoration_freeform": [ 1768 | [ 1769 | 0, 1770 | -1 1771 | ] 1772 | ], 1773 | "emo_adoration_sentences": [ 1774 | [ 1775 | 0, 1776 | -1 1777 | ] 1778 | ], 1779 | "emo_amazement_freeform": [ 1780 | [ 1781 | 0, 1782 | -1 1783 | ] 1784 | ], 1785 | "emo_amazement_sentences": [ 1786 | [ 1787 | 0, 1788 | -1 1789 | ] 1790 | ], 1791 | "emo_amusement_freeform": [ 1792 | [ 1793 | 0, 1794 | -1 1795 | ] 1796 | ], 1797 | "emo_amusement_sentences": [ 1798 | [ 1799 | 0, 1800 | -1 1801 | ] 1802 | ], 1803 | "emo_anger_freeform": [ 1804 | [ 1805 | 0, 1806 | -1 1807 | ] 1808 | ], 1809 | "emo_anger_sentences": [ 1810 | [ 1811 | 0, 1812 | -1 1813 | ] 1814 | ], 1815 | "emo_confusion_freeform": [ 1816 | [ 1817 | 0, 1818 | -1 1819 | ] 1820 | ], 1821 | "emo_confusion_sentences": [ 1822 | [ 1823 | 0, 1824 | -1 1825 | ] 1826 | ], 1827 | "emo_contentment_freeform": [ 1828 | [ 1829 | 0, 1830 | -1 1831 | ] 1832 | ], 1833 | "emo_contentment_sentences": [ 1834 | [ 1835 | 0, 1836 | -1 1837 | ] 1838 | ], 1839 | "emo_cuteness_freeform": [ 1840 | [ 1841 | 0, 1842 | -1 1843 | ] 1844 | ], 1845 | "emo_cuteness_sentences": [ 1846 | [ 1847 | 0, 1848 | -1 1849 | ] 1850 | ], 1851 | "emo_desire_freeform": [ 1852 | [ 1853 | 0, 1854 | -1 1855 | ] 1856 | ], 1857 | "emo_desire_sentences": [ 1858 | [ 1859 | 0, 1860 | -1 1861 | ] 1862 | ], 1863 | "emo_disappointment_freeform": [ 1864 | [ 1865 | 0, 1866 | -1 1867 | ] 1868 | ], 1869 | "emo_disappointment_sentences": [ 1870 | [ 1871 | 0, 1872 | -1 1873 | ] 1874 | ], 1875 | "emo_disgust_freeform": [ 1876 | [ 1877 | 0, 1878 | -1 1879 | ] 1880 | ], 1881 | "emo_disgust_sentences": [ 1882 | [ 1883 | 0, 1884 | -1 1885 | ] 1886 | ], 1887 | "emo_distress_freeform": [ 1888 | [ 1889 | 0, 1890 | -1 1891 | ] 1892 | ], 1893 | "emo_distress_sentences": [ 1894 | [ 1895 | 0, 1896 | -1 1897 | ] 1898 | ], 1899 | "emo_embarassment_freeform": [ 1900 | [ 1901 | 0, 1902 | -1 1903 | ] 1904 | ], 1905 | "emo_embarassment_sentences": [ 1906 | [ 1907 | 0, 1908 | -1 1909 | ] 1910 | ], 1911 | "emo_extasy_freeform": [ 1912 | [ 1913 | 0, 1914 | -1 1915 | ] 1916 | ], 1917 | "emo_extasy_sentences": [ 1918 | [ 1919 | 0, 1920 | -1 1921 | ] 1922 | ], 1923 | "emo_fear_freeform": [ 1924 | [ 1925 | 0, 1926 | -1 1927 | ] 1928 | ], 1929 | "emo_fear_sentences": [ 1930 | [ 1931 | 0, 1932 | -1 1933 | ] 1934 | ], 1935 | "emo_guilt_freeform": [ 1936 | [ 1937 | 0, 1938 | -1 1939 | ] 1940 | ], 1941 | "emo_guilt_sentences": [ 1942 | [ 1943 | 0, 1944 | -1 1945 | ] 1946 | ], 1947 | "emo_interest_freeform": [ 1948 | [ 1949 | 0, 1950 | -1 1951 | ] 1952 | ], 1953 | "emo_interest_sentences": [ 1954 | [ 1955 | 0, 1956 | -1 1957 | ] 1958 | ], 1959 | "emo_neutral_freeform": [ 1960 | [ 1961 | 0, 1962 | -1 1963 | ] 1964 | ], 1965 | "emo_neutral_sentences": [ 1966 | [ 1967 | 0, 1968 | -1 1969 | ] 1970 | ], 1971 | "emo_pain_freeform": [ 1972 | [ 1973 | 0, 1974 | -1 1975 | ] 1976 | ], 1977 | "emo_pain_sentences": [ 1978 | [ 1979 | 0, 1980 | -1 1981 | ] 1982 | ], 1983 | "emo_pride_freeform": [ 1984 | [ 1985 | 0, 1986 | -1 1987 | ] 1988 | ], 1989 | "emo_pride_sentences": [ 1990 | [ 1991 | 0, 1992 | -1 1993 | ] 1994 | ], 1995 | "emo_realization_freeform": [ 1996 | [ 1997 | 0, 1998 | -1 1999 | ] 2000 | ], 2001 | "emo_realization_sentences": [ 2002 | [ 2003 | 0, 2004 | -1 2005 | ] 2006 | ], 2007 | "emo_relief_freeform": [ 2008 | [ 2009 | 0, 2010 | -1 2011 | ] 2012 | ], 2013 | "emo_relief_sentences": [ 2014 | [ 2015 | 0, 2016 | -1 2017 | ] 2018 | ], 2019 | "emo_sadness_freeform": [ 2020 | [ 2021 | 0, 2022 | -1 2023 | ] 2024 | ], 2025 | "emo_sadness_sentences": [ 2026 | [ 2027 | 0, 2028 | -1 2029 | ] 2030 | ], 2031 | "emo_serenity_freeform": [ 2032 | [ 2033 | 0, 2034 | -1 2035 | ] 2036 | ], 2037 | "emo_serenity_sentences": [ 2038 | [ 2039 | 0, 2040 | -1 2041 | ] 2042 | ], 2043 | "freeform_speech_01": [ 2044 | [ 2045 | 0, 2046 | 969261 2047 | ], 2048 | [ 2049 | 969261, 2050 | 1514750 2051 | ], 2052 | [ 2053 | 1514750, 2054 | 2097182 2055 | ], 2056 | [ 2057 | 2097182, 2058 | 2635968 2059 | ], 2060 | [ 2061 | 2635968, 2062 | 3079749 2063 | ], 2064 | [ 2065 | 3079749, 2066 | 3393154 2067 | ], 2068 | [ 2069 | 3393154, 2070 | 4176189 2071 | ], 2072 | [ 2073 | 5032360, 2074 | 5906395 2075 | ], 2076 | [ 2077 | 5906395, 2078 | 6697207 2079 | ], 2080 | [ 2081 | 6940713, 2082 | 8056149 2083 | ], 2084 | [ 2085 | 8056149, 2086 | 8688397 2087 | ] 2088 | ], 2089 | "rainbow_01_fast": [ 2090 | [ 2091 | 0, 2092 | -1 2093 | ] 2094 | ], 2095 | "rainbow_01_highpitch": [ 2096 | [ 2097 | 0, 2098 | -1 2099 | ] 2100 | ], 2101 | "rainbow_01_loud": [ 2102 | [ 2103 | 0, 2104 | -1 2105 | ] 2106 | ], 2107 | "rainbow_01_lowpitch": [ 2108 | [ 2109 | 0, 2110 | -1 2111 | ] 2112 | ], 2113 | "rainbow_01_regular": [ 2114 | [ 2115 | 0, 2116 | -1 2117 | ] 2118 | ], 2119 | "rainbow_01_slow": [ 2120 | [ 2121 | 0, 2122 | -1 2123 | ] 2124 | ], 2125 | "rainbow_01_whisper": [ 2126 | [ 2127 | 0, 2128 | -1 2129 | ] 2130 | ], 2131 | "rainbow_02_fast": [ 2132 | [ 2133 | 0, 2134 | -1 2135 | ] 2136 | ], 2137 | "rainbow_02_highpitch": [ 2138 | [ 2139 | 0, 2140 | -1 2141 | ] 2142 | ], 2143 | "rainbow_02_loud": [ 2144 | [ 2145 | 0, 2146 | -1 2147 | ] 2148 | ], 2149 | "rainbow_02_lowpitch": [ 2150 | [ 2151 | 0, 2152 | -1 2153 | ] 2154 | ], 2155 | "rainbow_02_regular": [ 2156 | [ 2157 | 0, 2158 | -1 2159 | ] 2160 | ], 2161 | "rainbow_02_slow": [ 2162 | [ 2163 | 0, 2164 | -1 2165 | ] 2166 | ], 2167 | "rainbow_02_whisper": [ 2168 | [ 2169 | 0, 2170 | -1 2171 | ] 2172 | ], 2173 | "rainbow_03_fast": [ 2174 | [ 2175 | 0, 2176 | -1 2177 | ] 2178 | ], 2179 | "rainbow_03_highpitch": [ 2180 | [ 2181 | 0, 2182 | -1 2183 | ] 2184 | ], 2185 | "rainbow_03_loud": [ 2186 | [ 2187 | 0, 2188 | -1 2189 | ] 2190 | ], 2191 | "rainbow_03_lowpitch": [ 2192 | [ 2193 | 0, 2194 | -1 2195 | ] 2196 | ], 2197 | "rainbow_03_regular": [ 2198 | [ 2199 | 0, 2200 | -1 2201 | ] 2202 | ], 2203 | "rainbow_03_slow": [ 2204 | [ 2205 | 0, 2206 | -1 2207 | ] 2208 | ], 2209 | "rainbow_03_whisper": [ 2210 | [ 2211 | 0, 2212 | -1 2213 | ] 2214 | ], 2215 | "rainbow_04_fast": [ 2216 | [ 2217 | 0, 2218 | -1 2219 | ] 2220 | ], 2221 | "rainbow_04_highpitch": [ 2222 | [ 2223 | 0, 2224 | -1 2225 | ] 2226 | ], 2227 | "rainbow_04_loud": [ 2228 | [ 2229 | 0, 2230 | -1 2231 | ] 2232 | ], 2233 | "rainbow_04_lowpitch": [ 2234 | [ 2235 | 0, 2236 | -1 2237 | ] 2238 | ], 2239 | "rainbow_04_regular": [ 2240 | [ 2241 | 0, 2242 | -1 2243 | ] 2244 | ], 2245 | "rainbow_04_slow": [ 2246 | [ 2247 | 0, 2248 | -1 2249 | ] 2250 | ], 2251 | "rainbow_04_whisper": [ 2252 | [ 2253 | 0, 2254 | -1 2255 | ] 2256 | ], 2257 | "rainbow_05_fast": [ 2258 | [ 2259 | 0, 2260 | -1 2261 | ] 2262 | ], 2263 | "rainbow_05_highpitch": [ 2264 | [ 2265 | 0, 2266 | -1 2267 | ] 2268 | ], 2269 | "rainbow_05_loud": [ 2270 | [ 2271 | 0, 2272 | -1 2273 | ] 2274 | ], 2275 | "rainbow_05_lowpitch": [ 2276 | [ 2277 | 0, 2278 | -1 2279 | ] 2280 | ], 2281 | "rainbow_05_regular": [ 2282 | [ 2283 | 0, 2284 | -1 2285 | ] 2286 | ], 2287 | "rainbow_05_slow": [ 2288 | [ 2289 | 0, 2290 | -1 2291 | ] 2292 | ], 2293 | "rainbow_05_whisper": [ 2294 | [ 2295 | 0, 2296 | -1 2297 | ] 2298 | ], 2299 | "rainbow_06_fast": [ 2300 | [ 2301 | 0, 2302 | -1 2303 | ] 2304 | ], 2305 | "rainbow_06_highpitch": [ 2306 | [ 2307 | 0, 2308 | -1 2309 | ] 2310 | ], 2311 | "rainbow_06_loud": [ 2312 | [ 2313 | 0, 2314 | -1 2315 | ] 2316 | ], 2317 | "rainbow_06_lowpitch": [ 2318 | [ 2319 | 0, 2320 | -1 2321 | ] 2322 | ], 2323 | "rainbow_06_regular": [ 2324 | [ 2325 | 0, 2326 | -1 2327 | ] 2328 | ], 2329 | "rainbow_06_slow": [ 2330 | [ 2331 | 0, 2332 | -1 2333 | ] 2334 | ], 2335 | "rainbow_06_whisper": [ 2336 | [ 2337 | 0, 2338 | -1 2339 | ] 2340 | ], 2341 | "rainbow_07_fast": [ 2342 | [ 2343 | 0, 2344 | -1 2345 | ] 2346 | ], 2347 | "rainbow_07_highpitch": [ 2348 | [ 2349 | 0, 2350 | -1 2351 | ] 2352 | ], 2353 | "rainbow_07_loud": [ 2354 | [ 2355 | 0, 2356 | -1 2357 | ] 2358 | ], 2359 | "rainbow_07_lowpitch": [ 2360 | [ 2361 | 0, 2362 | -1 2363 | ] 2364 | ], 2365 | "rainbow_07_regular": [ 2366 | [ 2367 | 0, 2368 | -1 2369 | ] 2370 | ], 2371 | "rainbow_07_slow": [ 2372 | [ 2373 | 0, 2374 | -1 2375 | ] 2376 | ], 2377 | "rainbow_07_whisper": [ 2378 | [ 2379 | 0, 2380 | -1 2381 | ] 2382 | ], 2383 | "rainbow_08_fast": [ 2384 | [ 2385 | 0, 2386 | -1 2387 | ] 2388 | ], 2389 | "rainbow_08_highpitch": [ 2390 | [ 2391 | 0, 2392 | -1 2393 | ] 2394 | ], 2395 | "rainbow_08_loud": [ 2396 | [ 2397 | 0, 2398 | -1 2399 | ] 2400 | ], 2401 | "rainbow_08_lowpitch": [ 2402 | [ 2403 | 0, 2404 | -1 2405 | ] 2406 | ], 2407 | "rainbow_08_regular": [ 2408 | [ 2409 | 0, 2410 | -1 2411 | ] 2412 | ], 2413 | "rainbow_08_slow": [ 2414 | [ 2415 | 0, 2416 | -1 2417 | ] 2418 | ], 2419 | "rainbow_08_whisper": [ 2420 | [ 2421 | 0, 2422 | -1 2423 | ] 2424 | ], 2425 | "sentences_01_fast": [ 2426 | [ 2427 | 0, 2428 | -1 2429 | ] 2430 | ], 2431 | "sentences_01_highpitch": [ 2432 | [ 2433 | 0, 2434 | -1 2435 | ] 2436 | ], 2437 | "sentences_01_loud": [ 2438 | [ 2439 | 0, 2440 | -1 2441 | ] 2442 | ], 2443 | "sentences_01_lowpitch": [ 2444 | [ 2445 | 0, 2446 | -1 2447 | ] 2448 | ], 2449 | "sentences_01_regular": [ 2450 | [ 2451 | 0, 2452 | -1 2453 | ] 2454 | ], 2455 | "sentences_01_slow": [ 2456 | [ 2457 | 0, 2458 | -1 2459 | ] 2460 | ], 2461 | "sentences_01_whisper": [ 2462 | [ 2463 | 0, 2464 | -1 2465 | ] 2466 | ], 2467 | "sentences_02_fast": [ 2468 | [ 2469 | 0, 2470 | -1 2471 | ] 2472 | ], 2473 | "sentences_02_highpitch": [ 2474 | [ 2475 | 0, 2476 | -1 2477 | ] 2478 | ], 2479 | "sentences_02_loud": [ 2480 | [ 2481 | 0, 2482 | -1 2483 | ] 2484 | ], 2485 | "sentences_02_lowpitch": [ 2486 | [ 2487 | 0, 2488 | -1 2489 | ] 2490 | ], 2491 | "sentences_02_regular": [ 2492 | [ 2493 | 0, 2494 | -1 2495 | ] 2496 | ], 2497 | "sentences_02_slow": [ 2498 | [ 2499 | 0, 2500 | -1 2501 | ] 2502 | ], 2503 | "sentences_02_whisper": [ 2504 | [ 2505 | 0, 2506 | -1 2507 | ] 2508 | ], 2509 | "sentences_03_whisper": [ 2510 | [ 2511 | 0, 2512 | -1 2513 | ] 2514 | ], 2515 | "sentences_04_whisper": [ 2516 | [ 2517 | 0, 2518 | -1 2519 | ] 2520 | ], 2521 | "sentences_05_loud": [ 2522 | [ 2523 | 0, 2524 | -1 2525 | ] 2526 | ], 2527 | "sentences_06_loud": [ 2528 | [ 2529 | 0, 2530 | -1 2531 | ] 2532 | ], 2533 | "sentences_07_slow": [ 2534 | [ 2535 | 0, 2536 | -1 2537 | ] 2538 | ], 2539 | "sentences_08_slow": [ 2540 | [ 2541 | 0, 2542 | -1 2543 | ] 2544 | ], 2545 | "sentences_09_fast": [ 2546 | [ 2547 | 0, 2548 | -1 2549 | ] 2550 | ], 2551 | "sentences_10_fast": [ 2552 | [ 2553 | 0, 2554 | -1 2555 | ] 2556 | ], 2557 | "sentences_11_highpitch": [ 2558 | [ 2559 | 0, 2560 | -1 2561 | ] 2562 | ], 2563 | "sentences_12_highpitch": [ 2564 | [ 2565 | 0, 2566 | -1 2567 | ] 2568 | ], 2569 | "sentences_13_lowpitch": [ 2570 | [ 2571 | 0, 2572 | -1 2573 | ] 2574 | ], 2575 | "sentences_14_lowpitch": [ 2576 | [ 2577 | 0, 2578 | -1 2579 | ] 2580 | ], 2581 | "sentences_15_regular": [ 2582 | [ 2583 | 0, 2584 | -1 2585 | ] 2586 | ], 2587 | "sentences_16_regular": [ 2588 | [ 2589 | 0, 2590 | -1 2591 | ] 2592 | ], 2593 | "sentences_17_regular": [ 2594 | [ 2595 | 0, 2596 | -1 2597 | ] 2598 | ], 2599 | "sentences_18_regular": [ 2600 | [ 2601 | 0, 2602 | -1 2603 | ] 2604 | ], 2605 | "sentences_19_regular": [ 2606 | [ 2607 | 0, 2608 | -1 2609 | ] 2610 | ], 2611 | "sentences_20_regular": [ 2612 | [ 2613 | 0, 2614 | -1 2615 | ] 2616 | ], 2617 | "sentences_21_regular": [ 2618 | [ 2619 | 0, 2620 | -1 2621 | ] 2622 | ], 2623 | "sentences_22_regular": [ 2624 | [ 2625 | 0, 2626 | -1 2627 | ] 2628 | ], 2629 | "sentences_23_regular": [ 2630 | [ 2631 | 0, 2632 | -1 2633 | ] 2634 | ], 2635 | "sentences_24_regular": [ 2636 | [ 2637 | 0, 2638 | -1 2639 | ] 2640 | ] 2641 | }, 2642 | "p105": { 2643 | "emo_adoration_freeform": [ 2644 | [ 2645 | 0, 2646 | -1 2647 | ] 2648 | ], 2649 | "emo_adoration_sentences": [ 2650 | [ 2651 | 0, 2652 | -1 2653 | ] 2654 | ], 2655 | "emo_amazement_freeform": [ 2656 | [ 2657 | 0, 2658 | -1 2659 | ] 2660 | ], 2661 | "emo_amazement_sentences": [ 2662 | [ 2663 | 0, 2664 | -1 2665 | ] 2666 | ], 2667 | "emo_amusement_freeform": [ 2668 | [ 2669 | 0, 2670 | -1 2671 | ] 2672 | ], 2673 | "emo_amusement_sentences": [ 2674 | [ 2675 | 0, 2676 | -1 2677 | ] 2678 | ], 2679 | "emo_anger_freeform": [ 2680 | [ 2681 | 0, 2682 | -1 2683 | ] 2684 | ], 2685 | "emo_anger_sentences": [ 2686 | [ 2687 | 0, 2688 | -1 2689 | ] 2690 | ], 2691 | "emo_confusion_freeform": [ 2692 | [ 2693 | 0, 2694 | -1 2695 | ] 2696 | ], 2697 | "emo_confusion_sentences": [ 2698 | [ 2699 | 0, 2700 | -1 2701 | ] 2702 | ], 2703 | "emo_contentment_freeform": [ 2704 | [ 2705 | 0, 2706 | -1 2707 | ] 2708 | ], 2709 | "emo_contentment_sentences": [ 2710 | [ 2711 | 0, 2712 | -1 2713 | ] 2714 | ], 2715 | "emo_cuteness_freeform": [ 2716 | [ 2717 | 0, 2718 | -1 2719 | ] 2720 | ], 2721 | "emo_cuteness_sentences": [ 2722 | [ 2723 | 0, 2724 | -1 2725 | ] 2726 | ], 2727 | "emo_desire_freeform": [ 2728 | [ 2729 | 0, 2730 | -1 2731 | ] 2732 | ], 2733 | "emo_desire_sentences": [ 2734 | [ 2735 | 0, 2736 | -1 2737 | ] 2738 | ], 2739 | "emo_disappointment_freeform": [ 2740 | [ 2741 | 0, 2742 | -1 2743 | ] 2744 | ], 2745 | "emo_disappointment_sentences": [ 2746 | [ 2747 | 0, 2748 | -1 2749 | ] 2750 | ], 2751 | "emo_disgust_freeform": [ 2752 | [ 2753 | 0, 2754 | -1 2755 | ] 2756 | ], 2757 | "emo_disgust_sentences": [ 2758 | [ 2759 | 0, 2760 | -1 2761 | ] 2762 | ], 2763 | "emo_distress_freeform": [ 2764 | [ 2765 | 0, 2766 | -1 2767 | ] 2768 | ], 2769 | "emo_distress_sentences": [ 2770 | [ 2771 | 0, 2772 | -1 2773 | ] 2774 | ], 2775 | "emo_embarassment_freeform": [ 2776 | [ 2777 | 0, 2778 | -1 2779 | ] 2780 | ], 2781 | "emo_embarassment_sentences": [ 2782 | [ 2783 | 0, 2784 | -1 2785 | ] 2786 | ], 2787 | "emo_extasy_freeform": [ 2788 | [ 2789 | 0, 2790 | -1 2791 | ] 2792 | ], 2793 | "emo_extasy_sentences": [ 2794 | [ 2795 | 0, 2796 | -1 2797 | ] 2798 | ], 2799 | "emo_fear_freeform": [ 2800 | [ 2801 | 0, 2802 | -1 2803 | ] 2804 | ], 2805 | "emo_fear_sentences": [ 2806 | [ 2807 | 0, 2808 | -1 2809 | ] 2810 | ], 2811 | "emo_guilt_freeform": [ 2812 | [ 2813 | 0, 2814 | -1 2815 | ] 2816 | ], 2817 | "emo_guilt_sentences": [ 2818 | [ 2819 | 0, 2820 | -1 2821 | ] 2822 | ], 2823 | "emo_interest_freeform": [ 2824 | [ 2825 | 0, 2826 | -1 2827 | ] 2828 | ], 2829 | "emo_interest_sentences": [ 2830 | [ 2831 | 0, 2832 | -1 2833 | ] 2834 | ], 2835 | "emo_neutral_freeform": [ 2836 | [ 2837 | 0, 2838 | -1 2839 | ] 2840 | ], 2841 | "emo_neutral_sentences": [ 2842 | [ 2843 | 0, 2844 | -1 2845 | ] 2846 | ], 2847 | "emo_pain_freeform": [ 2848 | [ 2849 | 0, 2850 | -1 2851 | ] 2852 | ], 2853 | "emo_pain_sentences": [ 2854 | [ 2855 | 0, 2856 | -1 2857 | ] 2858 | ], 2859 | "emo_pride_freeform": [ 2860 | [ 2861 | 0, 2862 | -1 2863 | ] 2864 | ], 2865 | "emo_pride_sentences": [ 2866 | [ 2867 | 0, 2868 | -1 2869 | ] 2870 | ], 2871 | "emo_realization_freeform": [ 2872 | [ 2873 | 0, 2874 | -1 2875 | ] 2876 | ], 2877 | "emo_realization_sentences": [ 2878 | [ 2879 | 0, 2880 | -1 2881 | ] 2882 | ], 2883 | "emo_relief_freeform": [ 2884 | [ 2885 | 0, 2886 | -1 2887 | ] 2888 | ], 2889 | "emo_relief_sentences": [ 2890 | [ 2891 | 0, 2892 | -1 2893 | ] 2894 | ], 2895 | "emo_sadness_freeform": [ 2896 | [ 2897 | 0, 2898 | -1 2899 | ] 2900 | ], 2901 | "emo_sadness_sentences": [ 2902 | [ 2903 | 0, 2904 | -1 2905 | ] 2906 | ], 2907 | "emo_serenity_freeform": [ 2908 | [ 2909 | 0, 2910 | -1 2911 | ] 2912 | ], 2913 | "emo_serenity_sentences": [ 2914 | [ 2915 | 0, 2916 | -1 2917 | ] 2918 | ], 2919 | "freeform_speech_01": [ 2920 | [ 2921 | 0, 2922 | 833155 2923 | ], 2924 | [ 2925 | 833155, 2926 | 2102054 2927 | ], 2928 | [ 2929 | 2102054, 2930 | 2598316 2931 | ], 2932 | [ 2933 | 2598316, 2934 | 3615049 2935 | ], 2936 | [ 2937 | 3615049, 2938 | 4575296 2939 | ], 2940 | [ 2941 | 4575296, 2942 | 5618254 2943 | ], 2944 | [ 2945 | 5618254, 2946 | 6413081 2947 | ], 2948 | [ 2949 | 6762078, 2950 | 7625591 2951 | ], 2952 | [ 2953 | 7625591, 2954 | 8614674 2955 | ] 2956 | ], 2957 | "rainbow_01_fast": [ 2958 | [ 2959 | 0, 2960 | -1 2961 | ] 2962 | ], 2963 | "rainbow_01_highpitch": [ 2964 | [ 2965 | 0, 2966 | -1 2967 | ] 2968 | ], 2969 | "rainbow_01_loud": [ 2970 | [ 2971 | 0, 2972 | -1 2973 | ] 2974 | ], 2975 | "rainbow_01_lowpitch": [ 2976 | [ 2977 | 0, 2978 | -1 2979 | ] 2980 | ], 2981 | "rainbow_01_regular": [ 2982 | [ 2983 | 0, 2984 | -1 2985 | ] 2986 | ], 2987 | "rainbow_01_slow": [ 2988 | [ 2989 | 0, 2990 | -1 2991 | ] 2992 | ], 2993 | "rainbow_01_whisper": [ 2994 | [ 2995 | 0, 2996 | -1 2997 | ] 2998 | ], 2999 | "rainbow_02_fast": [ 3000 | [ 3001 | 0, 3002 | -1 3003 | ] 3004 | ], 3005 | "rainbow_02_highpitch": [ 3006 | [ 3007 | 0, 3008 | -1 3009 | ] 3010 | ], 3011 | "rainbow_02_loud": [ 3012 | [ 3013 | 0, 3014 | -1 3015 | ] 3016 | ], 3017 | "rainbow_02_lowpitch": [ 3018 | [ 3019 | 0, 3020 | -1 3021 | ] 3022 | ], 3023 | "rainbow_02_regular": [ 3024 | [ 3025 | 0, 3026 | -1 3027 | ] 3028 | ], 3029 | "rainbow_02_slow": [ 3030 | [ 3031 | 0, 3032 | -1 3033 | ] 3034 | ], 3035 | "rainbow_02_whisper": [ 3036 | [ 3037 | 0, 3038 | -1 3039 | ] 3040 | ], 3041 | "rainbow_03_fast": [ 3042 | [ 3043 | 0, 3044 | -1 3045 | ] 3046 | ], 3047 | "rainbow_03_highpitch": [ 3048 | [ 3049 | 0, 3050 | -1 3051 | ] 3052 | ], 3053 | "rainbow_03_loud": [ 3054 | [ 3055 | 0, 3056 | -1 3057 | ] 3058 | ], 3059 | "rainbow_03_lowpitch": [ 3060 | [ 3061 | 0, 3062 | -1 3063 | ] 3064 | ], 3065 | "rainbow_03_regular": [ 3066 | [ 3067 | 0, 3068 | -1 3069 | ] 3070 | ], 3071 | "rainbow_03_slow": [ 3072 | [ 3073 | 0, 3074 | -1 3075 | ] 3076 | ], 3077 | "rainbow_03_whisper": [ 3078 | [ 3079 | 0, 3080 | -1 3081 | ] 3082 | ], 3083 | "rainbow_04_fast": [ 3084 | [ 3085 | 0, 3086 | -1 3087 | ] 3088 | ], 3089 | "rainbow_04_highpitch": [ 3090 | [ 3091 | 0, 3092 | -1 3093 | ] 3094 | ], 3095 | "rainbow_04_loud": [ 3096 | [ 3097 | 0, 3098 | -1 3099 | ] 3100 | ], 3101 | "rainbow_04_lowpitch": [ 3102 | [ 3103 | 0, 3104 | -1 3105 | ] 3106 | ], 3107 | "rainbow_04_regular": [ 3108 | [ 3109 | 0, 3110 | -1 3111 | ] 3112 | ], 3113 | "rainbow_04_slow": [ 3114 | [ 3115 | 0, 3116 | -1 3117 | ] 3118 | ], 3119 | "rainbow_04_whisper": [ 3120 | [ 3121 | 0, 3122 | -1 3123 | ] 3124 | ], 3125 | "rainbow_05_fast": [ 3126 | [ 3127 | 0, 3128 | -1 3129 | ] 3130 | ], 3131 | "rainbow_05_highpitch": [ 3132 | [ 3133 | 0, 3134 | -1 3135 | ] 3136 | ], 3137 | "rainbow_05_loud": [ 3138 | [ 3139 | 0, 3140 | -1 3141 | ] 3142 | ], 3143 | "rainbow_05_lowpitch": [ 3144 | [ 3145 | 0, 3146 | -1 3147 | ] 3148 | ], 3149 | "rainbow_05_regular": [ 3150 | [ 3151 | 0, 3152 | -1 3153 | ] 3154 | ], 3155 | "rainbow_05_slow": [ 3156 | [ 3157 | 0, 3158 | -1 3159 | ] 3160 | ], 3161 | "rainbow_05_whisper": [ 3162 | [ 3163 | 0, 3164 | -1 3165 | ] 3166 | ], 3167 | "rainbow_06_fast": [ 3168 | [ 3169 | 0, 3170 | -1 3171 | ] 3172 | ], 3173 | "rainbow_06_highpitch": [ 3174 | [ 3175 | 0, 3176 | -1 3177 | ] 3178 | ], 3179 | "rainbow_06_loud": [ 3180 | [ 3181 | 0, 3182 | -1 3183 | ] 3184 | ], 3185 | "rainbow_06_lowpitch": [ 3186 | [ 3187 | 0, 3188 | -1 3189 | ] 3190 | ], 3191 | "rainbow_06_regular": [ 3192 | [ 3193 | 0, 3194 | -1 3195 | ] 3196 | ], 3197 | "rainbow_06_slow": [ 3198 | [ 3199 | 0, 3200 | -1 3201 | ] 3202 | ], 3203 | "rainbow_06_whisper": [ 3204 | [ 3205 | 0, 3206 | -1 3207 | ] 3208 | ], 3209 | "rainbow_07_fast": [ 3210 | [ 3211 | 0, 3212 | -1 3213 | ] 3214 | ], 3215 | "rainbow_07_highpitch": [ 3216 | [ 3217 | 0, 3218 | -1 3219 | ] 3220 | ], 3221 | "rainbow_07_loud": [ 3222 | [ 3223 | 0, 3224 | -1 3225 | ] 3226 | ], 3227 | "rainbow_07_lowpitch": [ 3228 | [ 3229 | 0, 3230 | -1 3231 | ] 3232 | ], 3233 | "rainbow_07_regular": [ 3234 | [ 3235 | 0, 3236 | -1 3237 | ] 3238 | ], 3239 | "rainbow_07_slow": [ 3240 | [ 3241 | 0, 3242 | -1 3243 | ] 3244 | ], 3245 | "rainbow_07_whisper": [ 3246 | [ 3247 | 0, 3248 | -1 3249 | ] 3250 | ], 3251 | "rainbow_08_fast": [ 3252 | [ 3253 | 0, 3254 | -1 3255 | ] 3256 | ], 3257 | "rainbow_08_highpitch": [ 3258 | [ 3259 | 0, 3260 | -1 3261 | ] 3262 | ], 3263 | "rainbow_08_loud": [ 3264 | [ 3265 | 0, 3266 | -1 3267 | ] 3268 | ], 3269 | "rainbow_08_lowpitch": [ 3270 | [ 3271 | 0, 3272 | -1 3273 | ] 3274 | ], 3275 | "rainbow_08_regular": [ 3276 | [ 3277 | 0, 3278 | -1 3279 | ] 3280 | ], 3281 | "rainbow_08_slow": [ 3282 | [ 3283 | 0, 3284 | -1 3285 | ] 3286 | ], 3287 | "rainbow_08_whisper": [ 3288 | [ 3289 | 0, 3290 | -1 3291 | ] 3292 | ], 3293 | "sentences_01_fast": [ 3294 | [ 3295 | 0, 3296 | -1 3297 | ] 3298 | ], 3299 | "sentences_01_highpitch": [ 3300 | [ 3301 | 0, 3302 | -1 3303 | ] 3304 | ], 3305 | "sentences_01_loud": [ 3306 | [ 3307 | 0, 3308 | -1 3309 | ] 3310 | ], 3311 | "sentences_01_lowpitch": [ 3312 | [ 3313 | 0, 3314 | -1 3315 | ] 3316 | ], 3317 | "sentences_01_regular": [ 3318 | [ 3319 | 0, 3320 | -1 3321 | ] 3322 | ], 3323 | "sentences_01_slow": [ 3324 | [ 3325 | 0, 3326 | -1 3327 | ] 3328 | ], 3329 | "sentences_01_whisper": [ 3330 | [ 3331 | 0, 3332 | -1 3333 | ] 3334 | ], 3335 | "sentences_02_fast": [ 3336 | [ 3337 | 0, 3338 | -1 3339 | ] 3340 | ], 3341 | "sentences_02_highpitch": [ 3342 | [ 3343 | 0, 3344 | -1 3345 | ] 3346 | ], 3347 | "sentences_02_loud": [ 3348 | [ 3349 | 0, 3350 | -1 3351 | ] 3352 | ], 3353 | "sentences_02_lowpitch": [ 3354 | [ 3355 | 0, 3356 | -1 3357 | ] 3358 | ], 3359 | "sentences_02_regular": [ 3360 | [ 3361 | 0, 3362 | -1 3363 | ] 3364 | ], 3365 | "sentences_02_slow": [ 3366 | [ 3367 | 0, 3368 | -1 3369 | ] 3370 | ], 3371 | "sentences_02_whisper": [ 3372 | [ 3373 | 0, 3374 | -1 3375 | ] 3376 | ], 3377 | "sentences_03_whisper": [ 3378 | [ 3379 | 0, 3380 | -1 3381 | ] 3382 | ], 3383 | "sentences_04_whisper": [ 3384 | [ 3385 | 0, 3386 | -1 3387 | ] 3388 | ], 3389 | "sentences_05_loud": [ 3390 | [ 3391 | 0, 3392 | -1 3393 | ] 3394 | ], 3395 | "sentences_06_loud": [ 3396 | [ 3397 | 0, 3398 | -1 3399 | ] 3400 | ], 3401 | "sentences_07_slow": [ 3402 | [ 3403 | 0, 3404 | -1 3405 | ] 3406 | ], 3407 | "sentences_08_slow": [ 3408 | [ 3409 | 0, 3410 | -1 3411 | ] 3412 | ], 3413 | "sentences_09_fast": [ 3414 | [ 3415 | 0, 3416 | -1 3417 | ] 3418 | ], 3419 | "sentences_10_fast": [ 3420 | [ 3421 | 0, 3422 | -1 3423 | ] 3424 | ], 3425 | "sentences_11_highpitch": [ 3426 | [ 3427 | 0, 3428 | -1 3429 | ] 3430 | ], 3431 | "sentences_12_highpitch": [ 3432 | [ 3433 | 0, 3434 | -1 3435 | ] 3436 | ], 3437 | "sentences_13_lowpitch": [ 3438 | [ 3439 | 0, 3440 | -1 3441 | ] 3442 | ], 3443 | "sentences_14_lowpitch": [ 3444 | [ 3445 | 0, 3446 | -1 3447 | ] 3448 | ], 3449 | "sentences_15_regular": [ 3450 | [ 3451 | 0, 3452 | -1 3453 | ] 3454 | ], 3455 | "sentences_16_regular": [ 3456 | [ 3457 | 0, 3458 | -1 3459 | ] 3460 | ], 3461 | "sentences_17_regular": [ 3462 | [ 3463 | 0, 3464 | -1 3465 | ] 3466 | ], 3467 | "sentences_18_regular": [ 3468 | [ 3469 | 0, 3470 | -1 3471 | ] 3472 | ], 3473 | "sentences_19_regular": [ 3474 | [ 3475 | 0, 3476 | -1 3477 | ] 3478 | ], 3479 | "sentences_20_regular": [ 3480 | [ 3481 | 0, 3482 | -1 3483 | ] 3484 | ], 3485 | "sentences_21_regular": [ 3486 | [ 3487 | 0, 3488 | -1 3489 | ] 3490 | ], 3491 | "sentences_22_regular": [ 3492 | [ 3493 | 0, 3494 | -1 3495 | ] 3496 | ], 3497 | "sentences_23_regular": [ 3498 | [ 3499 | 0, 3500 | -1 3501 | ] 3502 | ], 3503 | "sentences_24_regular": [ 3504 | [ 3505 | 0, 3506 | -1 3507 | ] 3508 | ] 3509 | }, 3510 | "p106": { 3511 | "emo_adoration_freeform": [ 3512 | [ 3513 | 0, 3514 | -1 3515 | ] 3516 | ], 3517 | "emo_adoration_sentences": [ 3518 | [ 3519 | 0, 3520 | -1 3521 | ] 3522 | ], 3523 | "emo_amazement_freeform": [ 3524 | [ 3525 | 0, 3526 | -1 3527 | ] 3528 | ], 3529 | "emo_amazement_sentences": [ 3530 | [ 3531 | 0, 3532 | -1 3533 | ] 3534 | ], 3535 | "emo_amusement_freeform": [ 3536 | [ 3537 | 0, 3538 | -1 3539 | ] 3540 | ], 3541 | "emo_amusement_sentences": [ 3542 | [ 3543 | 0, 3544 | -1 3545 | ] 3546 | ], 3547 | "emo_anger_freeform": [ 3548 | [ 3549 | 0, 3550 | -1 3551 | ] 3552 | ], 3553 | "emo_anger_sentences": [ 3554 | [ 3555 | 0, 3556 | -1 3557 | ] 3558 | ], 3559 | "emo_confusion_freeform": [ 3560 | [ 3561 | 0, 3562 | -1 3563 | ] 3564 | ], 3565 | "emo_confusion_sentences": [ 3566 | [ 3567 | 0, 3568 | -1 3569 | ] 3570 | ], 3571 | "emo_contentment_freeform": [ 3572 | [ 3573 | 0, 3574 | -1 3575 | ] 3576 | ], 3577 | "emo_contentment_sentences": [ 3578 | [ 3579 | 0, 3580 | -1 3581 | ] 3582 | ], 3583 | "emo_cuteness_freeform": [ 3584 | [ 3585 | 0, 3586 | -1 3587 | ] 3588 | ], 3589 | "emo_cuteness_sentences": [ 3590 | [ 3591 | 0, 3592 | -1 3593 | ] 3594 | ], 3595 | "emo_desire_freeform": [ 3596 | [ 3597 | 0, 3598 | -1 3599 | ] 3600 | ], 3601 | "emo_desire_sentences": [ 3602 | [ 3603 | 0, 3604 | -1 3605 | ] 3606 | ], 3607 | "emo_disappointment_freeform": [ 3608 | [ 3609 | 0, 3610 | -1 3611 | ] 3612 | ], 3613 | "emo_disappointment_sentences": [ 3614 | [ 3615 | 0, 3616 | -1 3617 | ] 3618 | ], 3619 | "emo_disgust_freeform": [ 3620 | [ 3621 | 0, 3622 | -1 3623 | ] 3624 | ], 3625 | "emo_disgust_sentences": [ 3626 | [ 3627 | 0, 3628 | -1 3629 | ] 3630 | ], 3631 | "emo_distress_freeform": [ 3632 | [ 3633 | 0, 3634 | -1 3635 | ] 3636 | ], 3637 | "emo_distress_sentences": [ 3638 | [ 3639 | 0, 3640 | -1 3641 | ] 3642 | ], 3643 | "emo_embarassment_freeform": [ 3644 | [ 3645 | 0, 3646 | -1 3647 | ] 3648 | ], 3649 | "emo_embarassment_sentences": [ 3650 | [ 3651 | 0, 3652 | -1 3653 | ] 3654 | ], 3655 | "emo_extasy_freeform": [ 3656 | [ 3657 | 0, 3658 | -1 3659 | ] 3660 | ], 3661 | "emo_extasy_sentences": [ 3662 | [ 3663 | 0, 3664 | -1 3665 | ] 3666 | ], 3667 | "emo_fear_freeform": [ 3668 | [ 3669 | 0, 3670 | -1 3671 | ] 3672 | ], 3673 | "emo_fear_sentences": [ 3674 | [ 3675 | 0, 3676 | -1 3677 | ] 3678 | ], 3679 | "emo_guilt_freeform": [ 3680 | [ 3681 | 0, 3682 | -1 3683 | ] 3684 | ], 3685 | "emo_guilt_sentences": [ 3686 | [ 3687 | 0, 3688 | -1 3689 | ] 3690 | ], 3691 | "emo_interest_freeform": [ 3692 | [ 3693 | 0, 3694 | -1 3695 | ] 3696 | ], 3697 | "emo_interest_sentences": [ 3698 | [ 3699 | 0, 3700 | -1 3701 | ] 3702 | ], 3703 | "emo_neutral_freeform": [ 3704 | [ 3705 | 0, 3706 | -1 3707 | ] 3708 | ], 3709 | "emo_neutral_sentences": [ 3710 | [ 3711 | 0, 3712 | -1 3713 | ] 3714 | ], 3715 | "emo_pain_freeform": [ 3716 | [ 3717 | 0, 3718 | -1 3719 | ] 3720 | ], 3721 | "emo_pain_sentences": [ 3722 | [ 3723 | 0, 3724 | -1 3725 | ] 3726 | ], 3727 | "emo_pride_freeform": [ 3728 | [ 3729 | 0, 3730 | -1 3731 | ] 3732 | ], 3733 | "emo_pride_sentences": [ 3734 | [ 3735 | 0, 3736 | -1 3737 | ] 3738 | ], 3739 | "emo_realization_freeform": [ 3740 | [ 3741 | 0, 3742 | -1 3743 | ] 3744 | ], 3745 | "emo_realization_sentences": [ 3746 | [ 3747 | 0, 3748 | -1 3749 | ] 3750 | ], 3751 | "emo_relief_freeform": [ 3752 | [ 3753 | 0, 3754 | -1 3755 | ] 3756 | ], 3757 | "emo_relief_sentences": [ 3758 | [ 3759 | 0, 3760 | -1 3761 | ] 3762 | ], 3763 | "emo_sadness_freeform": [ 3764 | [ 3765 | 0, 3766 | -1 3767 | ] 3768 | ], 3769 | "emo_sadness_sentences": [ 3770 | [ 3771 | 0, 3772 | -1 3773 | ] 3774 | ], 3775 | "emo_serenity_freeform": [ 3776 | [ 3777 | 0, 3778 | -1 3779 | ] 3780 | ], 3781 | "emo_serenity_sentences": [ 3782 | [ 3783 | 0, 3784 | -1 3785 | ] 3786 | ], 3787 | "freeform_speech_01": [ 3788 | [ 3789 | 16800, 3790 | 816808 3791 | ], 3792 | [ 3793 | 816808, 3794 | 1622898 3795 | ], 3796 | [ 3797 | 1622898, 3798 | 2294137 3799 | ], 3800 | [ 3801 | 2294137, 3802 | 3084430 3803 | ], 3804 | [ 3805 | 3084430, 3806 | 3720983 3807 | ], 3808 | [ 3809 | 3720983, 3810 | 4171670 3811 | ], 3812 | [ 3813 | 4171670, 3814 | 4711178 3815 | ], 3816 | [ 3817 | 4711178, 3818 | 5372411 3819 | ], 3820 | [ 3821 | 5372411, 3822 | 5858426 3823 | ], 3824 | [ 3825 | 5858426, 3826 | 6241071 3827 | ], 3828 | [ 3829 | 6241071, 3830 | 6982529 3831 | ], 3832 | [ 3833 | 6982529, 3834 | 7512142 3835 | ], 3836 | [ 3837 | 7512142, 3838 | 8186074 3839 | ], 3840 | [ 3841 | 8186074, 3842 | 8649142 3843 | ] 3844 | ], 3845 | "rainbow_01_fast": [ 3846 | [ 3847 | 0, 3848 | -1 3849 | ] 3850 | ], 3851 | "rainbow_01_highpitch": [ 3852 | [ 3853 | 0, 3854 | -1 3855 | ] 3856 | ], 3857 | "rainbow_01_loud": [ 3858 | [ 3859 | 0, 3860 | -1 3861 | ] 3862 | ], 3863 | "rainbow_01_lowpitch": [ 3864 | [ 3865 | 0, 3866 | -1 3867 | ] 3868 | ], 3869 | "rainbow_01_regular": [ 3870 | [ 3871 | 0, 3872 | -1 3873 | ] 3874 | ], 3875 | "rainbow_01_slow": [ 3876 | [ 3877 | 0, 3878 | -1 3879 | ] 3880 | ], 3881 | "rainbow_01_whisper": [ 3882 | [ 3883 | 0, 3884 | -1 3885 | ] 3886 | ], 3887 | "rainbow_02_fast": [ 3888 | [ 3889 | 0, 3890 | -1 3891 | ] 3892 | ], 3893 | "rainbow_02_highpitch": [ 3894 | [ 3895 | 0, 3896 | -1 3897 | ] 3898 | ], 3899 | "rainbow_02_loud": [ 3900 | [ 3901 | 0, 3902 | -1 3903 | ] 3904 | ], 3905 | "rainbow_02_lowpitch": [ 3906 | [ 3907 | 0, 3908 | -1 3909 | ] 3910 | ], 3911 | "rainbow_02_regular": [ 3912 | [ 3913 | 0, 3914 | -1 3915 | ] 3916 | ], 3917 | "rainbow_02_slow": [ 3918 | [ 3919 | 0, 3920 | -1 3921 | ] 3922 | ], 3923 | "rainbow_02_whisper": [ 3924 | [ 3925 | 0, 3926 | -1 3927 | ] 3928 | ], 3929 | "rainbow_03_fast": [ 3930 | [ 3931 | 0, 3932 | -1 3933 | ] 3934 | ], 3935 | "rainbow_03_highpitch": [ 3936 | [ 3937 | 0, 3938 | -1 3939 | ] 3940 | ], 3941 | "rainbow_03_loud": [ 3942 | [ 3943 | 0, 3944 | -1 3945 | ] 3946 | ], 3947 | "rainbow_03_lowpitch": [ 3948 | [ 3949 | 0, 3950 | -1 3951 | ] 3952 | ], 3953 | "rainbow_03_regular": [ 3954 | [ 3955 | 0, 3956 | -1 3957 | ] 3958 | ], 3959 | "rainbow_03_slow": [ 3960 | [ 3961 | 0, 3962 | -1 3963 | ] 3964 | ], 3965 | "rainbow_03_whisper": [ 3966 | [ 3967 | 0, 3968 | -1 3969 | ] 3970 | ], 3971 | "rainbow_04_fast": [ 3972 | [ 3973 | 0, 3974 | -1 3975 | ] 3976 | ], 3977 | "rainbow_04_highpitch": [ 3978 | [ 3979 | 0, 3980 | -1 3981 | ] 3982 | ], 3983 | "rainbow_04_loud": [ 3984 | [ 3985 | 0, 3986 | -1 3987 | ] 3988 | ], 3989 | "rainbow_04_lowpitch": [ 3990 | [ 3991 | 0, 3992 | -1 3993 | ] 3994 | ], 3995 | "rainbow_04_regular": [ 3996 | [ 3997 | 0, 3998 | -1 3999 | ] 4000 | ], 4001 | "rainbow_04_slow": [ 4002 | [ 4003 | 0, 4004 | -1 4005 | ] 4006 | ], 4007 | "rainbow_04_whisper": [ 4008 | [ 4009 | 0, 4010 | -1 4011 | ] 4012 | ], 4013 | "rainbow_05_fast": [ 4014 | [ 4015 | 0, 4016 | -1 4017 | ] 4018 | ], 4019 | "rainbow_05_highpitch": [ 4020 | [ 4021 | 0, 4022 | -1 4023 | ] 4024 | ], 4025 | "rainbow_05_loud": [ 4026 | [ 4027 | 0, 4028 | -1 4029 | ] 4030 | ], 4031 | "rainbow_05_lowpitch": [ 4032 | [ 4033 | 0, 4034 | -1 4035 | ] 4036 | ], 4037 | "rainbow_05_regular": [ 4038 | [ 4039 | 0, 4040 | -1 4041 | ] 4042 | ], 4043 | "rainbow_05_slow": [ 4044 | [ 4045 | 0, 4046 | -1 4047 | ] 4048 | ], 4049 | "rainbow_05_whisper": [ 4050 | [ 4051 | 0, 4052 | -1 4053 | ] 4054 | ], 4055 | "rainbow_06_fast": [ 4056 | [ 4057 | 0, 4058 | -1 4059 | ] 4060 | ], 4061 | "rainbow_06_highpitch": [ 4062 | [ 4063 | 0, 4064 | -1 4065 | ] 4066 | ], 4067 | "rainbow_06_loud": [ 4068 | [ 4069 | 0, 4070 | -1 4071 | ] 4072 | ], 4073 | "rainbow_06_lowpitch": [ 4074 | [ 4075 | 0, 4076 | -1 4077 | ] 4078 | ], 4079 | "rainbow_06_regular": [ 4080 | [ 4081 | 0, 4082 | -1 4083 | ] 4084 | ], 4085 | "rainbow_06_slow": [ 4086 | [ 4087 | 0, 4088 | -1 4089 | ] 4090 | ], 4091 | "rainbow_06_whisper": [ 4092 | [ 4093 | 0, 4094 | -1 4095 | ] 4096 | ], 4097 | "rainbow_07_fast": [ 4098 | [ 4099 | 0, 4100 | -1 4101 | ] 4102 | ], 4103 | "rainbow_07_highpitch": [ 4104 | [ 4105 | 0, 4106 | -1 4107 | ] 4108 | ], 4109 | "rainbow_07_loud": [ 4110 | [ 4111 | 0, 4112 | -1 4113 | ] 4114 | ], 4115 | "rainbow_07_lowpitch": [ 4116 | [ 4117 | 0, 4118 | -1 4119 | ] 4120 | ], 4121 | "rainbow_07_regular": [ 4122 | [ 4123 | 0, 4124 | -1 4125 | ] 4126 | ], 4127 | "rainbow_07_slow": [ 4128 | [ 4129 | 0, 4130 | -1 4131 | ] 4132 | ], 4133 | "rainbow_07_whisper": [ 4134 | [ 4135 | 0, 4136 | -1 4137 | ] 4138 | ], 4139 | "rainbow_08_fast": [ 4140 | [ 4141 | 0, 4142 | -1 4143 | ] 4144 | ], 4145 | "rainbow_08_highpitch": [ 4146 | [ 4147 | 0, 4148 | -1 4149 | ] 4150 | ], 4151 | "rainbow_08_loud": [ 4152 | [ 4153 | 0, 4154 | -1 4155 | ] 4156 | ], 4157 | "rainbow_08_lowpitch": [ 4158 | [ 4159 | 0, 4160 | -1 4161 | ] 4162 | ], 4163 | "rainbow_08_regular": [ 4164 | [ 4165 | 0, 4166 | -1 4167 | ] 4168 | ], 4169 | "rainbow_08_slow": [ 4170 | [ 4171 | 0, 4172 | -1 4173 | ] 4174 | ], 4175 | "rainbow_08_whisper": [ 4176 | [ 4177 | 0, 4178 | -1 4179 | ] 4180 | ], 4181 | "sentences_01_fast": [ 4182 | [ 4183 | 0, 4184 | -1 4185 | ] 4186 | ], 4187 | "sentences_01_highpitch": [ 4188 | [ 4189 | 0, 4190 | -1 4191 | ] 4192 | ], 4193 | "sentences_01_loud": [ 4194 | [ 4195 | 0, 4196 | -1 4197 | ] 4198 | ], 4199 | "sentences_01_lowpitch": [ 4200 | [ 4201 | 0, 4202 | -1 4203 | ] 4204 | ], 4205 | "sentences_01_regular": [ 4206 | [ 4207 | 0, 4208 | -1 4209 | ] 4210 | ], 4211 | "sentences_01_slow": [ 4212 | [ 4213 | 0, 4214 | -1 4215 | ] 4216 | ], 4217 | "sentences_01_whisper": [ 4218 | [ 4219 | 0, 4220 | -1 4221 | ] 4222 | ], 4223 | "sentences_02_fast": [ 4224 | [ 4225 | 0, 4226 | -1 4227 | ] 4228 | ], 4229 | "sentences_02_highpitch": [ 4230 | [ 4231 | 0, 4232 | -1 4233 | ] 4234 | ], 4235 | "sentences_02_loud": [ 4236 | [ 4237 | 0, 4238 | -1 4239 | ] 4240 | ], 4241 | "sentences_02_lowpitch": [ 4242 | [ 4243 | 0, 4244 | -1 4245 | ] 4246 | ], 4247 | "sentences_02_regular": [ 4248 | [ 4249 | 0, 4250 | -1 4251 | ] 4252 | ], 4253 | "sentences_02_slow": [ 4254 | [ 4255 | 0, 4256 | -1 4257 | ] 4258 | ], 4259 | "sentences_02_whisper": [ 4260 | [ 4261 | 0, 4262 | -1 4263 | ] 4264 | ], 4265 | "sentences_03_whisper": [ 4266 | [ 4267 | 0, 4268 | -1 4269 | ] 4270 | ], 4271 | "sentences_04_whisper": [ 4272 | [ 4273 | 0, 4274 | -1 4275 | ] 4276 | ], 4277 | "sentences_05_loud": [ 4278 | [ 4279 | 0, 4280 | -1 4281 | ] 4282 | ], 4283 | "sentences_06_loud": [ 4284 | [ 4285 | 0, 4286 | -1 4287 | ] 4288 | ], 4289 | "sentences_07_slow": [ 4290 | [ 4291 | 0, 4292 | -1 4293 | ] 4294 | ], 4295 | "sentences_08_slow": [ 4296 | [ 4297 | 0, 4298 | -1 4299 | ] 4300 | ], 4301 | "sentences_09_fast": [ 4302 | [ 4303 | 0, 4304 | -1 4305 | ] 4306 | ], 4307 | "sentences_10_fast": [ 4308 | [ 4309 | 0, 4310 | -1 4311 | ] 4312 | ], 4313 | "sentences_11_highpitch": [ 4314 | [ 4315 | 0, 4316 | -1 4317 | ] 4318 | ], 4319 | "sentences_12_highpitch": [ 4320 | [ 4321 | 0, 4322 | -1 4323 | ] 4324 | ], 4325 | "sentences_13_lowpitch": [ 4326 | [ 4327 | 0, 4328 | -1 4329 | ] 4330 | ], 4331 | "sentences_14_lowpitch": [ 4332 | [ 4333 | 0, 4334 | -1 4335 | ] 4336 | ], 4337 | "sentences_15_regular": [ 4338 | [ 4339 | 0, 4340 | -1 4341 | ] 4342 | ], 4343 | "sentences_16_regular": [ 4344 | [ 4345 | 0, 4346 | -1 4347 | ] 4348 | ], 4349 | "sentences_17_regular": [ 4350 | [ 4351 | 0, 4352 | -1 4353 | ] 4354 | ], 4355 | "sentences_18_regular": [ 4356 | [ 4357 | 0, 4358 | -1 4359 | ] 4360 | ], 4361 | "sentences_19_regular": [ 4362 | [ 4363 | 0, 4364 | -1 4365 | ] 4366 | ], 4367 | "sentences_20_regular": [ 4368 | [ 4369 | 0, 4370 | -1 4371 | ] 4372 | ], 4373 | "sentences_21_regular": [ 4374 | [ 4375 | 0, 4376 | -1 4377 | ] 4378 | ], 4379 | "sentences_22_regular": [ 4380 | [ 4381 | 0, 4382 | -1 4383 | ] 4384 | ], 4385 | "sentences_23_regular": [ 4386 | [ 4387 | 0, 4388 | -1 4389 | ] 4390 | ], 4391 | "sentences_24_regular": [ 4392 | [ 4393 | 0, 4394 | -1 4395 | ] 4396 | ] 4397 | }, 4398 | "p107": { 4399 | "emo_adoration_freeform": [ 4400 | [ 4401 | 0, 4402 | -1 4403 | ] 4404 | ], 4405 | "emo_adoration_sentences": [ 4406 | [ 4407 | 0, 4408 | -1 4409 | ] 4410 | ], 4411 | "emo_amazement_freeform": [ 4412 | [ 4413 | 0, 4414 | -1 4415 | ] 4416 | ], 4417 | "emo_amazement_sentences": [ 4418 | [ 4419 | 0, 4420 | -1 4421 | ] 4422 | ], 4423 | "emo_amusement_freeform": [ 4424 | [ 4425 | 0, 4426 | -1 4427 | ] 4428 | ], 4429 | "emo_amusement_sentences": [ 4430 | [ 4431 | 0, 4432 | -1 4433 | ] 4434 | ], 4435 | "emo_anger_freeform": [ 4436 | [ 4437 | 0, 4438 | -1 4439 | ] 4440 | ], 4441 | "emo_anger_sentences": [ 4442 | [ 4443 | 0, 4444 | -1 4445 | ] 4446 | ], 4447 | "emo_confusion_freeform": [ 4448 | [ 4449 | 0, 4450 | -1 4451 | ] 4452 | ], 4453 | "emo_confusion_sentences": [ 4454 | [ 4455 | 0, 4456 | -1 4457 | ] 4458 | ], 4459 | "emo_contentment_freeform": [ 4460 | [ 4461 | 0, 4462 | -1 4463 | ] 4464 | ], 4465 | "emo_contentment_sentences": [ 4466 | [ 4467 | 0, 4468 | -1 4469 | ] 4470 | ], 4471 | "emo_cuteness_freeform": [ 4472 | [ 4473 | 0, 4474 | -1 4475 | ] 4476 | ], 4477 | "emo_cuteness_sentences": [ 4478 | [ 4479 | 0, 4480 | -1 4481 | ] 4482 | ], 4483 | "emo_desire_freeform": [ 4484 | [ 4485 | 0, 4486 | -1 4487 | ] 4488 | ], 4489 | "emo_desire_sentences": [ 4490 | [ 4491 | 0, 4492 | -1 4493 | ] 4494 | ], 4495 | "emo_disappointment_freeform": [ 4496 | [ 4497 | 0, 4498 | -1 4499 | ] 4500 | ], 4501 | "emo_disappointment_sentences": [ 4502 | [ 4503 | 0, 4504 | -1 4505 | ] 4506 | ], 4507 | "emo_disgust_freeform": [ 4508 | [ 4509 | 0, 4510 | -1 4511 | ] 4512 | ], 4513 | "emo_disgust_sentences": [ 4514 | [ 4515 | 0, 4516 | -1 4517 | ] 4518 | ], 4519 | "emo_distress_freeform": [ 4520 | [ 4521 | 0, 4522 | -1 4523 | ] 4524 | ], 4525 | "emo_distress_sentences": [ 4526 | [ 4527 | 0, 4528 | -1 4529 | ] 4530 | ], 4531 | "emo_embarassment_freeform": [ 4532 | [ 4533 | 0, 4534 | -1 4535 | ] 4536 | ], 4537 | "emo_embarassment_sentences": [ 4538 | [ 4539 | 0, 4540 | -1 4541 | ] 4542 | ], 4543 | "emo_extasy_freeform": [ 4544 | [ 4545 | 0, 4546 | -1 4547 | ] 4548 | ], 4549 | "emo_extasy_sentences": [ 4550 | [ 4551 | 0, 4552 | -1 4553 | ] 4554 | ], 4555 | "emo_fear_freeform": [ 4556 | [ 4557 | 0, 4558 | -1 4559 | ] 4560 | ], 4561 | "emo_fear_sentences": [ 4562 | [ 4563 | 0, 4564 | -1 4565 | ] 4566 | ], 4567 | "emo_guilt_freeform": [ 4568 | [ 4569 | 0, 4570 | -1 4571 | ] 4572 | ], 4573 | "emo_guilt_sentences": [ 4574 | [ 4575 | 0, 4576 | -1 4577 | ] 4578 | ], 4579 | "emo_interest_freeform": [ 4580 | [ 4581 | 0, 4582 | -1 4583 | ] 4584 | ], 4585 | "emo_interest_sentences": [ 4586 | [ 4587 | 0, 4588 | -1 4589 | ] 4590 | ], 4591 | "emo_neutral_freeform": [ 4592 | [ 4593 | 0, 4594 | -1 4595 | ] 4596 | ], 4597 | "emo_neutral_sentences": [ 4598 | [ 4599 | 0, 4600 | -1 4601 | ] 4602 | ], 4603 | "emo_pain_freeform": [ 4604 | [ 4605 | 0, 4606 | -1 4607 | ] 4608 | ], 4609 | "emo_pain_sentences": [ 4610 | [ 4611 | 0, 4612 | -1 4613 | ] 4614 | ], 4615 | "emo_pride_freeform": [ 4616 | [ 4617 | 0, 4618 | -1 4619 | ] 4620 | ], 4621 | "emo_pride_sentences": [ 4622 | [ 4623 | 0, 4624 | -1 4625 | ] 4626 | ], 4627 | "emo_realization_freeform": [ 4628 | [ 4629 | 0, 4630 | -1 4631 | ] 4632 | ], 4633 | "emo_realization_sentences": [ 4634 | [ 4635 | 0, 4636 | -1 4637 | ] 4638 | ], 4639 | "emo_relief_freeform": [ 4640 | [ 4641 | 0, 4642 | -1 4643 | ] 4644 | ], 4645 | "emo_relief_sentences": [ 4646 | [ 4647 | 0, 4648 | -1 4649 | ] 4650 | ], 4651 | "emo_sadness_freeform": [ 4652 | [ 4653 | 0, 4654 | -1 4655 | ] 4656 | ], 4657 | "emo_sadness_sentences": [ 4658 | [ 4659 | 0, 4660 | -1 4661 | ] 4662 | ], 4663 | "emo_serenity_freeform": [ 4664 | [ 4665 | 0, 4666 | -1 4667 | ] 4668 | ], 4669 | "emo_serenity_sentences": [ 4670 | [ 4671 | 0, 4672 | -1 4673 | ] 4674 | ], 4675 | "freeform_speech_01": [ 4676 | [ 4677 | 16800, 4678 | 905639 4679 | ], 4680 | [ 4681 | 905639, 4682 | 1777262 4683 | ], 4684 | [ 4685 | 1777262, 4686 | 2196551 4687 | ], 4688 | [ 4689 | 2251222, 4690 | 2837840 4691 | ], 4692 | [ 4693 | 2837840, 4694 | 3648690 4695 | ], 4696 | [ 4697 | 3648690, 4698 | 4043157 4699 | ], 4700 | [ 4701 | 4144763, 4702 | 4537776 4703 | ], 4704 | [ 4705 | 4561473, 4706 | 5127590 4707 | ], 4708 | [ 4709 | 5127590, 4710 | 5870637 4711 | ], 4712 | [ 4713 | 5930309, 4714 | 6701571 4715 | ], 4716 | [ 4717 | 6762735, 4718 | 7516096 4719 | ], 4720 | [ 4721 | 7516096, 4722 | 8021817 4723 | ], 4724 | [ 4725 | 8021817, 4726 | -1 4727 | ] 4728 | ], 4729 | "rainbow_01_fast": [ 4730 | [ 4731 | 0, 4732 | -1 4733 | ] 4734 | ], 4735 | "rainbow_01_highpitch": [ 4736 | [ 4737 | 0, 4738 | -1 4739 | ] 4740 | ], 4741 | "rainbow_01_loud": [ 4742 | [ 4743 | 0, 4744 | -1 4745 | ] 4746 | ], 4747 | "rainbow_01_lowpitch": [ 4748 | [ 4749 | 0, 4750 | -1 4751 | ] 4752 | ], 4753 | "rainbow_01_regular": [ 4754 | [ 4755 | 0, 4756 | -1 4757 | ] 4758 | ], 4759 | "rainbow_01_slow": [ 4760 | [ 4761 | 0, 4762 | -1 4763 | ] 4764 | ], 4765 | "rainbow_01_whisper": [ 4766 | [ 4767 | 0, 4768 | -1 4769 | ] 4770 | ], 4771 | "rainbow_02_fast": [ 4772 | [ 4773 | 0, 4774 | -1 4775 | ] 4776 | ], 4777 | "rainbow_02_highpitch": [ 4778 | [ 4779 | 0, 4780 | -1 4781 | ] 4782 | ], 4783 | "rainbow_02_loud": [ 4784 | [ 4785 | 0, 4786 | -1 4787 | ] 4788 | ], 4789 | "rainbow_02_lowpitch": [ 4790 | [ 4791 | 0, 4792 | -1 4793 | ] 4794 | ], 4795 | "rainbow_02_regular": [ 4796 | [ 4797 | 0, 4798 | -1 4799 | ] 4800 | ], 4801 | "rainbow_02_slow": [ 4802 | [ 4803 | 0, 4804 | -1 4805 | ] 4806 | ], 4807 | "rainbow_02_whisper": [ 4808 | [ 4809 | 0, 4810 | -1 4811 | ] 4812 | ], 4813 | "rainbow_03_fast": [ 4814 | [ 4815 | 0, 4816 | -1 4817 | ] 4818 | ], 4819 | "rainbow_03_highpitch": [ 4820 | [ 4821 | 0, 4822 | -1 4823 | ] 4824 | ], 4825 | "rainbow_03_loud": [ 4826 | [ 4827 | 0, 4828 | -1 4829 | ] 4830 | ], 4831 | "rainbow_03_lowpitch": [ 4832 | [ 4833 | 0, 4834 | -1 4835 | ] 4836 | ], 4837 | "rainbow_03_regular": [ 4838 | [ 4839 | 0, 4840 | -1 4841 | ] 4842 | ], 4843 | "rainbow_03_slow": [ 4844 | [ 4845 | 0, 4846 | -1 4847 | ] 4848 | ], 4849 | "rainbow_03_whisper": [ 4850 | [ 4851 | 0, 4852 | -1 4853 | ] 4854 | ], 4855 | "rainbow_04_fast": [ 4856 | [ 4857 | 0, 4858 | -1 4859 | ] 4860 | ], 4861 | "rainbow_04_highpitch": [ 4862 | [ 4863 | 0, 4864 | -1 4865 | ] 4866 | ], 4867 | "rainbow_04_loud": [ 4868 | [ 4869 | 0, 4870 | -1 4871 | ] 4872 | ], 4873 | "rainbow_04_lowpitch": [ 4874 | [ 4875 | 0, 4876 | -1 4877 | ] 4878 | ], 4879 | "rainbow_04_regular": [ 4880 | [ 4881 | 0, 4882 | -1 4883 | ] 4884 | ], 4885 | "rainbow_04_slow": [ 4886 | [ 4887 | 0, 4888 | -1 4889 | ] 4890 | ], 4891 | "rainbow_04_whisper": [ 4892 | [ 4893 | 0, 4894 | -1 4895 | ] 4896 | ], 4897 | "rainbow_05_fast": [ 4898 | [ 4899 | 0, 4900 | -1 4901 | ] 4902 | ], 4903 | "rainbow_05_highpitch": [ 4904 | [ 4905 | 0, 4906 | -1 4907 | ] 4908 | ], 4909 | "rainbow_05_loud": [ 4910 | [ 4911 | 0, 4912 | -1 4913 | ] 4914 | ], 4915 | "rainbow_05_lowpitch": [ 4916 | [ 4917 | 0, 4918 | -1 4919 | ] 4920 | ], 4921 | "rainbow_05_regular": [ 4922 | [ 4923 | 0, 4924 | -1 4925 | ] 4926 | ], 4927 | "rainbow_05_slow": [ 4928 | [ 4929 | 0, 4930 | -1 4931 | ] 4932 | ], 4933 | "rainbow_05_whisper": [ 4934 | [ 4935 | 0, 4936 | -1 4937 | ] 4938 | ], 4939 | "rainbow_06_fast": [ 4940 | [ 4941 | 0, 4942 | -1 4943 | ] 4944 | ], 4945 | "rainbow_06_highpitch": [ 4946 | [ 4947 | 0, 4948 | -1 4949 | ] 4950 | ], 4951 | "rainbow_06_loud": [ 4952 | [ 4953 | 0, 4954 | -1 4955 | ] 4956 | ], 4957 | "rainbow_06_lowpitch": [ 4958 | [ 4959 | 0, 4960 | -1 4961 | ] 4962 | ], 4963 | "rainbow_06_regular": [ 4964 | [ 4965 | 0, 4966 | -1 4967 | ] 4968 | ], 4969 | "rainbow_06_slow": [ 4970 | [ 4971 | 0, 4972 | -1 4973 | ] 4974 | ], 4975 | "rainbow_06_whisper": [ 4976 | [ 4977 | 0, 4978 | -1 4979 | ] 4980 | ], 4981 | "rainbow_07_fast": [ 4982 | [ 4983 | 0, 4984 | -1 4985 | ] 4986 | ], 4987 | "rainbow_07_highpitch": [ 4988 | [ 4989 | 0, 4990 | -1 4991 | ] 4992 | ], 4993 | "rainbow_07_loud": [ 4994 | [ 4995 | 0, 4996 | -1 4997 | ] 4998 | ], 4999 | "rainbow_07_lowpitch": [ 5000 | [ 5001 | 0, 5002 | -1 5003 | ] 5004 | ], 5005 | "rainbow_07_regular": [ 5006 | [ 5007 | 0, 5008 | -1 5009 | ] 5010 | ], 5011 | "rainbow_07_slow": [ 5012 | [ 5013 | 0, 5014 | -1 5015 | ] 5016 | ], 5017 | "rainbow_07_whisper": [ 5018 | [ 5019 | 0, 5020 | -1 5021 | ] 5022 | ], 5023 | "rainbow_08_fast": [ 5024 | [ 5025 | 0, 5026 | -1 5027 | ] 5028 | ], 5029 | "rainbow_08_highpitch": [ 5030 | [ 5031 | 0, 5032 | -1 5033 | ] 5034 | ], 5035 | "rainbow_08_loud": [ 5036 | [ 5037 | 0, 5038 | -1 5039 | ] 5040 | ], 5041 | "rainbow_08_lowpitch": [ 5042 | [ 5043 | 0, 5044 | -1 5045 | ] 5046 | ], 5047 | "rainbow_08_regular": [ 5048 | [ 5049 | 0, 5050 | -1 5051 | ] 5052 | ], 5053 | "rainbow_08_slow": [ 5054 | [ 5055 | 0, 5056 | -1 5057 | ] 5058 | ], 5059 | "rainbow_08_whisper": [ 5060 | [ 5061 | 0, 5062 | -1 5063 | ] 5064 | ], 5065 | "sentences_01_fast": [ 5066 | [ 5067 | 0, 5068 | -1 5069 | ] 5070 | ], 5071 | "sentences_01_highpitch": [ 5072 | [ 5073 | 0, 5074 | -1 5075 | ] 5076 | ], 5077 | "sentences_01_loud": [ 5078 | [ 5079 | 0, 5080 | -1 5081 | ] 5082 | ], 5083 | "sentences_01_lowpitch": [ 5084 | [ 5085 | 0, 5086 | -1 5087 | ] 5088 | ], 5089 | "sentences_01_regular": [ 5090 | [ 5091 | 0, 5092 | -1 5093 | ] 5094 | ], 5095 | "sentences_01_slow": [ 5096 | [ 5097 | 0, 5098 | -1 5099 | ] 5100 | ], 5101 | "sentences_01_whisper": [ 5102 | [ 5103 | 0, 5104 | -1 5105 | ] 5106 | ], 5107 | "sentences_02_fast": [ 5108 | [ 5109 | 0, 5110 | -1 5111 | ] 5112 | ], 5113 | "sentences_02_highpitch": [ 5114 | [ 5115 | 0, 5116 | -1 5117 | ] 5118 | ], 5119 | "sentences_02_loud": [ 5120 | [ 5121 | 0, 5122 | -1 5123 | ] 5124 | ], 5125 | "sentences_02_lowpitch": [ 5126 | [ 5127 | 0, 5128 | -1 5129 | ] 5130 | ], 5131 | "sentences_02_regular": [ 5132 | [ 5133 | 0, 5134 | -1 5135 | ] 5136 | ], 5137 | "sentences_02_slow": [ 5138 | [ 5139 | 0, 5140 | -1 5141 | ] 5142 | ], 5143 | "sentences_02_whisper": [ 5144 | [ 5145 | 0, 5146 | -1 5147 | ] 5148 | ], 5149 | "sentences_03_whisper": [ 5150 | [ 5151 | 0, 5152 | -1 5153 | ] 5154 | ], 5155 | "sentences_04_whisper": [ 5156 | [ 5157 | 0, 5158 | -1 5159 | ] 5160 | ], 5161 | "sentences_05_loud": [ 5162 | [ 5163 | 0, 5164 | -1 5165 | ] 5166 | ], 5167 | "sentences_06_loud": [ 5168 | [ 5169 | 0, 5170 | -1 5171 | ] 5172 | ], 5173 | "sentences_07_slow": [ 5174 | [ 5175 | 0, 5176 | -1 5177 | ] 5178 | ], 5179 | "sentences_08_slow": [ 5180 | [ 5181 | 0, 5182 | -1 5183 | ] 5184 | ], 5185 | "sentences_09_fast": [ 5186 | [ 5187 | 0, 5188 | -1 5189 | ] 5190 | ], 5191 | "sentences_10_fast": [ 5192 | [ 5193 | 0, 5194 | -1 5195 | ] 5196 | ], 5197 | "sentences_11_highpitch": [ 5198 | [ 5199 | 0, 5200 | -1 5201 | ] 5202 | ], 5203 | "sentences_12_highpitch": [ 5204 | [ 5205 | 0, 5206 | -1 5207 | ] 5208 | ], 5209 | "sentences_13_lowpitch": [ 5210 | [ 5211 | 0, 5212 | -1 5213 | ] 5214 | ], 5215 | "sentences_14_lowpitch": [ 5216 | [ 5217 | 0, 5218 | -1 5219 | ] 5220 | ], 5221 | "sentences_15_regular": [ 5222 | [ 5223 | 0, 5224 | -1 5225 | ] 5226 | ], 5227 | "sentences_16_regular": [ 5228 | [ 5229 | 0, 5230 | -1 5231 | ] 5232 | ], 5233 | "sentences_17_regular": [ 5234 | [ 5235 | 0, 5236 | -1 5237 | ] 5238 | ], 5239 | "sentences_18_regular": [ 5240 | [ 5241 | 0, 5242 | -1 5243 | ] 5244 | ], 5245 | "sentences_19_regular": [ 5246 | [ 5247 | 0, 5248 | -1 5249 | ] 5250 | ], 5251 | "sentences_20_regular": [ 5252 | [ 5253 | 0, 5254 | -1 5255 | ] 5256 | ], 5257 | "sentences_21_regular": [ 5258 | [ 5259 | 0, 5260 | -1 5261 | ] 5262 | ], 5263 | "sentences_22_regular": [ 5264 | [ 5265 | 0, 5266 | -1 5267 | ] 5268 | ], 5269 | "sentences_23_regular": [ 5270 | [ 5271 | 0, 5272 | -1 5273 | ] 5274 | ], 5275 | "sentences_24_regular": [ 5276 | [ 5277 | 0, 5278 | -1 5279 | ] 5280 | ] 5281 | } 5282 | } --------------------------------------------------------------------------------