CoolFace
Datasetpublic

ghananlpcommunity/asante-twi-yarngpt-aligned

This dataset is shared under CC BY-NC 4.0, which means you are free to use, share, and adapt it for non-commercial research and educational purposes with attribution. You can read the full license at https://creativecommons.org/licenses/by-nc/4.0/. Asante Twi — YarnGPT Word-Level Aligned Dataset This is an intermediate dataset produced during the preparation of a YarnGPT-style TTS model for Asante Twi. It contains the original audio from… See the full description on the dataset page: https://huggingface.co/datasets/ghananlpcommunity/asante-twi-yarngpt-aligned.

sourceHugging Facecc-by-nc-4.0updated 3mo agoView on Hugging Face
0likes11downloads
Dataset Card
This dataset is shared under CC BY-NC 4.0, which means you are free to use, share, and adapt it for non-commercial research and educational purposes with attribution. You can read the full license at https://creativecommons.org/licenses/by-nc/4.0/.

Asante Twi — YarnGPT Word-Level Aligned Dataset

This is an intermediate dataset produced during the preparation of a YarnGPT-style TTS model for Asante Twi. It contains the original audio from ghananlpcommunity/asante-twi-bible-speech-text enriched with word-level forced alignment timestamps — i.e. the start time, end time, and alignment confidence score for every word in every sentence.

This dataset is not a training-ready dataset on its own. It is the input to the tokenization step that produces ghananlpcommunity/asante-twi-yarngpt-wordlevel-tokenized.


What's in this dataset

ColumnTypeDescription
speaker_idstrSpeaker ID from the source dataset (10 unique speakers)
textstrFull sentence text in Asante Twi
audioAudioOriginal audio at 24kHz
alignmentstrJSON array of word-level alignments (see format below)

Total rows: 22,093 Audio duration: 2–10 seconds per clip


Alignment format

The alignment column is a JSON string containing a list of word objects:

json
[
  {"start": 0.042, "end": 0.378, "text": "Mommoa",   "score": -6.58},
  {"start": 0.441, "end": 0.672, "text": "ɔman",     "score": -0.11},
  {"start": 0.735, "end": 0.840, "text": "no",       "score": -0.18},
  {"start": 0.882, "end": 1.512, "text": "ano,",     "score": -0.32}
]

Fields per word:

  • —start — word start time in seconds
  • —end — word end time in seconds
  • —text — word text (original Twi characters preserved)
  • —score — log-probability alignment confidence (more negative = less confident)

Note on scores: Scores closer to 0 indicate high alignment confidence. Scores below -15 indicate the aligner was uncertain — these words are filtered out in the tokenization step. Proper nouns (names, place names) tend to score lower as they are less common in the aligner's training data.

Note on Unicode: Extended Twi characters like ɔ, ɛ, ŋ appear as \u0254, \u025b, \u014b in the raw JSON but are automatically decoded to the correct characters when loaded in Python via json.loads().


How to use

python
import json
from datasets import load_dataset

ds = load_dataset("ghananlpcommunity/asante-twi-yarngpt-aligned", split="train")

# Access a sample
sample = ds[0]
print(sample["text"])

# Parse alignment
alignment = json.loads(sample["alignment"])
for word in alignment:
    dur = word["end"] - word["start"]
    print(f"  '{word['text']}': {word['start']:.3f}s → {word['end']:.3f}s  ({dur:.3f}s)  score={word['score']:.2f}")

How this was produced

Forced alignment was run on ghananlpcommunity/asante-twi-bible-speech-text using ctc-forced-aligner — a fork of MahmoudAshraf97/ctc-forced-aligner with Twi-specific updates.

Alignment model: Meta's MMS forced alignment model (facebook/mms-300m), trained on 1,100+ languages including Twi.

Key parameters:

  • —language = "twi" (ISO-639-3)
  • —romanize = True — required because MMS maps extended Twi characters (ɔ → o, ɛ → e) internally; the original characters are preserved in the output
  • —Source audio resampled to 16kHz for the alignment model; original 24kHz audio stored in output

Pre-processing: Clips filtered to 2–10 seconds before alignment.


Dataset lineage

ghananlpcommunity/asante-twi-bible-speech-text   (source audio + text)
        ↓  forced alignment
ghananlpcommunity/asante-twi-yarngpt-aligned      (this dataset)
        ↓  word-level audio encoding + tokenization
ghananlpcommunity/asante-twi-yarngpt-wordlevel-tokenized   (training-ready)

Intended use

This dataset is useful for:

  • —Building word-level TTS training data following the YarnGPT architecture
  • —Twi speech research requiring word-level timing information
  • —Training or evaluating ASR systems with word timestamps
  • —Extending to other Ghanaian languages using the same pipeline

Source dataset