Human Movement Notation is an open protocol family for encoding human movement as portable, human-readable, machine-parseable plain text. Three sub-protocols. One architecture. Write once, use everywhere.
Every field that involves human movement built its own notation silo. Biomechanics labs use C3D and BVH files only their software can read. Gym equipment stores joint angles in proprietary firmware. Physical therapy clinics document exercises in prose no system can parse. Game studios use motion capture formats that encode skeleton motion but not muscle intent. Vocal pedagogy uses metaphor with no parametric system. AI voice synthesis models acoustic waveforms with no model of physical vocal production.
The result is that a clinically complete description of a movement cannot be expressed in any single, portable, human-readable format that works across all of these contexts. HMN exists because that description should be writable as:
[Con:Pec.S+++] → MedPec [Pos:L.Sh(IR:25,Flex:90)] [Vec:H:Mid,A:0°,Src:Cable]
...and that string should work in a gym log, a clinical record, a game engine, a cable rig controller, and a research paper — without conversion, without proprietary software, and without vendor lock-in.
HMN — Human Movement Notation │ ├── MNN — Muscular Neuro Notation │ muscles · nerves · joints · resistance │ Spec: MNN_SPEC_v1.md Status: v1.6.0 — production │ ├── VRN — Vocal Resonance Notation │ larynx · articulation · resonance · breath │ Spec: VRN_SPEC_v1.md Status: v1.0.0 │ └── VNN — Voice Neural Notation cranial nerves · motor pathways · antagonist balance Spec: VNN_SPEC_v1.md Status: v1.0.0
MNN, VRN, and VNN share a common origin in the same question: how do you encode what a human body does in a format that any system can use? The vocal folds are muscles. The larynx is a joint complex. Breath support is a resistance vector. VRN is, at the deepest level, a specialized application of the same encoding approach as MNN — applied to the vocal apparatus with its own parameter vocabulary. VNN extends one layer deeper: the cranial nerves that execute a VRN state are the vocal equivalent of MNN's nerve tags. The three sub-protocols are the same idea at three levels of the same system.
These principles apply to all three sub-protocols. They are design constraints, not suggestions. Any implementation claiming HMN compliance must respect all of them.
| Principle | Meaning |
|---|---|
| Plain Text | No binary formats. No proprietary readers. Open the file in any text editor and read it. Non-negotiable. |
| Human-Authored | Designed to be written by a person, not generated by a sensor. A trainer writes MNN. A vocal coach writes VRN. |
| Machine-Parseable | Consistent syntax with tagged segments and key-value pairs. Any language with basic string parsing can read a valid HMN string. |
| Semantically Meaningful | Every element maps to a real anatomical referent. Pec.S means sternal pec. CN X means vagus nerve. Not a code system — a structured description of physical reality. |
| Cross-Domain | The same string works in clinical, educational, virtual-world, and robotic contexts without modification. |
| Anatomically Grounded | Vocabulary anchored in standard anatomical nomenclature, ISB Joint Coordinate System, and the source-filter model of speech production. |
| Compositional | Every element is optional. A minimum valid string is a single tag. Adding tags adds information without rewriting. |
| Forward Compatible | Parsers must preserve unknown tags without error. New symbols in future versions must not break earlier parsers. |
[TAG_ID:content] bracket tag (most common) {PATTERN_ID} brace tag (movement/pattern) → TARGET_ID/TARGET arrow tag (pathway/nerve)
| Symbol | Level | Meaning |
|---|---|---|
+ | 1 | Low — stabilizer, mild engagement |
++ | 2 | Moderate — synergist, secondary mover |
+++ | 3 | High — prime mover, dominant |
++++ | 4 | Maximum — 1RM effort, peak |
0 | 0 | Explicit absence (clinical use only) |
| Symbol | Meaning |
|---|---|
L. | Left |
R. | Right |
Bi. | Bilateral (both sides equally) |
| omitted | Unspecified — only valid for midline structures |
HMNString := Segment* Segment := BraceTag | BracketTag | ArrowTag BraceTag := "{" Identifier ["." Identifier] "}" BracketTag := "[" TagId ":" TagContent "]" ArrowTag := "→" Identifier ("/" Identifier)* TagContent := TagEntry ("," " "? TagEntry)* TagEntry := Identifier ActivLevel? | Identifier "(" AxisList ")" | KVPair ActivLevel := "+"+ | "0" AxisList := Identifier ":" Number ("," Identifier ":" Number)*
MNN is the HMN sub-protocol for physical movement of the musculoskeletal system. It encodes: which muscles contracted and at what level; which nerves drove them; which movement pattern was performed; what joint positions were held; what resistance vector was applied; whether compensation occurred.
| Tag | Example | Description |
|---|---|---|
{Pattern} | {Push.H}, {Squat} | Movement pattern category |
[Con:...] | [Con:Pec.S+++, Dlt.A+] | Muscle contractions with activation levels |
→ Nerve | → MedPec/Axil | Nerve innervation pathway |
[Pos:...] | [Pos:L.Sh(IR:25,Flex:90)] | Joint positions in degrees |
[Vec:...] | [Vec:H:Mid,A:0°,Src:Cable] | Resistance vector |
[Comp:...] | [Comp:Bic for Lat] | Compensation pattern observed |
[Nerve:...] | [Nerve:C5-C6] | Symptomatic spinal levels |
[Meta:...] | [Meta:Sets:3,Reps:12,Load:20lb] | Training dose metadata |
// Cable fly — left side, with C5-C6 context [Nerve:C5-C6] {Push.H} [Con:Pec.S+++, Dlt.A+] → MedPec/Axil [Pos:L.Sh(IR:25,Flex:90,Abd:10)] [Vec:H:Mid,A:0°,Src:Cable] [Meta:Sets:3,Reps:12,Load:20lb,RPE:7]
Two optional tags close the gap between skeleton driving and avatar surface rendering. [Con:] activation level maps to morph target weights by default (+→0.25, ++→0.50, +++→0.75, ++++→1.00) without any extra tags. [Morph:] provides explicit overrides for isometric contractions, muscle head specificity, vascular response, or atrophy. [Body:] declares the session baseline (mass, BF%, frame, height) so the same notation renders consistently across different avatar body types. Both tags are fully optional and additive — omitting them is always valid MNN.
// Session baseline [Body:Mass:82kg,BF:14%,Frame:L,Height:178cm] // Standard activation — default mapping, no [Morph:] needed {Push.H} [Con:Pec.S+++, Dlt.A+] → MedPec/Axil // Isometric — joint doesn't move, explicit morph required [Con:Quad.VL++++] [Pos:L.Kn(Flex:0)] [Morph:Quad.VL:1.0]
Full MNN specification — complete muscle symbol tables (149 muscles, LOD 1–4), nerve tables, joint taxonomy (139+ DOF), Avatar Surface Layer ([Morph:], [Body:]), formal EBNF grammar, prior art analysis: spec.html and MNN_SPEC_v1.md (bodspas-site repo, v1.6.0)
VRN is the HMN sub-protocol for vocal production. It encodes the physical configuration of the vocal apparatus — not what a voice sounds like, but what the body is doing to produce it. This is the critical distinction from all existing vocal notation systems.
| Layer | What It Describes |
|---|---|
| Source | What the vocal folds are doing — phonation mode, fundamental frequency, vibrato |
| Filter | How the vocal tract shapes the sound — larynx, tongue, jaw, lips, soft palate, formants |
| Drive | The breath system — subglottal pressure, airflow, appoggio |
| Tag | Values | Description |
|---|---|---|
[VF:...] | modal, breathy, pressed, falsetto, fry | Vocal fold phonation mode (Source) |
[Hz:...] | number | Fundamental frequency in Hz (Source) |
[Vib:...] | rate:N,ext:N | Vibrato — rate (Hz) and extent (cents) (Source) |
[Lx:...] | low, neutral, high | Larynx height (Filter) |
[SP:...] | raised, lowered | Soft palate (Filter) |
[Tg:...] | high.front, low.back, etc. | Tongue body position (Filter) |
[Jw:...] | 0–60° | Jaw opening angle (Filter) |
[F1/F2/F3:...] | Hz | Formant targets (Filter) |
[BP:...] | 0–100 | Breath pressure — subglottal, relative (Drive) |
[App] | — | Appoggio active (Drive) |
[D:...] | + to +++ | Diaphragm engagement (Drive) |
[VF:modal] [Hz:1047] [Reg:head] [Squil] [Lx:low] [SP:raised] [Tg:high.back] [Jw:50] [Zy] [F1:1000,F2:3200,F3:3400] [BP:85] [D+++] [App]
Current AI voice synthesis systems have no model of physical vocal production — no concept of larynx height, fold phonation mode, or tongue position. VRN provides the missing parameter space for physically-informed synthesis: a model that generates speech from vocal tract configuration rather than acoustic pattern-matching. A complete physically-informed pipeline would operate: Intent → VRN record → VNN neural command → physical simulation → acoustic output — rather than the current: Text → acoustic model → waveform.
VNN is the HMN sub-protocol for the neural control layer of vocal production. Where VRN describes what the vocal apparatus does mechanically, VNN describes what fires to make it happen — cranial nerves, motor pathways, antagonist balance, and clinical status.
| Nerve | Name | Primary Role |
|---|---|---|
CN V | Trigeminal | Jaw positioning — temporalis, masseter, pterygoids |
CN VII | Facial | Lips, cheeks, embouchure — orbicularis oris, zygomaticus |
CN IX | Glossopharyngeal | Pharynx elevation — stylopharyngeus |
CN X | Vagus | Master controller — all fold behavior via RLN and SLN branches |
CN XI | Accessory | Posture support — SCM, trapezius, laryngeal stability |
CN XII | Hypoglossal | Sole motor nerve to tongue — all intrinsic and extrinsic tongue muscles |
CN X (Vagus) ├── Recurrent Laryngeal (RLN) → 4 muscles │ ├── Thyroarytenoid fold body/mass [VRN: Th] │ ├── Lat. Cricoarytenoid fold adduction [VRN: Prs, Fl] │ ├── Post. Cricoarytenoid fold abduction [VRN: Br] │ └── Interarytenoid posterior closure [VRN: Gl] └── Superior Laryngeal (SLN) → 1 muscle └── Cricothyroid fold stretch/thinning [VRN: Tn, Hz] The "pitch muscle" — every register shift is a CT:TA balance change
| Pair | What It Controls | Examples |
|---|---|---|
CT:TA | Fold length vs mass — register | 70:30 = head mix · 30:70 = chest belt |
LCA:PCA | Fold adduction vs abduction — closure | 80:20 = pressed · 40:60 = breathy |
Elev:Depr | Larynx height — register color | 70:30 = belt · 30:70 = covered |
D:IC | Breath antagonism — appoggio | 60:40 = strong appoggio |
| Code | Meaning | Example |
|---|---|---|
❌ | Paralysis / no activation | [Fold.L❌] → RLN |
Par: | Paresis — partial weakness | [Par:Fold.L–] |
Spas: | Spasmodic contraction | [Spas:LCA] → RLN |
Comp: | Compensation pattern | [Comp:FVF for Fold.L❌] |
Rec↑ | Recovery / reinnervation | [Rec↑:Fold.L+] |
Gap: | Glottal gap | [Gap:Post, Br++] |
All three sub-protocols occupy the same string namespace. A valid HMN string may contain tags from multiple sub-protocols simultaneously — useful when describing a performer combining physical movement with vocal production, or a clinician documenting both musculoskeletal and vocal pathology in a single record.
Tags from different sub-protocols do not conflict because they use distinct tag identifiers. A parser implementing only MNN compliance ignores VRN and VNN tags per the forward compatibility rule. A full HMN-compliant parser handles all three.
MNN's nerve tags and VNN's cranial nerve annotations use the same arrow syntax and the same naming convention. The structural parallel is deliberate — the cricothyroid is a muscle, the vagus nerve is a peripheral nerve, and a VNN annotation of the cricothyroid is structurally identical to an MNN annotation of the biceps:
MNN: [Con:Bic+++] → MusCut biceps, musculocutaneous nerve VNN: [VF:modal, CT+++] → CN X SLN cricothyroid, superior laryngeal nerve
| Domain | Who writes it | Who consumes it |
|---|---|---|
| 1. Clinical & Fitness | Trainers, physios, clinicians, vocal coaches | Training logs, clinical records, rehab plans, research databases |
| 2. Virtual Worlds & AI | Avatar designers, game devs, AI engineers | Game engines, virtual platforms, AI synthesis pipelines, digital humans |
| 3. Remote Control & Robotics | Hardware engineers, AI systems | Cable rigs, exoskeletons, voice synthesis hardware, AI training datasets |
The notation does not change between domains. The parser and actuator do. This is the core design principle: write once, use everywhere.
| Site | Protocols | Role |
|---|---|---|
| BodSpas (BODWAVE) | MNN full + Surface Layer | Primary MNN consumer. Workout logging, BODWAVE equipment, MNN Builder. [Morph:] and [Body:] supported. |
| InThisWorld | MNN [Pos:] + Surface Layer | Avatar posing. [Pos:] → Three.js joint rotations. [Morph:] → blend shapes. LSL bridge for SL/OpenSim. |
| VoiceStry | VRN, VNN | Primary VRN/VNN consumer. Vocal training, sight-reading, VNN reference |
| COSMOS the Opera | VRN | VRN origin. Operatic performance notation. VRN creative testbed |
| Gameatica | MNN reference | Educational anatomy games use MNN naming conventions |
| AIUNITES | All (host) | Specification authority. movement.html, spec.html, builder.html, this page |
HMN's original contribution is not any individual symbol table or parameter vocabulary — those draw on established anatomical nomenclature. The contribution is: (1) the architecture — identifying that body movement, vocal production, and neural vocal control are applications of the same encoding principle; (2) the cross-domain design — the deliberate requirement that each notation work simultaneously in clinical, educational, virtual-world, and robotic contexts; (3) the integration — the shared grammar, shared activation scale, structural parallel between MNN nerve tags and VNN cranial nerve annotations; (4) the middleware positioning — HMN as a protocol layer between domain-specific applications that don't normally communicate.
| System | Closest to | Lacks vs HMN |
|---|---|---|
| ISB JCS | MNN [Pos:] | No muscle/nerve, no text format |
| BVH / C3D | MNN [Pos:] | No semantic layer, not human-authored |
| EMG + SENIAM | MNN [Con:] | No standard symbol table, no nerve mapping |
| Labanotation | MNN {Pattern} | No neuromuscular data, not machine-parseable |
| Eshkol-Wachman | MNN [Pos:] | Proprietary notation, no muscle/nerve |
| HamNoSys / SiGML | MNN [Pos:] (arms) | Arms/hands only, no muscle activation |
| IPA | VRN [Tg:], [Lp:] | No continuous parameters, no fold/breath data |
| TTS style params | VRN acoustic outputs | No physical production model |
| MNN + VRN + VNN (HMN) | All of the above | — |
Accept tags in any order · treat all tags as optional · preserve unknown tags without error · parse muscle symbols case-sensitively · accept both → and -> as nerve arrow · validate joint angles against physiological range limits · require explicit side specification for paired joints · support compact and full anatomy display modes.
Accept the three-layer structure as optional-additive · treat all parameters as optional · support Hz values for pitch and formants · accept the + scale for non-numeric parameters · preserve unknown tags.
Requires VRN compliance as prerequisite · support the six cranial nerve designations · support antagonist balance ratio notation · implement at minimum the Level 1 VRN→VNN mapping table · antagonist ratios must sum to 100.
All three compliance tiers above, plus: parse tags from all three sub-protocols in a single string without conflict · support forward compatibility for all three.
HMN and all sub-protocols follow semantic versioning: MAJOR.MINOR.PATCH. MAJOR = breaking syntax changes. MINOR = new symbols or tags (backward compatible). PATCH = documentation and clarification. Sub-protocol versions are independent — MNN v1.5 and VRN v1.0 coexist in the same HMN v1.0 deployment. A string's version may be declared: [Meta:HMN:1.0,MNN:1.5,VRN:1.0]
HMN and its sub-protocols MNN, VRN, and VNN are original works created by Tom and published by AIUNITES LLC. This specification and all companion specification documents are original literary works protected by copyright from date of first publication. AIUNITES LLC intends to register each work with the United States Copyright Office.
BODWAVE™ is the primary consumer-facing trademark planned for federal registration. MNN™, VRN™, VNN™, HMN™ are planned acronym word mark registrations. The phrases "Human Movement Notation," "Muscular Neuro Notation," "Vocal Resonance Notation," and "Voice Neural Notation" are protected as descriptive names by prior art and copyright.
Personal, research, and educational use of the notation is permitted without restriction. Commercial use requires a license from AIUNITES LLC.
© 2026 AIUNITES LLC · HMN Specification v1.2.0 · March 18, 2026
← Home · Movement · HMN Builder · MNN/VRN/VNN Web Spec · Download .md · Legal