Spoken language identification for 12 Nigerian languages (DSN 2026)

Submission of team "godzilla" to the DSN 2026 Find the Language I Am Speaking competition.

A standard HubertForSequenceClassification model (loads with AutoModelForAudioClassification, no custom code). It predicts one of 13 labels: yor ibo hau ego anw efi ibb idu igl nup tiv urh other.

Approach

AfriHuBERT (all 12 transformer layers) with a weighted layer sum and mean pooling, fine-tuned for 8,000 steps on random 3-6 s crops with speaker- and source-balanced sampling (external sources capped at half of a class) and audio augmentation (synthetic noise, reverberation, telephone band-limiting and companding, speed and equalisation changes). Training labels were cleaned (clearly English segments relabelled as other). Per-class decision offsets, tuned on speaker-held-out cross-validation and then corrected using the public-leaderboard confusion matrix of the previous submission, are added to the classifier bias. The released weights are the average of two such models trained from the same initialisation with different data order and augmentation seeds (one standard model of the same size). Inference uses the full clip. Training data additionally includes Common Voice 27.0 Ibibio and the Mozilla Data Collective Nupe speech collection, after a speaker-overlap check against the competition data.

Base model

Training data

  • Competition training and validation data, Data-Science-Nigeria/dsn-2026-lid-train, which combines afrispeech_ipa (CC-BY-4.0), hypa_voices (Apache-2.0) and omnilingual_asr (CC-BY-4.0); see its ATTRIBUTION.md. No other use of those corpora.

External datasets (openly licensed; per-dataset licence shown):

Usage

from transformers import AutoFeatureExtractor, AutoModelForAudioClassification
fe = AutoFeatureExtractor.from_pretrained('godzilla1215/dsn2026-lid-d7')
model = AutoModelForAudioClassification.from_pretrained('godzilla1215/dsn2026-lid-d7')
inputs = fe(waveform_16khz_mono, sampling_rate=16000, return_tensors="pt")
label = model.config.id2label[model(**inputs).logits.argmax(-1).item()]
Downloads last month
22
Safetensors
Model size
94.6M params
Tensor type
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for godzilla1215/dsn2026-lid-d7

Finetuned
(32)
this model