- commit
- b425781fa9849d2ac9751cf6028c3022dc45813f
- parent
- 207552a0984ddbb2447983f34530215ebc00f128
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2023-09-19 15:10
add README
Diffstat
| A | README.md | 56 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
@@ -0,0 +1,56 @@
-1 1 xi2 is a plain text language that compiles to MIDI.
-1 2
-1 3 # Usage
-1 4
-1 5 Notes are expressed as numbers. By default, an offset of 60 is applied, so `0`
-1 6 is 60 in MIDI, which is c3.
-1 7
-1 8 Beats are separated by comma:
-1 9
-1 10 0: 0,2,4,5,7,9,11,12,
-1 11
-1 12 You can leave a beat empty or use `-` to hold the previous note:
-1 13
-1 14 0: 0, ,0,0,7,-,-,-,
-1 15
-1 16 Beats can be subdivided using parens. Notes that are grouped this way are
-1 17 evenly spaced, so e.g. grouping 3 notes gives you triplets:
-1 18
-1 19 0: (0,0),(4,4,4),(7,7,7,7),12,
-1 20
-1 21 Notes can also be played at the same time (chords) using curly braces:
-1 22
-1 23 0: {0,4,7},{0,4,9},{0,5,9},{2,7,11},
-1 24
-1 25 Each track has its own line. Sections are separated by a blank line. Whitespace
-1 26 inside lines is ignored, so you can align the tracks:
-1 27
-1 28 0: 12, (16, 21), -, (23,19,14),
-1 29 8: {0,4,7}, {0,4,9}, {0,5,9}, {2,7,11},
-1 30
-1 31 0: (16,19), (16,21), (-,17), (19,23),
-1 32 8: {0,4,7}, {0,4,9}, {0,5,9}, {2,7,11},
-1 33
-1 34 Macros allow you to reuse patterns without having to write them again and
-1 35 again. xi2 supports both single-line and multi-line patterns:
-1 36
-1 37 [C]: {0,4,7}
-1 38 [G]: {7,11,14}
-1 39
-1 40 [intro]:
-1 41 0: [C],[C],[G],[C],
-1 42 [end]
-1 43
-1 44 [intro]
-1 45 [intro]
-1 46
-1 47 Instead of notes you can also include strings for lyrics. Be aware that
-1 48 whitespace will be ignored, so you should use `_` instead:
-1 49
-1 50 0: (9 ,,),(2 ,-,5 ),4 ,0 ,
-1 51 l: (Pop_,,),(goes_,-,the_),Wea,sel.,
-1 52
-1 53 # similar projects
-1 54
-1 55 - [drumscript](https://github.com/tepreece/drumscript/)
-1 56 - [lilypond](https://lilypond.org/doc/v2.24/Documentation/learning/simple-notation)