; ludikidee.com ; Idea by Ludo Smissaert (Ludikidee), between June 2003 - march 2004. ; in an attempt to make csound score writing playful, with no other ; means than the csound language self. ; explanation of the special meanings of the ftables: ; f100 , f101, ... etc are start times, but not accumulative. ; Further, a zero after a non zero means a next note starts at the same ; time. This note also takes the next parameters from the other ; tables. -100 is the wrap sign, it will not work without this. Other ; negative values indicate a rest. First two indices are used for MM ; indication and default note length. ; f200, f201, ... are durations tables. A zero means that the duration ; is read from the start tables (f100 etc.). When its not zero, the note ; will have this duration, but the following note will start as ; specified in the start table. Also this table wraps, so if you only ; want to have non-overlapping notes, you can just specify one '0' here. ; If you want to have a pattern of overlapping/non-overlapping repeated ; all the time over the rhythm of the start table, write this: ; f200 0 32 -2 2 0 -200 (wrap sign) ; f300, f301, ... are pitch tables. The first index here refers to the ; table number that you can use to cycle through, in this case f50. ; Then you can find two sorts of input, either numbers above 300 - ; they indicate pchclass notation: 300 becomes cpspch(3.00) or 801 ; becomes cpspch(8.01), these values don't have to be in the scale ; table (f50) - the other type of input is increment steps, like point ; in a text editor, you can step forward or backward and remain there. ; This is FUN !!!, because see what happens if you write this: 1 801 ; The one means 1 step forward through the scale table (f50), the 800 ; is a fixed note, so what you get when you write this is (starting at ; kpch_pnt init in the orc): 800 801 802 801 804 801 805 801 etc. and ; it wraps as well to the beginning of the scale table: 500 801 502 ; 801 etc. You can also step with 2, or step backward -2 , -1 or ; remain: 0, or combine: 1 -2 3 -2 , the reader has to try this out ; him or her self. -300 at the end is the wrap sign. ; f400, f401, and f500, are regular pfields, but then horizontal, the ; advantage is: nothing has to be of equal length, so if you try how ; many combinations you can get by combining short patterns of unequal ; length... wow ;-) ; f1000, and all numbers above are meta tables, they hold the order of the ; other tables, and also wrap them self. ;wave(s): f1 0 8192 10 1 ; for short high notes: f10 0 8193 7 1 3192 1 2000 1 2000 .2 1000 0.001 f20 0 8193 7 1 1192 0 2000 0 ; for short low notes: f21 0 8193 7 1 7192 1 200 0 800 0 ; for long low notes: f22 0 8193 7 1 8192 0 ; for long high notes: f11 0 8193 7 1 3192 1 2000 .1 2000 .05 1000 0.001 f23 0 8193 7 1 8192 0 ; k-global tempo: not used yet f30 0 8192 -7 1 8192 1 ; k-global amp: not used yet f31 0 8192 -7 .3 3076 1 200 .8 4916 .7 ; scale table: you cycle for and backward through this table with f300 and above ; 43 == declares how many notes there are in this table ; (cycling feature not used in this composition though) f50 0 64 -2 43 5.03 5.05 5.07 5.08 5.10 6.00 6.02 6.03 6.05 6.07 6.08 6.10 7.00 7.02 7.03 7.05 7.07 7.08 7.10 8.00 8.02 8.03 8.05 8.07 8.08 8.10 9.00 9.02 9.03 9.05 9.07 9.08 9.10 10.00 10.02 10.03 10.05 10.07 10.08 10.10 11.00 11.02 11.03 ;************************************************************************ ; Beethoven: Sonata, Der Graefin Babette von Keglevics gewidmet ; Opus 7, first twenty four bars ; um 1796/97 ;************************************************************************ ; first twenty four bars: ; first bar: both bass clef and treble clef in one table f100 0 32 -2 [144/8] [1/8] 1 0 0 0 1 1 1 1 1 -100 f200 0 32 -2 1 6 6 6 0 0 0 0 0 -200 f300 0 32 -2 50 603 710 803 807 703 703 703 703 703 -300 f500 0 32 -2 1 1 1 1 1 1 1 1 1 -500 f700 0 32 -2 1 1 1 1 1 1 1 1 1 -700 ; second bar: ; repeat f100 f201 0 32 -2 1 2 2 2 0 0 0 0 0 -200 f301 0 32 -2 50 703 707 710 803 703 703 703 703 703 -300 ; third bar: f102 0 32 -2 [144/8] [1/8] 1 0 0 0 0 1 1 1 1 1 -100 f202 0 32 -2 1 6 6 6 6 0 0 0 0 0 -200 f302 0 32 -2 50 603 710 803 807 810 703 703 703 703 703 -300 ; fourth bar: f103 0 32 -2 [144/8] [1/8] 1 0 0 0 0 1 1 1 1 1 0 -100 f203 0 32 -2 1 2 2 2 2 0 0 0 0 0 0 -200 f303 0 32 -2 50 703 707 710 803 807 703 703 703 703 703 810 -300 ; fifth bar: f104 0 32 -2 [144/8] [1/8] 1 0 0 0 1 1 1 0 0 1 1 -100 f204 0 32 -2 6 3 8 1 0 0 2 2 1 0 0 -200 f304 0 32 -2 50 703 707 803 903 902 905 705 708 903 902 905 -300 ; sixth bar: ; repeat f100 f205 0 32 -2 2 2 2 1 0 0 0 0 0 -200 f305 0 32 -2 50 708 710 803 903 902 905 903 902 900 -300 ; seventh bar: ; repeat 104 ; repeat 204 f306 0 32 -2 50 710 802 810 908 907 910 700 703 908 907 910 -300 ; eighth bar: ; repeat 100 ; repeat 205 f307 0 32 -2 50 802 807 810 908 907 910 908 907 905 -300 ; ninth bar: ; repeat 104 ; repeat 204 f308 0 32 -2 50 803 807 903 1003 1002 1005 805 809 1003 1002 1005 -300 ; tenth bar: f109 0 32 -2 [144/8] [1/8] 1 0 0 0 1 1 1 0 0 0 0 1 1 -100 f209 0 32 -2 3 3 3 1 1 1 3 3 3 3 1 1 1 -200 f309 0 32 -2 50 807 810 903 1003 1002 1005 807 810 901 903 1003 1001 1000 -300 ; eleventh bar: ; repeat f100 ; repeat f205 f310 0 32 -2 50 808 900 903 911 1000 910 908 907 905 -300 ; twelfth bar: f111 0 32 -2 [144/8] [1/8] 1 0 0 0 1 1 1 0 0 0 1 1 -100 f211 0 32 -2 2 2 2 1 0 0 0 0 0 0 0 0 -200 f311 0 32 -2 50 710 803 807 903 902 905 710 805 808 908 905 902 -300 ; thirteenth bar: f112 0 32 -2 [144/8] [1/8] 1 0 1 1 1 0 0 0 1 1 -100 f212 0 32 -2 1 2 1 1 1 6 6 6 1 1 -200 f312 0 32 -2 50 803 903 802 805 803 807 903 907 802 807 -300 ; fourteenth bar: f113 0 32 -2 [144/8] [1/8] 1 1 1 1 0 0 0 1 1 -100 f213 0 32 -2 0 0 0 1 3 3 3 0 0 -200 f313 0 32 -2 50 803 802 805 803 808 903 908 802 800 -300 ; fifteenth bar: ; repeat f102 ; repeat f202 f314 0 32 -2 50 710 810 903 907 910 709 800 710 708 707 -300 ; sixteenth bar: f115 0 32 -2 [144/8] [1/8] 1 0 0 0 0 0 1 1 1 1 1 -100 f215 0 32 -2 6 1 6 6 6 6 0 0 0 0 0 -200 f315 0 32 -2 50 610 705 802 808 810 902 707 708 710 705 708 -300 ; seventeenth bar: ; repeat 115 f216 0 32 -2 24 1 2 2 2 2 0 0 0 0 0 -200 f316 0 32 -2 50 703 707 803 807 810 903 705 707 708 710 800 -300 ; eighteenth bar: f117 0 32 -2 [144/8] [1/8] 1 1 1 1 0 1 0 1 0 -100 f217 0 32 -2 0 0 0 0 0 0 15 0 0 -200 f317 0 32 -2 50 802 803 805 807 903 808 905 810 907 -300 ; nineteenth bar: f118 0 32 -2 [144/8] [1/8] 1 0 1 0 1 0 1 0 1 0 1 0 -100 f218 0 32 -2 0 0 0 0 0 0 0 0 0 0 0 0 -200 f318 0 32 -2 50 808 905 807 903 805 902 803 900 802 810 800 808 -300 ; twentieth bar: ; repeat f118 ; repeat f218 f319 0 32 -2 50 710 807 800 808 710 807 708 805 707 803 705 802 -300 ; twenty first bar: f120 0 32 -2 [144/8] [1/8] 1 0 1 1 1 1 1 -100 f220 0 32 -2 0 0 0 0 0 0 0 -200 f320 0 32 -2 50 703 803 805 807 808 810 900 -300 ; twenty second bar: ; repeat f117 f221 0 32 -2 0 0 0 15 1 0 0 0 0 -200 f321 0 32 -2 50 902 903 905 803 907 805 908 807 910 -300 ; twenty third bar: ; repeat f118 f222 0 32 -2 0 12 0 0 0 0 0 0 0 0 0 0 -200 f322 0 32 -2 50 805 908 803 907 802 905 800 903 710 902 708 900 -300 ; twenty fourth bar: ; repeat f118 ; repeat f218 f323 0 32 -2 50 707 810 708 900 707 810 705 808 703 807 702 805 -300 ; twenty fifth bar: f124 0 32 -2 [144/8] [1/8] 1 0 0 0 0 0 0 -100 f224 0 32 -2 8 8 8 6 6 6 6 -200 f324 0 32 -2 50 601 603 701 707 710 803 807 -300 ; twenty sixth bar: stop here with a long rest (-20) to indicate opus 7 != finished f125 0 32 -2 [144/8] [1/8] 1 0 0 0 -1 -2 1 0 0 0 -20 -100 f225 0 32 -2 2 2 2 2 0 0 0 0 -200 f325 0 32 -2 50 703 707 710 803 801 803 807 907 -300 ; twenty seventh bar: f126 0 32 -2 [144/8] [1/8] 2 0 0 0 1 0 0 0 2 0 0 0 1 0 0 0 0 -100 f226 0 32 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -200 f326 0 32 -2 50 800 803 808 908 800 803 808 908 800 803 808 908 800 803 807 900 1000 -300 ; twenty eighth bar: f127 0 32 -2 [144/8] [1/8] 2 0 0 0 0 -1 -2 -1 -100 f227 0 32 -2 3 3 3 3 3 -200 f327 0 32 -2 50 800 803 807 903 1003 -300 ; twenty ninth bar: f128 0 32 -2 [144/8] [1/8] 6 0 0 0 0 0 -100 f228 0 32 -2 8 8 6 6 6 6 -200 f328 0 32 -2 50 603 703 709 800 806 809 -300 ; thirtieth bar: f129 0 32 -2 [144/8] [1/8] 2 0 0 -1 -2 1 0 0 0 -100 f229 0 32 -2 4 3 4 0 0 0 0 -200 f329 0 32 -2 50 709 800 806 803 806 809 909 -300 ; meta tables: order of music tables: will wrap independently f1001 0 32 -2 100 100 102 103 104 100 104 100 104 109 100 111 112 ;dur1's 113 102 115 115 117 118 118 120 117 118 118 124 125 ; 126 127 128 129 f1002 0 32 -2 200 201 202 203 204 205 204 205 204 209 205 211 212 ;dur2's 213 202 215 216 217 218 218 220 221 222 218 224 225 ; 226 227 228 229 f1003 0 32 -2 300 301 302 303 304 305 306 307 308 309 310 311 312 ;pitches 313 314 315 316 317 318 319 320 321 322 323 324 325 ; 326 327 328 329 f1004 0 32 -2 400 ;pans f1005 0 32 -2 500 ;amps f1007 0 32 -2 700 ;fm dev ; pans f400 0 32 -2 .5 -400 ; fm mod f600 0 32 -2 1 -600 f1006 0 32 -2 600 ; adjust start rhythm (not used) f800 0 32 -2 1 -800 f1008 0 32 -2 800 ;p1 p2 p3 p4 ;ins str dur amp i1 0 65 3450