OTG is a standalone DSL for describing operator topology using compact ASCII glyphs.
OTG (OED Operator Topology Glyph) is a domain-specific language designed to represent operator connection structures (topology) in a concise, human-readable, and machine-interpretable form.
It was originally developed for OPM Tone Editor (a custom FM tone editor developed by the author) and OED (FM tone library format), but is specified here as an independent and extensible topology DSL.
OTG allows you to describe:
- Series connections
- Parallel mixing
- Feedback loops
- Nested structures
- Explicit feedback targets
1234=
1 → 2 → 3 → 4 → output
1-2-3-4=
mix(1,2,3) → 4 → output
@1
1 → 1
@(12)3=
1 → 2 → 1
2 → 3 → output
@(1-$2-)3=
mix(1,2) → 2
mix(1,2) → 3 → output
OTG can represent real FM synthesizer algorithms.
Example (Yamaha DX7):
alg1: @6543=21=
See full tables:
OTG is already used in OPM Tone Editor:
- ASCII-only representation
- Human-readable
- Machine-interpretable (AST / graph)
- Device-independent
- Operator-count independent
- Extensible (future topology systems)
OTG allows multiple equivalent expressions for the same topology.
However, a canonical form can be defined per device by:
- Preserving exact topology
- Unifying operator ordering (ascending / descending)
- Minimizing redundant syntax
OTG was originally developed to solve limitations of traditional FM algorithm representation:
- Numeric algorithm IDs are opaque
- Topology is not explicitly visible
- Difficult to extend beyond fixed device definitions
OTG replaces numeric identifiers with explicit structural representation.
For design background and philosophy:
Full syntax and semantics:
→ Specification (draft version 0.01)
OTG is designed to be easily implemented:
- tokenizer:
$,[ ]support required - parser: recursive descent recommended
- AST: operator / group / parallel / feedback
- graph: edge-based construction
draft version 0.01
This specification is subject to future refinement.
MIT License
