Tai Khamyang (khamyang) Language & Cultural Corpus ꩯမ်ထႃႆၶင်
A comprehensive Python language library, computational linguistic toolkit, and cultural corpus for Tai Khamyang (also known as Khamjang or Nora), a critically endangered Southwestern Tai language spoken in Assam, Northeast India (predominantly in Powaimukh village near Margherita, Tinsukia district).
Developed under strict linguistic documentation standards: Accuracy > volume, Authenticity > generation, and Provenance > convenience.
📖 Developer Documentation: For complete architecture details, API references, NLP pipeline guides, and AI dataset integration, see the Developer Guide.
Table of Contents
- Language Background & Sociolinguistics
- Phonological & 6-Tone System
- Writing Systems & Orthography
- Installation
- Unified Developer Facade (
Khamyang) - NLP Toolkit (
khamyang.nlp) - Sub-Corpora & Cultural Resources
- Dictionary & Lexicon
- Traditional Songs (Fɯn)
- Folklore & Interlinear Texts (IGT)
- Proverbs & Sayings (Kham1 Thum3)
- Everyday Fieldwork Conversations
- Material Culture & Ethnobotany
- Geographic Toponyms
- Kinship & Ancestral Clans
- Archival Audio Metadata Index
- Parallel Sentence Corpus
- AI Datasets & Partitioning
- Data Verification Hierarchy
- Command-Line Interface (CLI)
- Interactive Web Studio (
khamyang web) - Data Quality & Statistics
- Academic Sources & Citations
- License & Ethics
Language Background & Sociolinguistics
| Attribute | Details |
|---|---|
| Language Name | Tai Khamyang / Khamjang / Nora (ꩯမ်ထႃႆၶင် / টাই খাময়াং) |
| ISO 639-3 | ksu |
| Glottolog | kham1282 |
| Language Family | Kra-Dai → Tai → Southwestern Tai → Northwestern Tai / Shan group → Assam Tai |
| Primary Location | Powaimukh (Maan3 Paa1 Waai6) village, Margherita, Tinsukia district, Assam, India |
| Endangerment Status | UNESCO: Critically Endangered (< 50 fluent mother-tongue speakers remaining) |
| Key Custodians | Late Chaw Sa Myat Chowlik, Late Nang Mya Chowlik, Deben Chowlik, Ai Che |
| Etymology | kham (gold / ၶမ်) + yang (to have / য়োং) = "People who possess gold" |
Phonological & 6-Tone System
Tai Khamyang possesses six contrastive phonemic lexical tones corresponding to the Proto-Southwestern Tai Gedney tone box:
| Tone # | Name | Chao Pitch | IPA | Pitch Description | Gedney Box Category |
|---|---|---|---|---|---|
| 1 | Mid Level | 33 |
˧˧ | Mid level with slight final fall | A1, A3, B1 |
| 2 | High Falling | 54 |
˥˦ | High level onset with noticeable descent | B2, C2 |
| 3 | Low Creaky | 21 |
˨˩̰ | Low falling pitch with distinct creaky laryngealization | A4, B4 |
| 4 | High Falling Glottal | 54ʔ |
˥˦ʔ | High falling pitch terminated by abrupt glottal closure [ʔ] |
C1, C4, DL1, DS1, DL4, DS4 |
| 5 | Low Falling | 31 |
˧˩ | Low falling pitch without creaky phonation | B3, C3, DL3, DS3 |
| 6 | Level Rising | 35 |
˧˥ | Mid level pitch with a clear terminal rise | A2 |
Writing Systems & Orthography
The Tai Khamyang language uses three primary writing systems:
- Lik Tai Script: A variant of the Myanmar/Shan script utilizing the Myanmar Unicode block (
U+1000..U+109F) and Myanmar Extended-A (U+AA60..U+AA7F) for Khamti/Phake characters (e.g.,ꩯ,ꩢ,ၸ,ၼ,ဢ). - Standardized Romanization: Dr. Stephen Morey's standardized linguistic Romanization using digits
1to6for tone representation (e.g.,nam6,fai1,khaw3,maan3). - Assamese Script (অসমীয়া লিপি): Historically and widely used in Assam for community education and local publication. Tone is represented with superscripts (
¹to⁶).
Installation
# Clone the repository
git clone https://github.com/khamyang-revitalization/khamyang.git
cd khamyang
# Install package in editable mode
pip install -e .
Unified Developer Facade (Khamyang)
The primary developer entry point provides access to all modules and sub-corpora:
from khamyang import Khamyang
# Initialize the corpus facade
lang = Khamyang()
# 1. Dictionary Lookup
entries = lang.lookup("nam6")
print(entries[0]["gloss_en"]) # "water, river"
print(entries[0]["lik_tai"]) # "ၼမ်ႊ"
print(entries[0]["ipa"]) # "[nam˧˥]"
# 2. English / Assamese Search
results = lang.search("elephant")
for r in results:
print(r["roman"], r["lik_tai"], r["gloss_en"])
# 3. Text Normalization & Romanization
norm = lang.normalize("kaw¹ kin¹ khaw³ yow³")
print(norm) # "kaw1 kin1 khaw3 yow3"
# 4. Multi-Script Transliteration
lik_tai = lang.to_liktai("kaw1 yu5 maan3 paa1 waai6")
print(lik_tai) # "ၵဝ် ယူႇ မၢၼ်ႈ ပႃ ဝၢႆး"
# 5. Traditional Songs (Fɯn)
songs = lang.songs(genre="wedding")
print(songs[0]["title"]) # "Fɯn Ao Nang"
# 6. Stories & Interlinear Texts
stories = lang.stories()
print(stories[0]["title_en"]) # "The Quail and the Egret"
# 7. Traditional Proverbs (Kham Thum)
proverbs = lang.proverbs()
print(proverbs[0]["proverb_khamyang"])
# 8. Everyday Fieldwork Conversations
dialogues = lang.conversations()
print(dialogues[0]["topic"])
# 9. Classifier Quantification
phrase = lang.quantify("maa1", 2)
print(phrase) # "maa1 sɔŋ1 to1" (two dogs)
# 10. Archival Audio Recordings
recordings = lang.audio_recordings()
print(recordings[0]["archive_collection"]) # "PARADISEC SDM03"
NLP Toolkit (khamyang.nlp)
The package includes lightweight, zero-external-dependency linguistic processors:
from khamyang.nlp import (
KhamyangNormalizer,
KhamyangTokenizer,
KhamyangLemmatizer,
KhamyangPOSTagger,
KhamyangLanguageDetector,
)
# Tokenization
tok = KhamyangTokenizer()
tokens = tok.tokenize("kaw1 kin1 khaw3 yow3")
print(tokens) # ['kaw1', 'kin1', 'khaw3', 'yow3']
# Normalization (superscript numbers to ASCII digits, Unicode NFC)
norm = KhamyangNormalizer()
clean = norm.normalize("nam⁶")
print(clean) # "nam6"
# Part-of-Speech Tagging (Universal Dependencies)
tagger = KhamyangPOSTagger()
tagged = tagger.tag(["kaw1", "kin1", "khaw3", "yow3"])
print(tagged) # [('kaw1', 'PRON'), ('kin1', 'VERB'), ('khaw3', 'NOUN'), ('yow3', 'PART')]
# Lemmatization
lem = KhamyangLemmatizer()
lemma = lem.lemmatize("kin1")
print(lemma) # "kin1"
# Language Detection
det = KhamyangLanguageDetector()
res = det.detect("kaw1 kin1 khaw3")
print(res) # {'language': 'ksu', 'confidence': 1.0, ...}
Sub-Corpora & Cultural Resources
Dictionary & Lexicon
- 1,099 verified lexical entries across 48 semantic domains (kinship, flora, fauna, agriculture, religion, bodily anatomy).
- Every entry contains:
id,roman,lik_tai,assamese,ipa,tone,pos,definition_en,definition_as,category, andgedney_box.
Traditional Songs (Fɯn)
- 6 authentic traditional songs transcribed in metric verse from audio recorded by Stephen Morey (
SDM03,SDM07):- Fɯn Ao Nang (Song of Courting / Welcoming the Bride)
- Fɯn Nɔn Luk (Tai Lullaby / Rocking the Baby to Sleep)
- Fɯn Tam Khaw (Rice Pounding Rhythm Song)
- Fɯn Poy Sangken (Song of the New Year Water Sprinkling Festival)
- Fɯn Cholim (Song of the Welcoming Courtyard Dance)
- Fɯn Dam Khaw (Song of Rice Seedling Transplantation)
Folklore & Interlinear Texts (IGT)
- 5 complete narratives formatted in Leipzig-compliant interlinear glosses (IGT):
- The Quail and the Egret (Lik Pung: Nok4 Kot4 Kap4 Nok4 Yang1)
- The Hornbill and the Drongo (Lik Pung: Nok4 Kok4 Kap4 Nok4 Te3)
- The Water Buffalo and the Tiger (Lik Pung: Kwaai1 Kap4 Sɯa1)
- The Five Siblings Journeying (Lik Pung: Khon1 Haa3 Luk4 Phaai1)
- Mahosadha Jataka (Lik Chau: Mahosadha)
Proverbs & Sayings (Kham1 Thum3)
- Moral aphorisms preserving traditional wisdom, agricultural advice, and filial duty:
- "Kin1 khaw3 haam1 luang1, kin1 nam6 haam1 thung1" (Eat rice respecting the grain, drink water respecting the stream).
Material Culture & Ethnobotany
- Traditional architecture & implements: Raised stilt house (hɯn1 thaai1), center pillar (saaw1 mai6 luang1), domestic hearth (khaang1 fai1), handloom (huuk4 phaa3), handwoven skirt (sin3 thaai1), foot-lever mortar (khrɔk4 tam1 khaw3).
- Ethnobotanical & Zoological taxa: Documented with binomial Latin taxonomy (Oryza sativa, Piper betle, Areca catechu, Calamus rotang, Bubalus bubalis, Elephas maximus, Panthera tigris, Pavo cristatus).
- Festivals: Poy Sangken (Water Festival), Mai-ko-shum-phai (Monastic Firewood Tower), Poy Lu Phraa (Buddha Consecration), Me Dam Me Phi (Ancestor Worship).
Archival Audio Metadata Index
- Indices of permanent archival recordings held in PARADISEC (
SDM03,SDM07) and ELAR (MPI1029884). - Catalogs recording dates, durations, informants, locations, and persistent archive URLs. (Audio binaries are preserved via source links to honor depositor rights).
Parallel Sentence Corpus
- 16 fully aligned Tai Khamyang <-> English <-> Assamese sentence pairs with full morphemic breakdown and provenance.
AI Datasets & Partitioning
- AI instruction and evaluation sets are stored strictly separately in
data/ai/instruction_dataset.jsonl. - Explicitly labeled with
source_type: "human_verified"to prevent data poisoning.
Data Verification Hierarchy
Every record in the library adheres to a 3-tier epistemological classification:
- Level 1 — Verified Authentic (
level_1_verified): Directly attested in peer-reviewed fieldwork or published academic archives (Morey, Grierson, Buragohain, Nath). - Level 2 — Documented Historical (
level_2_documented_review): Found in archival manuscripts requiring ongoing elder review. - Level 3 — Computationally Derived (
level_3_derived): Generated or augmented data for AI benchmarking; strictly quarantined indata/ai/.
Command-Line Interface (CLI)
The khamyang command provides rich terminal tooling:
# Look up words
khamyang lookup nam6
khamyang lookup "water"
# Search by tone or category
khamyang search "" --tone 3
khamyang search "rice" --category food
# Transliteration
khamyang transliterate "kaw1 yu5 maan3 paa1 waai6" --to liktai
khamyang transliterate "kaw1 kin1 khaw3" --to assamese
# Analyze tones
khamyang tone 4
khamyang tone kwaai1
# Traditional naming
khamyang name --gender m --order 1 --personal "Deben" --clan "Chowlik"
# Numbers
khamyang num 24 --script liktai
# Browse songs & folklore
khamyang stats
khamyang export --format csv --output khamyang_lexicon.csv
# Launch interactive Web Platform
khamyang web --port 8000
Interactive Web Studio (khamyang web)
Launch the built-in web revitalization studio:
khamyang web --port 8000
Open http://127.0.0.1:8000 to access:
- 🔍 Multi-Script Dictionary: Live search with category filters and tone badges.
- 🎵 6-Tone Studio: Interactive Web Audio API synthesizer modeling the 6 Gedney pitch curves.
- 🔤 Virtual Lik Tai Keyboard: Type in Lik Tai script or Romanization.
- 📜 Corpus Reader: Folktales and songs with 5-line interlinear glosses.
- 📥 Export Center: Download Anki decks, CSVs, LaTeX glosses, and ELAN EAF files.
Data Quality & Statistics
See STATISTICS.md and DATA_QUALITY_REPORT.md for full metrics:
- Lexical Entries: 1,099 words (100% verified with IPA, Lik Tai, Assamese, and 6-tone classification).
- Songs & Poems: 6 songs (8 stanzas, 34 metric lines).
- Folktales & Texts: 5 Leipzig-glossed texts (14 interlinear sentences).
- Proverbs: 6 traditional proverbs.
- Archival Audio Sessions: 5 indexed recording sessions (102.5 minutes).
- Scholarly Sources: 13 primary academic sources in registry.
Academic Sources & Citations
For academic attribution, see BIBLIOGRAPHY.md and CITATION.cff.
Primary references:
- Morey, Stephen (2005). The Tai Languages of Assam: A Grammar and Texts. Pacific Linguistics 565. Canberra: Australian National University.
- Morey, Stephen (2008). "The traditional songs of the Tai Khamyang." In The Tai-Kadai Languages, Routledge.
- Nath, Palash Kumar (2015–2026). Documentation and Digitization of Tai Khamyang Oral Literature and Manuscripts. ELAR & ABILAC.
- Grierson, George A. (1904). Linguistic Survey of India, Vol. II: Mon-Khmer and Tai Families. Calcutta: Office of the Superintendent of Government Printing.
- Buragohain, Yehom (1998). The Tai-Khamyangs of Assam: A Study in Social and Cultural Continuity and Change. Dibrugarh University.
👨💻 Author & Creator Profile
- Creator & Author: Akshat Singh Bisht
- Official Website: https://akshatsinghbisht.com/
- Email: infoakshatsinghbisht@gmail.com
- LinkedIn: Akshat Singh Bisht on LinkedIn
- Amazon Author Profile: Akshat Singh Bisht on Amazon
- ResearchGate: Akshat Bisht on ResearchGate
- GitHub: @infoakshatsinghbisht-eng
- Repository: https://github.com/infoakshatsinghbisht-eng/khamyang-language-library
- PyPI Package: https://pypi.org/project/khamyang/
License & Ethics
- Software Code: Licensed under the MIT License.
- Linguistic Data: Shared under open research terms in compliance with depositor agreements and community consent. Dedicated to the elders, singers, and youth of Powaimukh village striving to keep the Tai Khamyang language alive for future generations.
Metadata
Release files for khamyang 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| khamyang-1.1.0.tar.gz | 2.6 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| khamyang-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / khamyang-1.1.0.tar.gz
| Download URL | khamyang-1.1.0.tar.gz |
|---|---|
| Size | 2.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6b495a634bb07ac78185f38f4c9f97968aa2f47344aa9f4dd272674965fa323
|
|
BLAKE2b-256 checksum How to use checksums |
b6151b218a66ea57cb42ab7a6fe8555338cf85a0adbb16f36ff94b36bd293292
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.1
|
Release files / khamyang-1.1.0-py3-none-any.whl
| Download URL | khamyang-1.1.0-py3-none-any.whl |
|---|---|
| Size | 1.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f539561504a54920a54257d2c7e275ab91fcbab9db82fc90a7bc20813c45b75
|
|
BLAKE2b-256 checksum How to use checksums |
3ced03d04b356f0956f162dbdec97895b36720a8e3625bac64556e19c5317271
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.1
|
Security for khamyang 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.