taqbaylit/f5tts-kabyle-dataset
F5-TTS Kabyle Dataset Clean, deduplicated audio-text dataset for Kabyle (Taqbaylit / Tamaziɣt) TTS fine-tuning with F5-TTS. Statistics Metric Value Total clips 59,462 Total duration 41.30 hours Sample rate 24 kHz mono Avg clip length 2.50s Min clip length 1.00s Max clip length 12.65s Unique phrases 59,462 (0% duplicates) Unique characters 112 Sources Tatoeba (67.8%) + Common Voice 26 tiny (32.2%) Source Datasets… See the full description on the dataset page: https://huggingface.co/datasets/taqbaylit/f5tts-kabyle-dataset.
F5-TTS Kabyle Dataset
Clean, deduplicated audio-text dataset for Kabyle (Taqbaylit / Tamaziɣt) TTS fine-tuning with F5-TTS.
Statistics
Source Datasets
Preparation Pipeline
- Resampled both sources to 24 kHz mono (F5-TTS / Vocos requirement)
- Duration filter: 1.0s — 15s (removed 230 clips: 225 Tatoeba + 5 CV)
- Character standardization: corrected false friends (ε→ɛ, γ→ɣ, etc.)
- Deduplication: one instance per phrase, preferring CV over Tatoeba for speaker diversity
- Balanced: ~68% Tatoeba / ~32% CV
File Format
metadata.csv (separator |)
audio_file|text
wavs/tatoeba_033368.wav|Uɣeɣ tannumi d uzɣal.
wavs/cv_024698.wav|Tanemmirt i Mass Nagata.
wavs/tatoeba_022648.wav|Tom iteṭṭef dima deg awal.vocab.txt
Extended vocabulary merging F5-TTS base vocab + all Kabyle characters:
ɛƐɣƔčČǧǦṭṬḍḌṛṚẓẒḥḤṣṢḏḎṯṮ
Usage
Load as audio dataset
from datasets import load_dataset
# Load with audio
ds = load_dataset("audiofolder", data_dir=".", split="train")
# Or load metadata only
df = pd.read_csv("metadata.csv", sep="|")For F5-TTS fine-tuning
# Prepare F5-TTS format
python prepare_csv_wavs.py ./f5tts_kabyle_dataset ./data/kabyle_char
# Extend checkpoint
python extend_checkpoint.py \
--checkpoint ckpts/F5TTS_Base/model_1200000.safetensors \
--old_vocab ckpts/F5TTS_Base/vocab.txt \
--new_vocab ./data/kabyle_char/vocab.txt \
--output ckpts/F5TTS_Base/model_1200000_extended.safetensors
# Fine-tune
accelerate launch --mixed_precision=fp16 \
src/f5_tts/train/train.py \
--config-name F5TTS_Kabyle.yamlCharacter Coverage
All standard Kabyle characters are present:
Dataset Quality
- Zero duplicates (59,462 unique phrases)
- Multi-speaker (CV provides voice diversity)
- Clean audio (Tatoeba TTS + CV scripted speech)
- Verified alignment (5 random samples manually checked)
- Standardized orthography (no Greek/Cyrillic false friends)
Limitations
- Tatoeba is single-speaker (synthetic/reading voice)
- CV-tiny is a subset of full Common Voice 26 Kabyle
- Average clip length is short (2.50s) — good for alignment, less for prosody
- No speaker labels in metadata (for multi-speaker conditioning)
Future Work
- [ ] Add speaker embeddings for multi-speaker TTS
- [ ] Integrate full CV26 dataset (~23h additional)
- [ ] Add phonetic transcription (IPA) for better pronunciation
- [ ] Create train/dev/test splits with speaker disjointness
Citation
If you use this dataset, please cite:
@dataset{f5tts_kabyle_2026,
author = {MOKRAOUI, Athmane (boffire)},
title = {F5-TTS Kabyle Dataset},
year = {2026},
publisher = {HuggingFace},
url = {https://huggingface.co/datasets/boffire/f5tts-kabyle-dataset}
}And the source datasets:
License
- Tatoeba portion: CC BY 4.0
- Common Voice portion: Mixed (see original dataset licenses per clip)
- This compilation: CC BY 4.0
Contact
- Author: Athmane MOKRAOUI (boffire / ButterflyOfFire)
- GitHub: athmanemokraoui
- HuggingFace: boffire
Prepared for F5-TTS fine-tuning on Google Colab T4 / Kaggle T4 (16 GB VRAM)
