Zazaki Genç MMS: IPA pronunciation transcription

This model transcribes short Zazaki speech clips into stress-free IPA in the project’s pronunciation convention. It is specialized to reviewed Genç material from one anonymized speaker. It is a research and language-learning resource; broad dialect coverage, new-speaker accuracy, and reliable long-form transcription have not been demonstrated.

Model and license

  • Published by zazacaogren.com; trained checkpoint dated 2026-06-15.
  • Upstream: Meta/Facebook MMS-1B-All, using the Wav2Vec2 CTC architecture.
  • This repository contains the complete fine-tuned weights in FP32 Safetensors, approximately 3.86 GB, plus tokenizer and feature-extractor files. It is a full model export, not a compact adapter-only download.
  • License: Creative Commons Attribution-NonCommercial 4.0 International, matching the upstream model. See LICENSE and ATTRIBUTION.md.
  • Attribution to zazacaogren.com for its contributions is optional. No additional project restrictions are imposed; upstream Meta/MMS attribution requirements and noncommercial terms still apply.
  • Redistribution metadata omits original speaker identifiers and local file paths.

Quick start

Download this repository, install the matching dependencies, and run its decoder:

pip install -r requirements.txt
python transcribe.py example.wav

For GPU inference, add --device cuda. CPU FP32 is the reference mode used for the release verification; GPU numerical behavior can differ slightly. Install matching PyTorch and torchaudio builds for your platform before the other requirements. If an audio codec is unavailable, convert the input to WAV with FFmpeg first.

From a local checkout, or with transcribe.py downloaded alongside your code:

from transcribe import ZazakiTranscriber

recognizer = ZazakiTranscriber("stronganchor/zazaki-genc-mms-ipa", device="cpu")
print(recognizer.transcribe("example.wav"))

The decoder converts multiple channels to mono and resamples to 16 kHz. Use short speech segments resembling words, phrases, or short sentences. Segment long recordings before transcription; this release does not implement voice activity detection or long-audio chunk stitching.

Decoding: CTC beam search, width 64, without an external language model; then the IPA normalization below.

The supplied decoder removes primary/secondary stress marks and ASCII/curly apostrophes, normalizes Unicode to NFC, collapses whitespace, and writes every t and d with the dental diacritic ̪ after first removing existing dental diacritics. This dental-stop convention reproduces the historical evaluator; it should not be interpreted as an independently measured phonetic distinction. The original training export contained a contradictory decoding preference; this release explicitly selects the evaluator’s beam-64 plus dental-normalization behavior. A stock Transformers greedy pipeline will not reproduce the reported IPA score.

Data and training history

The final fine-tune used a reviewed June 15, 2026 snapshot: 3,085 clips / 93.11 audio minutes, with 2,486 training clips / 75.71 minutes and 599 validation clips / 17.40 minutes. Labels reflect the project conventions at that date, including reviewed human and assisted transcription work. The companion speech dataset provides historical_20260615 (train/validation) and reviewed_20260719 (a later reviewed full corpus, without an independent test split). Later corrections were not retroactively used to train these weights.

MMS-1B-All was adapted through earlier project IPA checkpoints in April 2026, then reviewed-data fine-tunes dated May 4, May 28, and June 15, 2026. The final stage warm-started the selected May 28 checkpoint (step 1413); the June 15 exported weights were selected at step 4039.

The final stage used Adafactor, a frozen convolutional feature encoder, gradient checkpointing, effective batch size 8, learning rate 2e-5, and BF16 training. Other model parameters were trained; this was not an adapter-only fine-tune. The final inference export is FP32. Training, validation, and selection records are summarized in release_metadata.json.

Historical validation results

Measure Value
Validation clips 599
Character error rate, including spaces 4.7690%
Exact whole-transcript match 53.4224%
Character error rate after removing spaces 5.1591%
Exact match after removing spaces 54.5910%

CER is total character edit distance divided by total reference characters. Lower CER is better. These figures come from the saved external evaluator on the 599-row June 15 validation split, which was used for checkpoint selection. They are historical same-speaker validation results, not an independent final test and not a new-speaker or whole-language benchmark. No WER claim is made.

A later 220-clip conservative comparison must not be interpreted as a held-out test of these weights: 146 of its clips occur in June 15 training and 74 in June 15 validation. That comparison is omitted from headline metrics. Checks of the main June 15 validation split found no identical-audio train/validation overlap, and no recording-ID or audio-basename overlap with several checked earlier training manifests. Those checks do not constitute a complete audit of all upstream pretraining, lexical-family overlap, or all historical training ancestors.

Limitations

Accuracy varies with speaker, dialect, recording conditions, and speaking style. Related lesson vocabulary and the same speaker occur across development data. The small, selected validation set does not measure all everyday conversational speech. Outputs can omit, substitute, or join words; uncertain transcriptions require review. Phonetic and orthographic conventions are project-specific and may differ from other Zazaki spelling systems or narrow phonetic analyses.

Release verification

Weights were copied without numerical changes from the selected local export. Public configuration paths were made portable and training-only files were excluded. The supplied inference script was checked by loading the staged model afresh and comparing a small fixed validation sample against saved historical predictions. See verification.json for the completed checks and their scope; this release check is not a rerun of the full benchmark.

Downloads last month
17
Safetensors
Model size
1.0B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for stronganchor/zazaki-genc-mms-ipa

Finetuned
(439)
this model

Dataset used to train stronganchor/zazaki-genc-mms-ipa

Collection including stronganchor/zazaki-genc-mms-ipa