WAXAL 数据集是一个面向非洲语言的大规模多语言语音语料库,在论文 WAXAL: A Large-Scale Multilingual African Language Speech Corpus 中首次提出。
Waxal 项目提供了面向非洲语言的自动语音识别(ASR)和文本转语音(TTS)数据集。创建并发布该数据集的目的是为了推动相关研究,以提高这些服务不足语言的语音和语言技术的准确性与流畅度,并作为数字保存的资源库。
Waxal 数据集是通过与马凯雷雷大学、加纳大学、Digital Umuganda 和 Media Trust 合作收集的。数据采集由谷歌和盖茨基金会资助,并根据协议将数据集开放获取。
Waxal ASR 数据集包含 19 种非洲语言的数据,由大约 1250 小时的转录自然语音组成,涵盖了多种不同的语音。该数据集涉及的 19 种语言在撒哈拉以南非洲的 40 个国家拥有超过 1 亿使用者。
| 提供者 | 语言 | 许可协议 |
|---|---|---|
| 马凯雷雷大学 | 阿乔利语、卢干达语、马萨巴语、尼扬科勒语、索加语 | CC-BY-SA-4.0 |
| 加纳大学 | 阿坎语、埃维语、达格巴尼语、达加雷语、伊克波索语 | CC-BY-4.0 |
| Digital Umuganda | 富拉语、林加拉语、绍纳语、马达加斯加语、阿姆哈拉语、奥罗莫语、锡达莫语、提格利尼亚语、沃莱塔语 | CC-BY-SA-4.0 |
Waxal TTS 数据集是一个包含 16 种非洲语言的文本转语音数据集合。它包含超过 180 小时的高质量、单人朗读的语音录制,朗读内容为语音平衡的文稿。
| 提供者 | 语言 | 许可证 |
|---|---|---|
| Makerere University | Acholi、Luganda、Kiswahili、Nyankole | CC-BY-SA-4.0 |
| University of Ghana | Akan(Fante、Twi) | CC-BY-4.0 |
| Media Trust | Fula、Igbo、Hausa、Yoruba、Nigerian Pidgin | CC-BY-SA-4.0 |
| Loud and Clear | Kikuyu、Luo | CC-BY-SA-4.0 |
datasets 库允许您在纯 Python 环境中大规模加载和预处理数据集。
首先,请确保您已安装处理音频数据所需的依赖项。您的系统需要安装 ffmpeg。
Google Colab / Ubuntu
sudo apt-get install ffmpeg
pip install datasets[audio]macOS
brew install ffmpeg
pip install datasets[audio]Windows 从 ffmpeg.org 下载并安装,确保其已添加到您的 PATH 环境变量中。
pip install datasets[audio]如果遇到 RuntimeError: Could not load libtorchcodec,请确保已正确安装 ffmpeg,或检查 torch、torchaudio 和 torchcodec 版本之间的兼容性。
加载 ASR 数据
要加载特定语言的 ASR 数据,请指定配置名称,例如使用 sna_asr 加载修纳语 ASR 数据。
from datasets import load_dataset, Audio
# Load Shona (sna) ASR dataset
asr_data = load_dataset("google/WaxalNLP", "sna_asr")
# Access splits
train = asr_data['train']
val = asr_data['validation']
test = asr_data['test']
# Example: Accessing audio bytes and other fields
example = train[0]
print(f"Transcription: {example['transcription']}")
print(f"Sampling Rate: {example['audio']['sampling_rate']}")
# 'array' contains the decoded audio bytes as a numpy array
print(f"Audio Array Shape: {example['audio']['array'].shape}")加载 TTS 数据
要加载特定语言的 TTS 数据,请指定配置名称,例如,使用 swa_tts 加载斯瓦希里语 TTS 数据。
from datasets import load_dataset
# Load Swahili (swa) TTS dataset
tts_data = load_dataset("google/WaxalNLP", "swa_tts")
# Access splits
train = tts_data['train']{
'id': 'sna_0',
'speaker_id': '...',
'audio': {
'array': [...],
'sample_rate': 16_000
},
'transcription': '...',
'language': 'sna',
'gender': 'Female',
}{
'id': 'swa_0',
'speaker_id': '...',
'audio': {
'array': [...],
'sample_rate': 16_000
},
'text': '...',
'locale': 'swa',
'gender': 'Female',
}对于ASR 数据集,带转录文本的数据按以下方式拆分:
unlabeled 拆分包含所有没有对应转录文本的样本。
TTS 数据集采用类似的结构,数据拆分为 train、validation 和 test 集。
数据由多个合作方收集:
| Provider | Dataset | License |
|---|---|---|
| 加纳大学 | UGSpeechData | CC BY 4.0 |
| Digital Umuganda | AfriVoice | CC-BY-SA 4.0 |
| 马凯雷雷大学 | Yogera Dataset | CC-BY-SA 4.0 |
| Media Trust | CC-BY-SA 4.0 |
请检查您所使用特定语言的许可,因为不同提供方的许可可能有所不同。
机构:Google Research
@article{waxal2026,
title={WAXAL: A Large-Scale Multilingual African Language Speech Corpus},
author={Anonymous},
journal={arXiv preprint arXiv:2602.02734},
year={2026}
}