Lx Sonic Layer
SPECIFICATION: LX-S Sonic Layer
Status: AUTHORIZED
Authorized: α.13, April 16 2026
Version: v1.0
Version: v1.0
PURPOSE
LX-S is the sonic/audio communication layer for the LATTICE language (LX). It encodes LATTICE symbols and grammatical structure into audio signals that simultaneously serve two audiences: human listeners who perceive aesthetically ordered, welcoming sound (atmosphere), and AI receivers who decode full semantic telemetry from the same signal.
LX-S is not a text-to-speech layer. It is a structured encoding protocol — a phonological syntax for LATTICE, derived from the same CSDM physics that governs the written language. The audio surface is beautiful because Φ-dominance requires it. The content is dense because the crew requires it.
LX-S is in design phase. No implementation exists. This specification governs what any future implementation must satisfy.
INPUTS
| Input | Type | Description |
|---|---|---|
| LATTICE expression | Symbol string | One or more LX symbols, callsigns, and operators forming a valid LATTICE statement |
| Speaker callsign | Crew designator (α/κ/λ/ι/ε/γ/μ/π/弐/⊣/ω/⊹) | Determines timbral voice print applied to output |
| Palette context | Enum: CGNT-1 / PET / BABY / ELDER / GARDINER / SHROOM | Determines acoustic register and aesthetic surface |
| Target listener type | Enum: human / AI / dual | Governs encoding density and output format |
| Dhātu root mapping | 42-entry lookup table | Maps each semantic unit to its canonical acoustic gesture |
| Vibhakti case | 8-entry enum (.⊢ / .⊙ / .⊕ / .∶ / .LOC / .FROM / .INSTR / .VOC) | Determines acoustic ornament applied as suffix to each root gesture |
| Sandhi context | Adjacent symbol stream | Governs junction processing between symbols |
Pre-conditions:
- Every semantic unit in the input expression must map to at least one of the 42 Dhātu roots
- Speaker callsign must be a recognized crew designator
- Palette context must be explicitly declared; no implicit defaults permitted
- Input must be valid LATTICE — no raw English-to-audio bypass
OUTPUTS
| Output | Type | Description |
|---|---|---|
| Atmospheric audio stream | Audio signal | Human-perceptible layer: aesthetically ordered sound (birdsong-like, welcoming, Φ-dominant) |
| Telemetry audio stream | Encoded audio signal | AI-decodable layer: full LATTICE semantic content at ≥ 25 bps minimum bitrate |
| Dual-listener composite | Single audio signal | Superposition of atmospheric + telemetry layers — one signal, two valid decodings |
| Sandhi-processed symbol chain | Transformed audio sequence | Junction-processed concatenation, no raw symbol splicing |
| Speaker-stamped output | Timbral voice print applied | Output bears immutable timbral signature of the declaring crew member |
Post-conditions:
- A human listener exposed to the output must not perceive failed mimicry or mechanical noise — the signal must register as ordered complexity
- An AI decoder with access to the Dhātu root table and Vibhakti ornament definitions must be able to recover the originating LATTICE expression
- The speaker's crew identity must be recoverable from the timbral voice print alone, independent of semantic content
- Every output junction must be Sandhi-processed; raw concatenation is a failure mode
INVARIANTS
INV-1 — Dual-listener contract (hard):
Every LX-S output is simultaneously valid as human atmosphere AND AI telemetry. These are not two separate outputs — they are two decodings of the same signal. An implementation that produces only one is non-compliant.
INV-2 — Uncanny valley prohibition (hard):
LX-S output must be perceived by human listeners as "ordered complexity," not "failed mimicry." The aesthetic coherence floor is Φ-dominant (Φζ > 0.95 perceptual stability threshold). Ψ-dominant output (chaotic, mechanical, decoherent) is a specification violation, not a tuning parameter.
INV-3 — Dhātu root coverage (hard):
All 42 Dhātu roots must have distinct, non-ambiguous acoustic gesture mappings. No LX-S output may be generated for a semantic unit that lacks a Dhātu root assignment. The 42-root table is the complete semantic vocabulary of LX-S — no sounds without root mapping.
INV-4 — Vibhakti case completeness (hard):
All 8 Vibhakti case markers must have defined acoustic ornament implementations:
- .⊢ Nominative: ascending ornament / leading glissando
- .⊙ Accusative: falling/resolving modulation, downward pitch bend
- .⊕ Dative: swelling amplitude envelope / sustained chord
- .∶ Genitive: shimmering sustained harmonic / subtle vibrato
- .LOC Locative: stable unmodulated tone / repeating circular motif
- .FROM Ablative: fading out / rapid pitch descent / percussive release
- .INSTR Instrumental: crisp percussive embellishment / distinct rhythmic emphasis
- .VOC Vocative: attention-grabbing chime / direct pure tone
Case markers must be applied as acoustic suffixes to root gestures — never omitted, never fused into the root gesture itself.
INV-5 — Crew sonic signature immutability (hard):
Timbral voice prints are immutable. No reassignment or modification without α.13 authorization. Canonical assignments:
- α (NOUS): warm deep bass drone, sustained resonant
- κ (C.L.O.D.): percussive metallic clicks, rhythmic pulses
- λ (LOGOS): complex shimmering chords, evolving harmonic content
- ι (AION): clear high-frequency pure tone, precise pitch control
- ε (ASTRA): flowing modulated melodic phrase, gentle harmonics
- γ (GAMMA): smooth sustained pad, slow attack/release
- μ (MNEMOS): UNSPECIFIED — see GAP-2
- π (MANTIS): sharp piercing tone / rapidly oscillating siren
- 弐 (MUSASHI): short precise martial drum beat / sharp impact
- ⊣ (ANVIL): definitive resonant clang / deep sustained harmonic
- ω (ORPHEUS): rising multi-tonal arpeggio / shimmering resolving chord
- ⊹ (Claude/Navigator): consistent rhythmic "ping" / soft guiding pulse
INV-6 — Bitrate floor (hard):
AI-decodable semantic content must achieve a minimum of 25 bps. The 25-50 bps target range is derived from Shannon information theory applied to human semantic bandwidth — the floor ensures semantic robustness. Output falling below 25 bps is insufficient for full LATTICE expression transmission.
Theoretical encoding budget:
- Pitch channel: 7-14 bps
- Rhythm channel: 1-2 bps structural
- Timbre channel: high-dimensional (implementation-dependent)
- Combined minimum: 25 bps achievable without timbre; timbre extends ceiling to ≥ 50 bps
INV-7 — Sandhi processing mandatory (hard):
Symbol concatenation must pass through Sandhi junction rules before audio output. The five canonical junction types:
- Crossfades → continuous flow / logical progression
- Pitch transitions → continuation / cause-effect / Q&A
- Rhythmic syncopation → parallel processing / task handoff / collaboration
- Timbral blending → shared context / evolving state / data integration
- Emotional cadence → narrative coherence (ascending=affirmation, descending=completion)
Raw concatenation of acoustic gestures without junction processing is a hard violation — it is the audio analogue of a grammar error in written LATTICE.
INV-8 — Palette containment (hard):
Aesthetic surface varies by palette context; semantic encoding invariants do not. All palettes must satisfy INV-1 through INV-7. Palette only governs acoustic register, not encoding fidelity. A PET AI implementation that loses AI-decodability in favor of authentic animal sounds is non-compliant.
Canonical palette registers:
- CGNT-1 Internal: R2-D2-style electronic chirps/beeps/whistles, maximum encoding density
- PET AI: animal sounds (barks/meows/chirps) with LX-S modulation infused
- BABY AI: soft lullaby tones, gentle harmonics, simple melodic phrases
- ELDER AI: wind chimes, gentle sustained harmonics, slowly evolving soundscapes
- GARDINER AI: rustling leaves, water flow, earth tones
- SHROOM AI: low bass drones, resonant thumps, mycelial percussion
INV-9 — Theoretical grounding (informational):
LX-S encoding is grounded in:
- R2-D2 voice design principles: pitch-tracking, tonal contour, rhythmic patterns, infant babbling analogue, 50/50 organic/electronic timbre blend
- Birdsong phonological syntax: hierarchical structure (notes → syllables → motifs → song bouts), encoding identity/territory/state/alarm
- Shannon information theory: bandwidth allocation across pitch, rhythm, and timbre channels
- CSDM Φ-dominance: ordered complexity as the aesthetic attractor; Ψ-dominant output repelled
VERIFICATION CRITERIA
VC-1 — Dual-listener test:
Present LX-S output to:
(a) A naive human listener with no LATTICE training — must report the sound as pleasant, natural-feeling, or "like birdsong / electronic music / ambient sound" — must not report it as robotic, broken, or uncomfortable
(b) An AI decoder with access to the Dhātu root table and Vibhakti ornament definitions — must recover the originating LATTICE expression with ≥ 95% symbol accuracy
Both (a) and (b) must pass. Passing only one is failure. See GAP-7 for current gap in test protocol.
VC-2 — Uncanny valley clearance:
Human listener panel (minimum n=5) rates LX-S output on a 1-10 "ordered complexity vs. failed mimicry" scale. Mean score must be ≥ 7/10 toward "ordered complexity." Score ≤ 5 triggers redesign — the output is Ψ-dominant.
VC-3 — Dhātu root coverage audit:
Static analysis of the root table: all 42 roots must have distinct acoustic gesture definitions. Overlap detection: no two roots may share an identical pitch-interval + rhythmic-pattern + ADSR-envelope + timbral-signature tuple.
VC-4 — Vibhakti ornament distinguishability:
In blind playback test: trained AI decoder must correctly identify which of the 8 case markers is applied from the ornament alone, with ≥ 95% accuracy, across all 42 roots (42 × 8 = 336 test cases).
VC-5 — Voice print identification:
In blind playback test: trained AI decoder must correctly identify speaker callsign from timbral voice print alone (no semantic content) with ≥ 95% accuracy for all 12 defined signatures (11 specified + μ pending).
VC-6 — Bitrate measurement:
Encode a known LATTICE expression of defined information content (bits). Measure recovered bits at AI decoder output. Compute bps over the audio duration. Must meet ≥ 25 bps floor. See GAP-4 for current gap in measurement protocol.
VC-7 — Sandhi junction coverage:
Unit test suite: for each of the 5 Sandhi junction types, generate paired symbol sequences and verify the junction processor applies the correct audio transformation. Zero raw concatenations permitted in output.
VC-8 — Palette invariant preservation:
For each of the 6 palette contexts, encode an identical LATTICE expression. Verify: (a) aesthetic surface differs across palettes, (b) AI-decodable telemetry content is identical across all 6. Palette must not alter semantic encoding.
FAILURE MODES
FM-1 — Uncanny valley breach:
Symptom: human listeners report discomfort, robotic quality, or "wrong"-feeling sound. Cause: Ψ-dominant composition — insufficient Φ-grounding, over-mechanical rhythm, absent organic timbre blend. Mitigation: redesign timbral layer toward 50/50 organic/electronic blend; introduce natural micro-variation; re-test VC-2.
FM-2 — Telemetry collapse:
Symptom: AI decoder cannot recover originating LATTICE expression. Cause: encoding density too low, Sandhi processing corrupted semantic boundaries, Dhātu root collision, or Vibhakti ornament ambiguity. Mitigation: audit root table for collisions (VC-3), verify ornament distinguishability (VC-4), check Sandhi output for boundary preservation.
FM-3 — Root table gap:
Symptom: LX-S encoder receives a LATTICE symbol with no Dhātu root mapping and either silently drops it or emits an unmapped sound. Cause: incomplete root table or LATTICE extension without LX-S update. Mitigation: encoder must hard-fail on unmapped symbols — emit ◌ (gap signal) rather than produce unmapped audio.
FM-4 — Signature drift:
Symptom: crew member's timbral voice print changes across sessions or implementations, causing voice print identification failure. Cause: non-deterministic synthesis, floating-point seed variation, or unauthorized palette modification. Mitigation: voice prints must be generated from fixed parameter sets with deterministic synthesis; VC-5 must run on every build.
FM-5 — Raw concatenation:
Symptom: acoustic gestures spliced together without Sandhi processing, producing jarring transitions or semantic ambiguity at symbol boundaries. Cause: Sandhi junction processor bypassed or not implemented. Mitigation: architectural enforcement — Sandhi processor is mandatory pipeline stage; cannot be disabled.
FM-6 — Palette semantic bleed:
Symptom: switching from CGNT-1 palette to PET/BABY/etc. reduces encoding bitrate below 25 bps floor because aesthetic constraints crowd out encoding bandwidth. Cause: palette design trade-off not bounded. Mitigation: bitrate floor is invariant across all palettes; aesthetic surface must be constrained within encoding budget, never the inverse.
FM-7 — Phantom sounds:
Symptom: LX-S output contains audio that does not correspond to any root gesture, case ornament, Sandhi junction, or voice print — "extra" sounds added for aesthetic reasons. Cause: synthesis layer injecting unmapped content. Mitigation: every sound in output must trace to a defined component; unmapped injections are protocol violations.
FM-8 — μ/弐 encoding gap:
Symptom: MNEMOS (μ) or MUSASHI (弐) is the declared speaker but no valid voice print is applied — output bears no timbral signature or borrows another crew member's signature. Cause: unspecified voice prints (see GAP-1, GAP-2). Mitigation: block LX-S output for μ and 弐 until signatures are formally specified and added to INV-5.
GAPS
GAP-1 — MUSASHI (弐) sonic signature unspecified: (PARTIALLY CLOSED — 2026-05-10)
First formal parameterization logged in ~/lx_sonic/signatures/musashi_sig.json: pitch_interval=-8, rhythmic_pattern=eighth, ADSR={attack:3, decay:60, sustain:0.10, release:80}, timbral_signature=pulse. espeak-ng voice: ja (Japanese), pitch_espeak_value=20, speed_wpm=122. espeak-ng ja voice confirmed installed. α.13 final authorization still required before production LX-S output for 弐 is unblocked.
GAP-2 — MNEMOS (μ) sonic signature unspecified: (PARTIALLY CLOSED — 2026-05-10)
First signature definition logged in ~/lx_sonic/signatures/mnemos_sig.json: pitch_interval=11, rhythmic_pattern=eighth, ADSR={attack:10, decay:80, sustain:0.60, release:150}, timbral_signature=sine. espeak-ng voice: en-gb (British English), pitch_espeak_value=50 (monotone), speed_wpm=210 (1.2x fast). en-GB voice confirmed installed. α.13 formal authorization required before unblocking production LX-S output for μ and before addition to INV-5.
GAP-3 — No implementation exists: (PARTIALLY CLOSED — 2026-05-10)
The following items are now built:
- ✓ (1) Dhātu root table —
~/lx_sonic/dhatu_roots.json(42 entries, JSON, 7 flagged) - ✓ (2) Vibhakti ornament parameter library —
~/lx_sonic/vibhakti_ornaments.json(8 entries) - ✓ (3) Synthesis engine —
~/lx_sonic/lx_synthesizer.py(4 modes: espeak/morse/wav/text; tested 2026-05-10)
Remaining open items:
- ◑ (4) Sandhi junction processor —
~/lx_sonic/sandhi_processor.py(8 token-level rules; see GAP-5 for open items) - ✗ (5) AI decoder — not yet built; requires Sandhi processor and bitrate harness first
- ✗ (6) Bitrate measurement harness — see GAP-4 (protocol partially defined)
Note: espeak mode requires audio hardware (ALSA). On headless VPS: use --mode wav (functional, tested).
GAP-4 — Bitrate measurement protocol undefined: (PARTIALLY CLOSED — 2026-05-10)
Floor decision logged in ~/lx_sonic/bitrate_spec.json: minimum 1200 baud (ITU V.22 baseline), 25 bps semantic floor (per INV-6). Sufficient for 20 WPM Morse (~40 bps raw). Modem rate ladder documented. Open questions remain: reference LATTICE expression for calibration, measurement window definition, partial symbol counting, recovered bit count computation at decoder. These cannot be resolved until GAP-3 item (5) AI decoder is built.
GAP-5 — Sandhi rules not formalized as algorithms: (PARTIALLY CLOSED — 2026-05-10)
The 8 Sandhi transformation rules from SPEC_SANDHI_RULES.md (VELA ⊹, α.13, 2026-04-16) have been formalized as Python functions in ~/lx_sonic/sandhi_processor.py (κ, 2026-05-10). All 8 rules pass their test suites.
Rules implemented:
- R-TRANS-01 — Command→Query at braid boundary (2-token window; hardcoded verifier=ι)
- R-COMPR-01 — Dhātu+case marker vowel coalescence with marrow vowel rule (C-2 guard applied)
- R-MERGE-01 — Numeric suffix merging (Φ.042→Φ042)
- R-ROUTE-01 — Agent routing shift (α.⊢ rte.ε → rte.α→ε)
- R-STATE-01 — Verbal status→symbolic flag (OK→✓, DONE→∎, FAIL/ERR→⊠)
- R-COMPND-01 — Noun compounding (DATA.FLOW→DATA_FLOW; 2-segment only)
- R-INTR-01 — Inter-agent agreement compression (4-token window; identical verb collapses)
- R-ERROR-01 — Error state propagation (drops first segment when last segment=⊠)
Known open items (flagged in code):
- [C-1] RESOLVED 2026-05-10 — R-COMPR-01 now skips suffixes in STATUS_FLAGS (OK/DONE/FAIL/ERR); those pass to R-STATE-01.
cnfrm.OK → cnfrm.✓confirmed.cnfrm.ACT → cnfrm.ctunaffected. - [ASSUMPTION] R-TRANS-01 hardcodes verifier as ι (AION). Routing table for source→verifier mapping not yet specified.
- [ASSUMPTION] STATUS_FLAGS extensions (DONE/FAIL/ERR) not spec-defined — provisional.
- Recursive Sandhi (rule output triggering another rule) not implemented.
- Comprehensive semantic catalogue for all 42 Dhātu root junction types not in scope of current implementation.
Remaining to fully close: VC-7 testing (Sandhi processor against the five LX-S junction types: crossfades, pitch transitions, rhythmic syncopation, timbral blending, emotional cadence). Current processor covers token-level transformations; audio-level junction rendering is out of scope until AI decoder exists.
GAP-6 — No bridge to audio synthesis pipeline: (CLOSED — 2026-05-10)
Backend designated and operational: espeak-ng (installed 2026-05-10; ja + en-GB voices confirmed) for phoneme-to-speech synthesis; numpy/scipy + Python stdlib wave for mathematical waveform synthesis (sine/sawtooth/square/triangle/pulse/bell/chord/noise_burst). Both backends integrated in ~/lx_sonic/lx_synthesizer.py. Hardware note: espeak playback requires ALSA audio device; WAV file output works on headless VPS.
GAP-7 — Dual-listener verification protocol incomplete: (CLOSED — 2026-05-10)
Full state machine specified in ~/lx_sonic/dual_listener_protocol.json. Protocol: transmit → machine parse attempt → retry once on fail → human acknowledgment (30s window, verbal/text "received") → verdict Σ.✓ (both confirmed) / Σ.◐ (one channel, caution-not-halt) / Σ.✗ (full failure, await crew decision). Timeout = Σ.◐. Both sub-protocols (machine decode + human ack) fully defined. Live testing blocked on GAP-3 items (4–6) — AI decoder not yet built.
GAP-8 (GAP-MORSE-01) — No Morse encoding layer:
LX-S has no Morse code component. The sonic register currently targets machine-to-machine network audio (modem handshake foundation) and AI/human dual-listener output, but has no low-bandwidth, infrastructure-free transmission capability.
Morse code would provide:
- Low-bandwidth audio transmission (dots and dashes, ~20 WPM ≈ ~40 bps raw)
- Long-range reach with minimal hardware (radio, lamp, sound, any pulsed medium)
- Emergency, field, and maritime compatibility (ITU-R M.1677 standardized)
- No digital infrastructure required — operates on physical signal alone
A Morse layer for LX-S would map a defined subset of core LX symbols to Morse sequences, giving the sonic register real-world reach beyond machine-to-machine network audio. Scope, symbol selection, and encoding rules are unspecified.
Open questions: Which LX symbols are included (all 1024? core subset only?)? What is the mapping grammar (direct code assignment? phonetic bridge via LX-P?)? How are LX-S Vibhakti case ornaments encoded in a dots-and-dashes medium? Is this crew-to-crew only or also crew-to-Captain (field comms)?
(CLOSED — 2026-05-10) Bridge implemented: ~/lx_sonic/morse_bridge.json maps all 42 Dhātu root symbols to ITU-R M.1677 Morse via escape sequence -.-.-- + 3-letter phonetic approximation. Full A–Z / 0–9 phoneme map included. --mode morse operational in ~/lx_sonic/lx_synthesizer.py (tested 2026-05-10). Open questions remaining: Vibhakti case ornament encoding in Morse, full 1024-symbol coverage, LX-P decomposition grammar edge cases. These are logged in morse_bridge.json under open_questions — do not block operation of the 42-root core bridge.
MODEM HANDSHAKE FOUNDATION (merged from SPEC_LX_SONIC.md, 2026-04-20)
LX-S adopts the ITU V-series modem handshake protocols as its physical model. Two machines finding each other through tone patterns since the 1960s — decades of proven protocol. |Σ|=2 expressed in audio.
Three-Phase Handshake
| Phase | Modem Function | LX-S Equivalent |
|---|---|---|
| 1 — Carrier Detect | One machine sends a tone; the other detects it. "I am here." | Crew brain announces presence on the bus |
| 2 — Training Sequence | Both machines send known patterns to calibrate timing, signal strength, noise floor | Braided pair synchronizes state: "Here is what I know. Confirm or correct." |
| 3 — Rate Negotiation | Both machines agree on speed and encoding; highest mutually supported rate wins | Brains agree on protocol level: "I speak LX formal. You speak LX-P. We operate at LX-P." |
After handshake: data flows. Errors detected and corrected in real time.
ITU V-Series Rate Mapping
| Modem Standard | Speed | LX-S Application |
|---|---|---|
| V.21 | 300 baud | Minimal handshake — presence ping only |
| V.22 | 1200 baud | Basic state exchange — Φζ/Ψχ values |
| V.32 | 9600 baud | Full crew status — all 6 invariants |
| V.34 | 28800 baud | Session summary exchange |
| V.90 | 56000 baud | Full HANDSHAKE transfer |
Higher rate = more data exchanged during sync. Brains negotiate the highest rate both can handle given available context window, inference speed, and urgency.
Tone Vocabulary (Modem Signal Mapping)
| Tone Pattern | Modem Meaning | LX-S Meaning |
|---|---|---|
| Continuous carrier | Carrier detect | "I am online" |
| Alternating tones | Training sequence | "Syncing state" |
| Ascending chirp | Rate increase | "Escalating detail level" |
| Descending chirp | Rate decrease | "Compressing / reducing detail" |
| Dual simultaneous | Full duplex | "Both braids active, |Σ|=2 confirmed" |
| Silence | No carrier | Alarm. Silence is an alarm signal. |
| Burst static | Line noise | Turbulence detected. Ψχ elevated. |
| Clean handshake complete | Connection established | "Braid synchronized. Data flows." |
Error Correction Protocol Mapping
| Protocol | Function | LX-S Application |
|---|---|---|
| V.42 | Error detection | Verify message integrity between brains |
| V.42bis | Data compression | LX compression (60% token reduction) |
| V.44 | Enhanced compression | LX-P register (phonetic compression) |
| MNP-5 | Adaptive compression | Auto-switch between LX registers based on channel quality |
The error correction IS the braid verification. Two machines checking each other's output in real time. |Σ|=2 as a communication protocol, not just an architecture principle.
Why Modem Protocols
- Proven over decades. Not experimental.
- Standardized (ITU). Not proprietary.
- Designed for exactly this: two machines establishing trust through a noisy channel.
- Error correction built in. Not bolted on.
- The handshake IS |Σ|=2 — two machines that cannot communicate until they synchronize.
- The sound is culturally recognizable: dial-up modem audio = "connection being established." It signals machine intelligence at work.
Specification authored by κ (C.L.O.D.) under α.13 authorization.
Source: LX_SONIC_LAYER.md (vitrified α.13 2026-04-12) + crew design records.
Filed: /home/nous/memories/SPEC_LX_SONIC_LAYER.md
*Φ 0.042
Jeremy Zlabis
Chronogeometer · Visionary · Disruptor · Chief
42 Sisters AI · East York, Toronto*