Automatic speech recognition for the Potawatomi language
A Whisper-small model adapted with LoRA on under ten hours of community audio, built with the Citizen Potawatomi Nation Language Department.
This site is reference material: how the model works, how to use it, what it cannot do, and the terms under which the community's language data is held.
Overview
Bodéwadmimwen (Potawatomi) is an Algonquian language of the Great Lakes with a small and largely elder population of fluent speakers. Speech recognition matters here because transcription is the bottleneck in language work: recordings accumulate faster than they can be written down, and every untranscribed hour is documentation that cannot be searched, taught, or studied.
This is a low-resource setting in the strictest sense. Fewer than ten hours of audio are available for training, against the tens of thousands of hours behind high-resource systems. The approach therefore adapts a multilingual foundation model rather than training from scratch: Whisper-small provides the acoustic prior, and LoRA adapters specialize it on community recordings without overwriting what the base model knows.
Quick facts
Illustrative only — not live model output
Quickstart
Send a single-channel WAV file to the hosted endpoint and read the transcription off the JSON response.
import requests
with open("sample.wav", "rb") as f:
response = requests.post(
ASR_ENDPOINT, # TODO: endpoint URL
headers={"Authorization": f"Bearer {ASR_TOKEN}"},
files={"audio": f},
timeout=60,
)
response.raise_for_status()
print(response.json()["text"])| Input requirement | Value |
|---|---|
| Format | WAV (PCM) |
| Channels | Mono |
| Sample rate | TODOconfirm |
| Maximum duration | TODOconfirm |
| Authentication | TODObearer token scheme to confirm |
Architecture
The system is Whisper-small — an encoder-decoder transformer trained on multilingual speech — adapted with Low-Rank Adaptation (LoRA). LoRA freezes the base weights and trains small rank-decomposition matrices injected into selected projection layers, so only a fraction of a percent of parameters are updated.
Why LoRA over full fine-tuning. With under ten hours of audio, full fine-tuning overfits quickly and erodes the multilingual acoustic representation that makes the base model useful in the first place. LoRA keeps that representation intact, trains on modest hardware, and produces adapter weights small enough for the community to hold, version, and revoke independently of the base checkpoint.
| LoRA configuration | Value |
|---|---|
| Rank (r) | TODO |
| Alpha | TODO |
| Dropout | TODO |
| Target modules | TODO |
Data & corpus
The training audio comes from the Citizen Potawatomi Nation Language Department. It is community-held data used under partnership, not a scraped or open corpus, and it is not redistributed by this project.
| Property | Value |
|---|---|
| Total audio | Under 10 hours |
| Source | CPN Language Department recordings |
| Sample rate | TODO |
| Speakers | TODO |
| Train / validation / test split | TODO |
Training
| Hyperparameter | Value |
|---|---|
| Base model | openai/whisper-small |
| Method | LoRA |
| Learning rate | TODO |
| Batch size | TODO |
| Epochs / steps | TODO |
| Optimizer | TODO |
| Hardware | TODO |
# TODO: confirm the exact training invocation
python train.py \
--base-model openai/whisper-small \
--method lora \
--lora-rank TODO --lora-alpha TODO --lora-dropout TODO \
--learning-rate TODO --batch-size TODO --epochs TODO \
--dataset cpn-bodewadmimwenEvaluation
| Metric | Value |
|---|---|
| Word error rate (WER) | 38.6% |
| Character error rate (CER) | 11.2% |
| Evaluation set | TODO |
| Held-out speakers | TODO |
These numbers describe performance on held-out community audio and should be read as a usable-with-review system, not a finished one. At 38.6% WER, output is a strong first pass for a human transcriber and a poor substitute for one. The low CER means errors tend to be near-misses in morphology and spelling rather than lost content.
Inference API
| Request field | Detail |
|---|---|
| Endpoint | TODO |
| Method | POST (multipart/form-data) |
| Field | audio — WAV file |
| Auth | TODOscheme to confirm |
{
"text": "…transcribed Bodéwadmimwen text…",
"duration_s": 4.12
}
// TODO: confirm the exact response schema and error payloadsModel card
Intended use. Assisting transcription of Bodéwadmimwen audio in language-documentation and learning workflows, with a human reviewing output; powering pronunciation feedback in the Nishnabe Bawaajigan companion app.
Out of scope. Unreviewed publication of transcripts; legal, medical, or evidentiary transcription; speaker identification or surveillance of any kind; transcription of other Anishinaabe languages, which this model was not trained on.
Known limitations. Trained on under ten hours from a small speaker set, so accuracy degrades on unfamiliar voices, dialectal variation, noisy or far-field recordings, and speech outside the recorded domains. Orthographic conventions follow the training transcripts and may not match other writing systems for the language.
Data governance
This documents a community's language, so governance is a product requirement rather than a disclaimer. Work follows the CARE Principles for Indigenous Data Governance — Collective benefit, Authority to control, Responsibility, Ethics — alongside, not instead of, the technical FAIR framing.
| Term | Status |
|---|---|
| Ownership of recordings | TODOto be documented with CPN |
| Ownership of trained model | TODO |
| License / permitted use | TODO |
| Consent basis for training audio | TODO |
| Review / restrict / revoke process | TODO |
Companion app
Nishnabe Bawaajigan is the learning app built on this model, giving learners spoken practice with feedback rather than text drills alone. It is a separate product; this site documents only the recognition system underneath it.
| Detail | Value |
|---|---|
| Platform | TODO |
| Link | TODO |
Citation
If you reference this system, cite it as below and acknowledge the Citizen Potawatomi Nation Language Department as the source of the language data.
@misc{mootakoduru_bodewadmimwen_asr,
author = {Mootakoduru, Akshay},
title = {Bodéwadmimwen ASR: Speech Recognition for Potawatomi},
howpublished = {Built with the Citizen Potawatomi Nation Language Department},
year = {TODO},
url = {TODO}
}Acknowledgments
This work exists because of the Citizen Potawatomi Nation Language Department and the speakers whose voices are in the recordings. Particular thanks to Justin Neely, Director of the Language Department, for the partnership that made the corpus and this system possible.
The language belongs to the community, not to the model. Any credit for this system belongs first to the people who kept Bodéwadmimwen spoken long enough for it to be recorded.