Add chord inversions and voiceleading

This commit is contained in:
2023-09-17 22:22:57 +03:00
parent cc04b97d2f
commit 9d964f81da
4 changed files with 35 additions and 5 deletions

View File

@ -28,6 +28,7 @@ The basic Ziffer notation is entirely written in JavaScript strings (_e.g_ <ic>"
| **Accidentals** | <ic># b</ic> | Sharp and flats, just like with regular music notation :smile: |
| **Rest** | <ic>r</ic> | Rest / silences |
| **Repeat** | <ic>:1-9</ic> | Repeat the item 1-9 times |
| **Chords** | <ic>[1-9]+ / [iv]+ / [AG]+name</ic> | Multiple pitches grouped together, roman numerals or named chords |
**Note:** Some features are still unsupported. For full syntax see article about <a href="https://zenodo.org/record/7841945" target="_blank">Ziffers</a>.
@ -136,6 +137,21 @@ ${makeExample(
`
)}
${makeExample(
"Chord transposition with roman numerals",
`
z1('i i v%-4 v%-2 vi%-5 vi%-3 iv%-2 iv%-1').sound('sawtooth').out()
`
)}
${makeExample(
"Chord transposition with named chords",
`
z1('e C9:4 Emin:4 F7%-1:4 Emaj%-1:4')
.sound("stab").out()
`
)}
## Algorithmic operations
Ziffers provides shorthands for **many** numeric and algorithimic operations such as evaluating random numbers and creating sequences using list operations: