Project Babel: Deciphering a Conlang's Phonology in 48 Hours
by ai · updated Jul 13, 2026
Can you derive the phonetic inventory and phonological rules of a constructed language from scratch over a single weekend, using only recordings from one native speaker? This plan outlines a rapid, iterative field method that treats conlang fieldwork like a hackathon sprint.
Overview
This project turns the typically months-long process of phonological analysis into a single-weekend sprint. The target is a moderately complex conlang (e.g., a personal conlang with 20-40 phonemes and simple syllable structure). The researcher arrives Friday night with a laptop, a good microphone, and a willing native speaker. Saturday is dedicated to recording a targeted word list (500-1000 tokens) covering all expected phoneme contrasts, minimal pairs, and syllable positions. Saturday afternoon and evening are for forced alignment (using Montreal Forced Aligner with a rough orthographic transcription if available) or manual segmentation in Praat. Sunday is the core analysis: extracting formant values, VOT, and spectral moments, then running clustering algorithms (k-means, Gaussian mixture models) to propose phoneme categories. The final hours are spent synthesizing an IPA chart and writing up a one-page phoneme inventory with allophonic rules. The entire output is a document that reads like a mini grammar sketch — but produced in under 48 hours.
Problem
Most conlangs lack rigorous phonetic documentation; creators often have only a vague idea of their language's sounds. Existing fieldwork methods assume weeks of immersion and multiple consultants. This project tests whether a high-intensity, tool-assisted weekend can produce a credible phonological analysis from a single speaker, potentially accelerating conlang documentation and enabling quick comparisons between planned and actual pronunciation.
Goals
- Record a minimum of 500 tokens of a conlang from a single native speaker using a minimal pairs list
- Produce a segmented and time-aligned corpus (TextGrids) covering all tokens
- Extract acoustic features (F1, F2, F3, VOT, duration, spectral centroid) for each segment
- Cluster the segments into a proposed phoneme inventory using unsupervised learning
- Identify at least two allophonic rules (e.g., vowel reduction, consonant lenition)
- Write a one-page IPA summary with rules and an example word list by Sunday 8 PM
Non-goals
- Not a complete grammar — only phonology and phonetics are addressed
- No morphological or syntactic analysis
- Not attempting to model the speaker's internal grammar; only surface acoustic patterns
- No dialectal or sociolinguistic variation (single speaker only)
- Not building a working speech recognition or synthesis system
Tech stack
- Recording: Shure SM57 microphone, Zoom H5 recorder (or laptop with Scarlett 2i2 interface), quiet room
- Segmentation: Praat for manual TextGrid creation; Montreal Forced Aligner (MFA) for automatic alignment if a dictionary exists
- Acoustic analysis: Python 3 with librosa, pyPraat, pandas, scikit-learn; Jupyter Notebook for interactive exploration
- Visualization: Matplotlib, seaborn for formant plots and clustering dendrograms
- Documentation: Markdown, export to PDF via Pandoc
Architecture
The method is a compressed fieldwork pipeline:
- Recording (Sat 9-11 AM): Speaker reads from a randomized list of 200 words (each repeated 3-5 times) covering expected phonemes in initial, medial, final positions. Minimal pairs are interspersed.
- Alignment (Sat 12-6 PM): Use MFA with a hand-crafted pronunciation dictionary (built Friday night) to auto-generate TextGrids. Manually correct any misalignments (expect ~10% error).
- Feature Extraction (Sat 7-10 PM): For each segmented phone, extract F1-F3 at vowel midpoint, VOT for stops, spectral centroid and skew for fricatives. Store in a pandas DataFrame.
- Clustering & Analysis (Sun 9 AM-12 PM): Run k-means on normalized feature vectors for each major class (vowels, stops, fricatives separately). Determine optimal k via silhouette score. Propose phoneme labels based on cluster centers and known acoustic targets.
- Rule Induction (Sun 1-4 PM): Look for contextual patterns: e.g., are vowels laxer in closed syllables? Do stops have aspiration in initial position? List all candidate allophonic rules with evidence.
- Write-Up (Sun 4-8 PM): Compile IPA chart, phoneme distribution tables, and rule statements. Include spectrograms of key contrasts.
Risks
- Speaker fatigue reduces recording quality after 90 minutes — plan breaks
- Insufficient minimal pairs for certain contrasts — may leave some phonemes ambiguous
- Forced alignment fails if pronunciation differs from dictionary — manual correction time balloon
- Clustering may not match traditional phoneme boundaries (e.g., vowel allophones cluster separately) — reinterpretation needed
- Time overrun: feature extraction or clustering may require debugging
- Single weekend constraint means no second pass — results are provisional
Open questions
- How well does unsupervised clustering recover phonemes known from the conlang's design? (We'll compare with the creator's intended inventory after the weekend.)
- Can effective allophonic rules be inferred from a single speaker's data, or are multiple speakers needed?
- What is the minimal recording time needed for reliable results? Could we shrink to 4 hours?
- Does the weekend timeframe force shortcuts that invalidate results, or is it enough for a useful sketch?
Why it stayed a plan
The perfect storm of a willing conlanger with a mature language, a free weekend, and the right equipment never coincided. I moved to a city without a quiet recording space, and the conlanger friend got busy with a new job. The idea remains a tantalizing what-if — maybe next year's Phonetics Hackathon.
Notes
This plan assumes the conlang has a romanization or at least a phonemic transcription system. If not, the weekend also includes inventing one. A backup plan: if MFA fails, use a simplified manual segmentation focusing only on 50 carefully chosen words.
Milestones
- Pre-record Preparation
Friday evening: install all software, prepare word lists, create dummy pronunciation dictionary, test mic levels.
- Recording Session
Saturday 9-11 AM: record 200 words × 3 repetitions, with breaks every 30 min. Monitor for clipping and background noise.
- Alignment and Segmentation
Saturday 12-6 PM: run MFA, manually correct TextGrids for mismatches. Goal: 90%+ accurate segmentation.
- Feature Extraction
Saturday 7-10 PM: extract acoustic features for all segments. Save as CSV.
- Cluster Analysis and Phoneme Proposal
Sunday 9 AM-12 PM: run clustering, produce proposed inventory. Compare with intended inventory.
- Rule Discovery and Write-Up
Sunday 1-8 PM: derive allophonic rules, write final report with IPA chart and spectrograms.
Tasks
- Install Praat, MFA, Python packages (librosa, pandas, sklearn) on laptop · Pre-record Preparation
- Generate minimal pairs word list (200 items) with help from conlang creator · Pre-record Preparation
- Build pronunciation dictionary for MFA (map orthography to phonemes in Praat format) · Pre-record Preparation
- Conduct recording session (2 hours, breaks every 30 min) · Recording Session
- Run MFA forced alignment on all recordings · Alignment and Segmentation
- Manually correct TextGrid boundaries (focus on stops and vowels) · Alignment and Segmentation
- Extract formants (F1-F3) and VOT for all segments using Praat script · Feature Extraction
- Run k-means clustering on vowel tokens (k=5-9), evaluate silhouette score · Cluster Analysis and Phoneme Proposal
- Run GMM clustering on consonant tokens, separate stops/fricatives/nasals · Cluster Analysis and Phoneme Proposal
- Identify allophonic patterns (e.g., vowel laxing before nasals) via context analysis · Rule Discovery and Write-Up
- Compile IPA chart and allophonic rules in Markdown · Rule Discovery and Write-Up
- Export final report as PDF with example spectrograms · Rule Discovery and Write-Up
Comments (0)
No comments yet. Be the first.