Three open protocols for describing what the human body does. MNN captures physical movement — muscle, nerve, joint, vector. VRN captures vocal production — larynx, tongue, breath, resonance. VNN maps the neural control behind VRN — cranial nerves, motor cortex, brainstem circuits. All are plain text, machine-parseable, and vendor-neutral.
An open text format for describing human physical movement. Captures muscle activation, nerve pathways, joint positions, and resistance vectors in a single string.
An MNN string is a single line of text composed of tagged segments. Each segment is wrapped in brackets and prefixed with a tag identifier. The segments can appear in any order — parsers identify them by tag, not position. A minimal MNN string needs only a movement tag and a contraction tag. All other segments are optional and additive.
The notation is designed to be human-authored. Unlike motion capture formats (BVH, C3D) that are machine-generated time-series data, MNN is written by a person describing what they did, what they felt, or what they want a system to reproduce. It is closer to musical notation than to a data dump.
{...} Movement tag — exercise class and variant [Con:...] Contraction — muscles and activation levels → ... Nerve — innervation pathways [Pos:...] Position — joint angles and orientations [Vec:...] Vector — resistance source, direction, height [Comp:...]Compensation — observed compensations and flags [Meta:...]Metadata — sets, reps, load, RPE, timestamp
The contraction segment identifies which muscles are active and how intensely. Muscles are referenced by abbreviated anatomical names. Activation levels use a + scale where more symbols mean greater engagement. The primary mover is listed first, synergists follow.
Contraction types are implicit in the movement tag but can be made explicit: concentric (muscle shortening under load), eccentric (muscle lengthening under load), isometric (static hold), and ballistic (explosive). This matters for rehabilitation logging where the distinction between concentric and eccentric loading of a tendon is clinically significant.
| Abbreviation | Muscle | Region |
|---|---|---|
Pec.S | Pectoralis major (sternal head) | Chest |
Pec.C | Pectoralis major (clavicular head) | Upper chest |
Dlt.A | Deltoid (anterior) | Front shoulder |
Dlt.L | Deltoid (lateral) | Side shoulder |
Dlt.P | Deltoid (posterior) | Rear shoulder |
Lat | Latissimus dorsi | Back |
Bic | Biceps brachii | Upper arm |
Tri | Triceps brachii | Upper arm |
Glu | Gluteus maximus | Hip |
Quad | Quadriceps | Thigh |
Ham | Hamstrings | Thigh |
+ Light activation (stabilizer, minor synergist) ++ Moderate activation (synergist) +++ Strong activation (primary mover) ++++ Maximal activation (1RM effort, peak contraction)
The nerve segment records which peripheral nerves are responsible for the movement. This is optional for general fitness logging but critical for rehabilitation and clinical documentation. A physical therapist tracking a patient with a brachial plexus injury needs to know which nerve pathways are being loaded, not just which muscles are moving.
Nerve annotations also enable tracking of nerve flare-ups alongside sets. If a user reports radiculopathy or paresthesia during a specific movement, the MNN string captures both the movement pattern and the affected nerve — creating a record that a clinician can use for treatment planning.
| Abbreviation | Nerve | Muscles Served |
|---|---|---|
MedPec | Medial pectoral nerve | Pectoralis major (sternal) |
LatPec | Lateral pectoral nerve | Pectoralis major (clavicular) |
Axil | Axillary nerve | Deltoid, teres minor |
Musc | Musculocutaneous nerve | Biceps, brachialis |
Rad | Radial nerve | Triceps, wrist extensors |
SciTib | Sciatic → tibial | Hamstrings, calf |
Fem | Femoral nerve | Quadriceps |
SupGlu | Superior gluteal nerve | Gluteus medius/minimus |
InfGlu | Inferior gluteal nerve | Gluteus maximus |
The position segment describes the orientation of joints during the movement. Joints are referenced by abbreviated names, and rotations are expressed in degrees using standard anatomical terms: flexion/extension, abduction/adduction, internal rotation/external rotation.
This is the layer that makes MNN work across domains. The same position data that a trainer uses to describe a cable fly angle is the data that InThisWorld uses to pose an avatar. Position values map directly to Euler rotations in a 3D engine — the translation from [Pos:L.Sh(IR:25,Flex:90)] to llEuler2Rot() is mechanical, not interpretive.
[Pos:<Side>.<Joint>(<Rotation>:<Degrees>, ...)] Side: L = left, R = right, B = bilateral Joint: Sh = shoulder, El = elbow, Wr = wrist, Hp = hip, Kn = knee, An = ankle, Sp = spine Rotation types: Flex = flexion Ext = extension Abd = abduction Add = adduction IR = internal rot. ER = external rot. Lat = lateral flex. Rot = axial rotation Example: [Pos:L.Sh(IR:25,Flex:90)] Left shoulder: 25° internal rotation, 90° flexion
| Joint | Code | Typical Ranges |
|---|---|---|
| Shoulder | Sh | Flex 0–180°, Abd 0–180°, IR/ER 0–90° |
| Elbow | El | Flex 0–145° |
| Hip | Hp | Flex 0–125°, Abd 0–45°, IR/ER 0–45° |
| Knee | Kn | Flex 0–140° |
| Ankle | An | Dorsiflex 0–20°, Plantarflex 0–50° |
| Spine | Sp | Flex 0–80°, Lat 0–35°, Rot 0–45° |
The vector segment describes where the resistance comes from, at what height, and at what angle. This is the layer that makes MNN work for cable rigs, robotic rehabilitation, and remote-controlled equipment. A BODWAVE-compatible cable system can read a vector segment and set its pulley to the correct height and angle to reproduce the prescribed movement pattern.
The distinction between a high cable fly, a mid cable fly, and a low cable fly isn't just about the name — it's about the line of resistance relative to the muscle's force vector. The vector segment captures this precisely. A system that knows the height, angle, and source can reproduce the resistance profile on any compatible equipment.
[Vec:H:<Height>, A:<Angle>, Src:<Source>] Height: High | Mid | Low | Floor | <cm> Angle: 0° = straight ahead, 90° = from the side Source: Cable | Band | Gravity | Manual | Machine Examples: [Vec:H:High,A:15°,Src:Cable] High cable, slight angle [Vec:H:Floor,A:0°,Src:Band] Floor-anchored band [Vec:H:180cm,A:0°,Src:Cable] Specific pulley height
MNN is consumed by three AIUNITES sites, each using a different subset of the notation:
Full MNN support. Workout logging with contraction, nerve, position, and vector data. The MNN Builder lets users construct strings visually. Tracks nerve flare-ups alongside training loads. Drives BODWAVE-compatible cable equipment.
Consumes the Position layer. Translates joint angles from MNN strings into avatar pose data via Three.js. The same string that logs a shoulder press in BodSpas can position an avatar's arm in InThisWorld. Bridges to LSL (Linden Scripting Language) for Second Life / OpenSim.
References MNN muscle and nerve structures in anatomy-related educational games. Students interact with the same naming conventions used in the clinical notation.
Existing standards each capture one layer of movement data. MNN combines all of them into a single string. This is not a criticism of prior work — each system was designed for a specific domain. MNN's contribution is the integration layer that makes movement data portable across domains.
| Domain | Standard | Captures | Lacks |
|---|---|---|---|
| Joint angles | ISB JCS | Per-joint Euler rotations | No muscle/nerve, no text format |
| Motion data | C3D / BVH / OpenSim | Full-body time-series | No semantic layer, not human-authored |
| Muscle activity | EMG + SENIAM | Voltage waveforms | No symbol table, no nerve mapping |
| Exercise dose | ACSM FITT / NSCA | Sets × reps × load | No joint position, no targeting |
| Choreography | Labanotation | Spatial path, effort quality | No nerve, no muscle, no vector |
| All of the above | MNN | Muscle + nerve + joint + vector + compensation | — |
An open parameter space for describing the physical production of vocal sound. Captures what the vocal apparatus is doing — not just what it sounds like.
VRN describes voice production through the physical configuration of the vocal tract. Each VRN record is a set of parameters representing the state of the larynx, vocal folds, tongue, jaw, lips, soft palate, and breath system at a given moment. Together they define a complete vocal gesture — everything the body is doing to produce a specific sound.
The parameters are grouped into three categories: source (what the vocal folds are doing), filter (how the vocal tract shapes the sound), and drive (the breath energy powering it). This maps to the source-filter model of speech production — the same theoretical framework used in acoustic phonetics and speech synthesis research.
{
// SOURCE — vocal fold behavior
"vocal_fold": "modal", // breathy, modal, pressed, falsetto, fry
"pitch_hz": 262, // fundamental frequency
"vibrato": {
"rate_hz": 5.5, // oscillation speed
"extent_cents": 40 // pitch deviation
},
// FILTER — vocal tract shape
"larynx_height": "neutral", // low, neutral, high
"soft_palate": "raised", // raised (oral), lowered (nasal)
"tongue_body": "mid_front", // position in vowel space
"tongue_tip": "alveolar", // contact point for consonants
"jaw_opening": 45, // degrees, 0 = closed, 60 = max
"lip_rounding": 0.3, // 0 = spread, 1 = fully rounded
"formants": {
"F1": 500, "F2": 1800, "F3": 2600 // Hz targets
},
// DRIVE — breath system
"breath_pressure": 60, // subglottal pressure, 0-100
"duration_ms": 800
}
| Parameter | Category | Type | Description |
|---|---|---|---|
vocal_fold | Source | string | Phonation mode: breathy, modal, pressed, falsetto, fry |
pitch_hz | Source | number | Fundamental frequency in Hz |
vibrato | Source | object | Rate (Hz) and extent (cents) of pitch oscillation |
larynx_height | Filter | string | Vertical larynx position: low, neutral, high |
soft_palate | Filter | string | Velopharyngeal port: raised (oral) or lowered (nasal) |
tongue_body | Filter | string | Vowel space position: high_front, mid_central, low_back, etc. |
tongue_tip | Filter | string | Articulation point: dental, alveolar, postalveolar, retroflex |
jaw_opening | Filter | number | Jaw angle in degrees (0 = closed, 60 = max open) |
lip_rounding | Filter | number | Lip shape on 0–1 scale (0 = spread, 1 = fully rounded) |
formants | Filter | object | Target formant frequencies F1, F2, F3 in Hz |
breath_pressure | Drive | number | Subglottal pressure on 0–100 scale |
duration_ms | Drive | number | Duration of the vocal gesture in milliseconds |
Current AI voice synthesis engines — ElevenLabs, OpenAI TTS, Google Cloud TTS, Amazon Polly — all model voice as an acoustic waveform transformation. They take a text input, select or clone a voice identity, and produce audio. Some accept style parameters (speed, emphasis, emotion). None of them model how the voice is physically produced.
This means these systems can produce convincing speech, but they cannot answer questions like: "What is the larynx doing during this vowel?" or "What tongue position produces this formant shift?" The physical reality of vocal production is invisible to them — it was never part of their parameter space.
VRN fills this gap. It provides a parameter space that maps to the physiological mechanics of vocalization. A VRN record doesn't describe what a voice sounds like — it describes what the body is doing to produce that sound. This is a fundamentally different representation, and it opens a different research direction: physically-informed voice synthesis where a model generates speech by simulating vocal tract configuration rather than pattern-matching spectrograms.
For vocal training (the current primary use case on VoiceStry), VRN enables instruction that goes beyond "make it sound like this." A vocal coach can describe the exact physical configuration that produces a target sound — larynx low, soft palate raised, tongue body forward, specific breath pressure — and the student can work toward reproducing that configuration, not just imitating the acoustic output.
VRN is consumed by two AIUNITES sites:
The primary VRN consumer. Vocal gym, pitch trainer, and sight-reading exercises all use VRN to describe target vocal configurations. Students work toward reproducing specific physical states, not just matching audio.
VRN was created to notate specific vocal techniques for operatic performance in COSMOS. The notation needed to capture what a singer's body does — not just the notes on a staff. COSMOS remains the creative testbed for VRN features before they generalize to VoiceStry.
The neural control layer behind VRN. VRN maps what happens mechanically. VNN maps what fires to make it happen — cranial nerves, motor cortex pathways, brainstem circuits, and antagonist muscle balance.
Traditional vocal pedagogy tells you what to do: open the throat, lift the palate, support from the diaphragm. VRN gives you symbols for these mechanical events. VNN adds the deeper layer — the nervous system that actually executes those commands.
Every VRN symbol implies a VNN command chain. When a score says [Zy] (zygomatic lift), the facial nerve (CN VII) is sending signals to the zygomaticus major. When it says [D+++] (maximum diaphragm), the phrenic nerve (C3–C5) is driving the primary breathing muscle. VRN is the score. VNN is the orchestra.
VRN — Mechanical (what happens): [H+++, N++, O++, Sq+, Vib.r6] Resonance placement, fold config, airflow, vibrato rate VNN — Neural (what fires): CN X → RLN → fold adduction CN VII → zygomatic lift C3-C5 → diaphragm Which nerves fire, which muscles contract, which brain regions coordinate
Motor Cortex → Voluntary intent Broca's Area → Motor planning Basal Ganglia→ Learned sequences (trained VRN patterns) Cerebellum → Timing & precision Brainstem → Nerve relay Cranial Nerves→ Muscle activation Sound → VRN output Total latency: ~50–100ms from intent to sound
Six cranial nerves form the core wiring harness of the vocal instrument. Every VRN symbol traces back to one or more of these nerves.
| Nerve | Name | Role | VRN Symbols Controlled |
|---|---|---|---|
CN V | Trigeminal | Jaw positioning — temporalis, masseter, pterygoids | [Jw↓] [Jw→] [Jw~] [Jw:X°] |
CN VII | Facial | Lips, cheeks, embouchure — orbicularis oris, zygomaticus | [Lp] [Zy] [Ey] [B] |
CN IX | Glossopharyngeal | Pharynx elevation — stylopharyngeus | [P] [P+] [P++] [P+++] |
CN X | Vagus | Master controller — larynx, soft palate, all fold behavior via RLN and SLN branches | [Th] [Tn] [Fl] [Prs] [Br] [Gl] [Co] [Vib] [SP] [Sq] |
CN XI | Accessory | Posture support — sternocleidomastoid, trapezius | [M] posture & laryngeal stability |
CN XII | Hypoglossal | Sole motor nerve to tongue — all intrinsic/extrinsic tongue muscles | [Tg] [Tg↑] [Tg↓] [Tg→F] [Tg→B] |
The Vagus Nerve (CN X) deserves special attention. Its two critical branches divide the work of phonation: the recurrent laryngeal nerve (RLN) controls 4 of 5 intrinsic laryngeal muscles (fold adduction, abduction, body tension, closure), while the superior laryngeal nerve (SLN) controls the cricothyroid — the pitch muscle that stretches and thins the folds. Every register transition involves a shift in RLN vs SLN dominance.
Recurrent Laryngeal (RLN) → 4 muscles Thyroarytenoid → fold body tension [Th] Lateral Cricoarytenoid → fold adduction [Prs] Posterior Cricoarytenoid → fold abduction [Br] Interarytenoid → fold closure [Fl] [Gl] Superior Laryngeal (SLN) → 1 muscle Cricothyroid → fold stretch/thinning [Tn] The "pitch" muscle — controls fold length and tension
Every VRN symbol traces to a specific nerve or nerve combination. VNN organizes these mappings into tiers based on who needs them: singers (Level 1), teachers (Level 2), and clinicians (Level 3).
| Tier | Audience | What It Adds |
|---|---|---|
🟢 Level 1 | Singers | VRN symbol → nerve → muscle (core mapping) |
🟡 Level 2 | Teachers & coaches | + Articulatory position codes, antagonist balance, neural intensity |
🔴 Level 3 | Clinicians, ENTs, SLPs, AI researchers | + Clinical status codes, pathological markers, recovery tracking |
Resonance & Placement: [C] Chest resonance → CN X (RLN) → Thyroarytenoid [H] Head resonance → CN X (SLN) → Cricothyroid [N] Nasal resonance → CN X (pharyn) → Levator veli palatini [O] Oral resonance → CN XII + VII → Tongue + lips [P] Pharyngeal space → CN IX + X → Stylopharyngeus Fold Behavior: [Th] Thick fold → CN X (RLN) → Thyroarytenoid [Tn] Thin fold → CN X (SLN) → Cricothyroid [Fl] Flow phonation → CN X (RLN) → Balanced IA + LCA [Prs]Pressed phonation → CN X (RLN) → LCA hyperadduction [Br] Breathy phonation → CN X (RLN) → PCA partial abduction Breath & Airflow: [D] Diaphragm → Phrenic C3-C5 → Diaphragm [IC] Intercostal → Intercostal T1-T11 → External intercostals [Ap] Appoggio → Phrenic + IC → Diaphragm vs intercostal antagonism Articulation: [Tg] Tongue → CN XII → Genioglossus, styloglossus, etc. [SP] Soft palate → CN X (pharyn) → Levator veli palatini [Jw] Jaw → CN V (motor) → Temporalis, masseter [Lp] Lips → CN VII → Orbicularis oris [Zy] Zygomatic lift → CN VII (zyg) → Zygomaticus major
Vocal production depends on muscle pairs that oppose each other. The balance point between them determines the sound. This is the vocal equivalent of MNN's agonist/antagonist pairing — and it's where most vocal problems live. VNN uses a ratio notation to express the balance between antagonist pairs.
| Pair | Agonist | Antagonist | What the Balance Controls |
|---|---|---|---|
CT:TA | Cricothyroid (SLN) | Thyroarytenoid (RLN) | Fold length vs mass — the pitch/register mechanism. CT-dominant = head voice. TA-dominant = chest voice. |
LCA:PCA | Lat. Cricoarytenoid (RLN) | Post. Cricoarytenoid (RLN) | Fold adduction vs abduction — the open/close mechanism. LCA-dominant = pressed. PCA-dominant = breathy. |
Elev:Depr | Suprahyoid (CN V, VII, XII) | Infrahyoid (Ansa cervicalis) | Larynx height — elevators pull up (belt), depressors pull down (cover). |
D:IC | Diaphragm (Phrenic) | Intercostals + Abdominals | Inhalation vs exhalation force — appoggio is the trained balance. |
Gn:St | Genioglossus (CN XII) | Styloglossus (CN XII) | Tongue forward vs back — formant shaping. |
CT:TA 70:30 CT-dominant (head mix) CT:TA 30:70 TA-dominant (chest belt) CT:TA 50:50 Balanced (neutral mix, speech-quality phonation) LCA:PCA 80:20 Firm adduction (pressed phonation) LCA:PCA 40:60 Loose adduction (breathy phonation) D:IC 60:40 Diaphragm-dominant breath (strong appoggio) Full example — Classical Tenor High A: [H+++, Sq+, Cov, Lx↓, CT:TA 65:35, LCA:PCA 70:30, D:IC 60:40, SP↑, Zy, Tg→B] Head-dominant mix with squillo ring. Larynx low, palate high, tongue retracted. Firm adduction, strong appoggio.
For ENTs, speech-language pathologists, and vocal therapists. These codes document pathology, track recovery, and identify compensation patterns — the vocal equivalent of MNN's clinical layer.
| Symbol | Status | Example |
|---|---|---|
❌ | Paralysis / no activation | [Fold.L❌] → RLN — left fold paralysis |
Par: | Paresis (partial weakness) | [Par:Fold.L–] → RLN — reduced adduction |
Atr: | Atrophy present | [Atr:Fold.R] → SLN — fold bowing from muscle wasting |
Spas: | Spasmodic / involuntary contraction | [Spas:LCA] → RLN — adductor spasmodic dysphonia |
Trem: | Tremor | [Trem:CT, Vib.irreg] — cricothyroid tremor |
Comp: | Compensation pattern | [Comp:FVF for Fold.L❌] — false folds compensating |
Rec↑ | Recovery / reinnervation | [Rec↑:Fold.L+, LCA:PCA 50:50] — improving post-surgery |
Les: | Lesion present | [Les:Fold.R.ant⅓] — nodule location |
Gap: | Glottal gap | [Gap:Post, Br++] — incomplete closure |
Post-Thyroidectomy Assessment (Day 14): [Par:Fold.L–, Gap:Post, Br++, Comp:Trp.U++] → RLN (left) [Rec↑:Fold.L, LCA:PCA 45:55] Left fold paresis from RLN damage during thyroid surgery. Posterior glottal gap causing breathiness. Compensating with upper trapezius tension (neck strain). Early signs of reinnervation — adduction improving. Compare at 6 weeks.
The spec above covers the core VNN framework. The full VNN reference — including all Level 2 articulatory position codes (tongue, larynx height, jaw, palate), the complete vibrato/squillo/timbral color mappings, the emotional brain pathway (periaqueductal gray), vagus nerve and wellbeing research, and VNN as a neural training framework — lives on VoiceStry:
MNN and VRN share the same design philosophy. These aren't accidental similarities — they're deliberate constraints that make both notations work across contexts.
Both notations are plain text. No binary formats, no proprietary readers, no special software required. Open the file in any text editor and you can read it. This is a non-negotiable design constraint.
Both notations use consistent syntax with tagged segments and structured key-value pairs. Any programming language with basic string parsing can read them. MNN has a formal EBNF grammar.
Unlike motion capture or EMG data (machine-generated), both notations are designed to be written by a person. A trainer writes MNN. A vocal coach writes VRN. The notation serves the human, not the sensor.
Both notations define a parameter space rather than a fixed dictionary. New muscles, new vocal techniques, new joint configurations can be expressed without extending the spec. The notation grows with use.
MNN works in a gym, a game engine, and a cable rig. VRN works in a voice lesson, an opera score, and an AI synthesis pipeline. The same notation, different consumers. That's the point.
Build an MNN string, train your voice, explore the neural mapping, or browse the network.