You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/custom-tunings.md
+17Lines changed: 17 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,7 @@
38
38
{
39
39
"version": 2,
40
40
"name": "My Custom Tuning",
41
+
"spelling": "german",
41
42
"system": { "edo": 12 },
42
43
"tuning": {
43
44
"strings": [
@@ -66,6 +67,7 @@
66
67
67
68
-`version` (number, optional for parsing, exporter writes `2`): tag for your own bookkeeping.
68
69
-`name` (string, required): shown in the UI.
70
+
-`spelling` (string, optional): spelling hint for note parsing. If set to a Germanic/Czech marker (`"german"`, `"germanic"`, `"czech"`, `"cz"`, `"de"`, `"de h/b"`, `"de-h/b"`, `"de_h/b"`, `"h/b"`), note tokens are translated to international spellings internally (for example `H` → `B`, `B` → `Bb`, `Fis` → `F#`, `Hih` → `B↑`, `Aeh` → `A↓`).
69
71
-`system.edo` (number, required): equal divisions of the octave (12 for 12‑TET, 19 for 19‑TET, etc.).
70
72
71
73
**Strings (array, required, ≥1)**
@@ -121,9 +123,24 @@ This example models the short 5th string starting at fret 5 and showing a grey s
121
123
## Tips & gotchas
122
124
123
125
-**Octaves are ignored.** Use `E`, not `E2`. Use `F#` or `Gb` — whichever you prefer; import does not change your accidental spelling.
126
+
-**German/Czech preset spelling.** If your JSON uses `H/B/Fis/Es/...`, set top-level `spelling` to a Germanic/Czech value (for example `"german"`, `"czech"`, or `"cz"`). Internally the app stores/uses international spellings and only localizes at display time.
127
+
-**Microtonal German suffixes work too.** With `spelling: "german"` or `spelling: "czech"`, both `ih/eh` suffixes and arrow forms are accepted (`Hih` or `B↑`, `Aeh` or `A↓`).
124
128
-**Order matters.** Strings are read top‑to‑bottom in the JSON array the same way they’re drawn in the UI.
125
129
-**Short strings (banjo, etc.).** Put `startFret` and `greyBefore: true` on that string (and optionally mirror in `meta.stringMeta`).
0 commit comments