ghananlpcommunity/ghana-speech-ipa
Ghana Speech — Audio with IPA Transcripts Speech with both transcript forms: the original orthography and the IPA phoneme sequence read off the audio by ASR. Each language is a subset, with real train/validation splits. from datasets import load_dataset ds = load_dataset("ghanaopendata/ghana-speech-ipa", "Akuapem_Twi_twi", split="train") ds[0]["audio"] # decoded waveform, 16 kHz ds[0]["text"] # original orthography ds[0]["ipa"] # IPA phonemes 369,347 clips · ~747 h… See the full description on the dataset page: https://huggingface.co/datasets/ghananlpcommunity/ghana-speech-ipa.
Ghana Speech — Audio with IPA Transcripts
Speech with both transcript forms: the original orthography and the IPA phoneme sequence read off the audio by ASR. Each language is a subset, with real train/validation splits.
from datasets import load_dataset
ds = load_dataset("ghanaopendata/ghana-speech-ipa", "Akuapem_Twi_twi", split="train")
ds[0]["audio"] # decoded waveform, 16 kHz
ds[0]["text"] # original orthography
ds[0]["ipa"] # IPA phonemes- 369,347 clips · ~747 h across 42 subsets
- audio: FLAC, 16 kHz mono (lossless re-encode of the source WAV)
Subsets (config_name = language code)
Akuapem_Twi_twiAnyin_anyAsante_Twi_twiAvatime_avnBassar_Ntcham_budBimoba_bimBirifor_Southern_bivBissa_bibBuli_bwuChumburung_ncuDagaare_dgaDagbani_dagDangme_adaDeg_mzwEwe_eweFante_fatFulfulde_Maasina_ffmGikyode_acdGonja_gjnHausa_hauKabiye_kbpKasem_xsmKonkomba_xonKonni_kmaKusaal_kusLelemi_lefMampruli_mawNawuri_nawNinkare_gurNkonya_nkoNtrubo_ntrNzema_nziPaasaal_sigSehwi_sfwSekpele_lipSelee_snwSisaala_Tumulung_silSiwu_akpTampulma_tpmTem_kdhTuwuli_bovVagla_vag
Format
Relationship to the latent datasets
This is the audio twin of `ghanaopendata/voxcpm2-ghana-speech-ipa-latents` and `ghanaopendata/voxcpm2-ghana-english-ipa-latents`: the same clips, the same per-language ids, and the same train/dev assignment — those carry precomputed VoxCPM-2 AudioVAE latents instead of audio, for training without a decode step. Use this one to listen, to check transcripts, or to train anything that needs real audio.
Source
Audio from the ghana-speech corpus (capped at 20 h per language).
How the IPA was produced
Read off the audio by the CTC phoneme recogniser in `GhanaNLP/ghana-ipa-asr` (ghana-ipa-asr batch), feeding the encoder the per-utterance normalised waveforms it was trained on (normalize_audio: true, statistics over valid samples only). The front-end was validated against the reference int8 decoder at 1.8% UER before the run.
Transcripts published before 2026-08-12 were produced without that normalisation, which costs ~12.2% UER against ~1.7%. If you pulled this dataset earlier, re-pull.
Clips whose ASR output is empty or under 2 phonemes/second are excluded (8.3%). Those are source-level segmentation failures rather than recogniser failures — their written transcript does not match the audio length either (1.14 words/sec against 2.95 for the rest).
Pipeline: `GhanaNLP/ghana-speech-english-ipa-latents-data-prep`
