emoji-tts/emoji-tts-22k
Emoji-TTS 22K Training Data Emoji-TTS 22K is the training corpus used to build Emoji-TTS, an emoji-conditioned expressive text-to-speech model. Each example pairs an English transcript, an emoji control label, and a synthetic WAV utterance spoken with the fixed Kore voice. The corpus contains 21,940 utterances: 19,945 emoji-conditioned samples and 1,995 neutral/no-emoji samples. The control inventory covers ten emoji labels plus the neutral <none> label. How It Was… See the full description on the dataset page: https://huggingface.co/datasets/emoji-tts/emoji-tts-22k.
Emoji-TTS 22K Training Data
Emoji-TTS 22K is the training corpus used to build Emoji-TTS, an emoji-conditioned expressive text-to-speech model. Each example pairs an English transcript, an emoji control label, and a synthetic WAV utterance spoken with the fixed Kore voice.
The corpus contains 21,940 utterances: 19,945 emoji-conditioned samples and 1,995 neutral/no-emoji samples. The control inventory covers ten emoji labels plus the neutral <none> label.
How It Was Built
The source texts were selected from public Bluesky posts. We retained English, single-emoji texts from the ten target emoji classes, applied deduplication and length filtering, and sampled roughly 2,000 examples per emoji. A separate neutral subset was sampled from no-emoji/social-text candidates and assigned the <none> control label.
For each emoji-conditioned text, a Gemini director model produced a short delivery instruction describing prosody, affect, emphasis, pace, and vocal color while preserving the transcript. The neutral subset used a calm, text-led delivery prompt. Before speech synthesis, emoji clusters and hashtag tokens were removed from the spoken transcript. Gemini 2.5 Flash TTS and Gemini 2.5 Pro TTS were used to render speech, with Pro renderings preferred when both were available. Failed generations, missing audio, empty text, and duplicate IDs were discarded.
The final dataset was split with fixed seed 42 into 19,940 training samples, 1,000 validation samples, and 1,000 test samples. Metadata summaries and the Emoji-TTS training plan are included under metadata/.
What It Is For
This dataset is intended for research on emoji-controlled expressive TTS, disentangled prosody/style control, speech-to-emoji evaluation, and text-to-speech systems that need a lightweight symbolic emotion control signal.
It is not a human speaker dataset: all released audio is synthetic and uses one fixed TTS voice. The text comes from public social posts and may contain informal language, mentions, slang, sarcasm, or noisy web text.
Labels
<none>: 1995😭: 1999😂: 1996😊: 1996😍: 1996🙏: 1996🤔: 1996🔥: 1995💔: 1994👏: 1992🙄: 1985
Files
train/shards/*.tar: 19,940 samplesvalidation/shards/*.tar: 1,000 samplestest/shards/*.tar: 1,000 samples*/metadata.jsonl: per-split sample indexmetadata/all_records.jsonl: global sample indexmetadata/emoji_vocab.json: label-to-id mappingmetadata/source_summary.json: source selection summarymetadata/split_summary.json: split and label-count summarymetadata/train_plan_e10_noemoji22k_turbo_optinv4.json: training recipe metadataprompts/neutral_prompt_kore_poe.wav: neutral prompt audio used by the Chatterbox Turbo recipe
Each tar member pair contains one 00000000.wav file and one matching 00000000.json metadata file. The JSON metadata includes id, text, emoji, emoji_id, language_id, source_split, tts_model, voice, and audio_format.
Minimal Access Example
import json
import tarfile
with tarfile.open("train/shards/train-00000.tar") as tar:
meta = json.loads(tar.extractfile("00000000.json").read())
wav_bytes = tar.extractfile("00000000.wav").read()
print(meta["text"], meta["emoji"], len(wav_bytes))