Update of /cvsroot/pure-data/externals/frankenstein In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5674
Modified Files: bay.orc makefile.darwin test-harmonizer2.pd Log Message: presentation about current state of Frank development
Index: test-harmonizer2.pd =================================================================== RCS file: /cvsroot/pure-data/externals/frankenstein/test-harmonizer2.pd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** test-harmonizer2.pd 18 Oct 2005 23:10:53 -0000 1.1 --- test-harmonizer2.pd 12 Dec 2005 13:17:40 -0000 1.2 *************** *** 1,197 **** ! #N canvas 72 0 919 691 12; ! #X symbolatom 157 205 18 0 0 2 next_chord - -; ! #N canvas 39 349 531 328 readme 0; ! #X text 59 31 howto populate the graph: play the chord , when the ! output of [chord] is ok bang the "add" message. bang it each time you ! change chord , it will store the transitions; ! #X text 56 120 howto ask for the next chord: play the chord , bang ! the "set" message , this will set the current chord without adding ! it to the graph's memory , now bang the next 1 message. this chord_graph ! will respond with the chord you played most of the times after the ! current chord. you can send "next x" where x is from 0 to 1 , 0 = ! max novelty , 1= min novelty; ! #X text 56 259 you can save graph state sending the write message; ! #X restore 607 47 pd readme; ! #X obj 121 329 harmonizer; ! #X msg 52 286 current $1; ! #X msg 158 283 target $1; ! #X obj 52 262 symbol; ! #X obj 52 242 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 157 261 symbol; ! #X obj 289 261 int 36; ! #X obj 355 262 int 60; ! #X obj 426 260 int 67; ! #X obj 494 259 int 76; ! #X obj 566 262 int 84; ! #X obj 335 289 pack f f f f f; ! #X obj 358 233 t b b b b b; ! #X obj 246 369 unpack f f f f f; ! #X obj 127 108 symbol; ! #X obj 98 43 bng 15 250 50 0 empty empty change_chord 0 -6 0 8 -262144 ! -1 -1; ! #X msg 127 132 set $1; ! #N canvas 0 0 714 424 midi 0; ! #X obj 141 253 outlet; ! #X obj 271 31 notein; ! #X obj 271 66 chord 59; ! #X msg 175 149 add $1; ! #X obj 175 121 symbol; ! #X obj 176 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 248 163 symbol; ! #X obj 249 136 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X msg 248 191 set $1; ! #X symbolatom 311 101 25 0 0 0 - - -; ! #X connect 1 0 2 0; ! #X connect 1 1 2 1; ! #X connect 2 2 4 1; ! #X connect 2 2 6 1; ! #X connect 2 2 9 0; ! #X connect 3 0 0 0; ! #X connect 4 0 3 0; ! #X connect 5 0 4 0; ! #X connect 6 0 8 0; ! #X connect 7 0 6 0; ! #X connect 8 0 0 0; ! #X restore 512 135 pd midi; ! #N canvas 0 0 458 308 fileIO 0; ! #X obj 143 225 outlet; ! #X msg 115 77 write test.graph; ! #X msg 145 105 read test.graph; ! #X msg 175 135 init 1; ! #X connect 1 0 0 0; ! #X connect 2 0 0 0; ! #X connect 3 0 0 0; ! #X restore 429 134 pd fileIO; ! #X obj 100 73 t b b; ! #X obj 157 228 t b a; ! #X obj 28 404 bang; ! #X obj 203 420 mtof; ! #X obj 252 419 mtof; ! #X obj 337 423 mtof; ! #X obj 180 601 dac~; ! #X obj 109 431 print; ! #X obj 74 111 f 1; ! #X msg 59 135 next $1; ! #X obj 63 70 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 ! -1 2610 1; ! #X floatatom 32 112 5 0 0 0 - - -; ! #X obj 178 571 csoundapi~ bay.orc; ! #X msg 488 520 event i 10 0 17000 10 30; ! #X msg 488 543 event i 30 0 17000 2 30; ! #X msg 489 496 event i 25 0 17000 0.98 0.8 20000; ! #X obj 482 458 loadbang; ! #X msg 196 492 event i 9 0 10 $1 80 0.5; ! #X obj 295 422 mtof; ! #X obj 381 424 mtof; ! #X obj 462 22 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ! ; ! #X obj 462 41 metro 7000; ! #X obj 13 32 r novelty; ! #X obj 599 121 int 0; ! #X obj 646 120 + 1; ! #X obj 600 171 tabread tab-novelty; ! #X obj 600 194 s novelty; ! #X obj 685 119 table tab-novelty; ! #X obj 600 147 % 10; ! #X obj 462 63 t b b; ! #X msg 467 377 ; tab-novelty 0 1 1 0.8 0.7 0.3 0.5 0.9 0.1 0 0.2; ! #X obj 203 97 symbol; ! #X msg 203 125 tonality $1; ! #X obj 203 73 bng 15 250 50 0 empty empty change 0 -6 0 8 -262144 -1 ! -1; ! #X obj 19 160 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X symbolatom 305 204 15 0 0 2 tonality - -; ! #X obj 83 169 chords_memory test.graph; ! #X obj 307 94 symbol; ! #X obj 307 70 bng 15 250 50 0 empty empty change 0 -6 0 8 -262144 -1 ! -1; ! #X msg 307 122 modulation $1; ! #X obj 445 189 print sequence; ! #X msg 235 15 search 9 1 5 0.9; ! #X connect 2 0 15 0; ! #X connect 2 0 28 0; ! #X connect 3 0 2 0; ! #X connect 4 0 2 0; ! #X connect 5 0 3 0; ! #X connect 6 0 5 0; ! #X connect 7 0 4 0; ! #X connect 8 0 13 0; ! #X connect 9 0 13 1; ! #X connect 10 0 13 2; ! #X connect 11 0 13 3; ! #X connect 12 0 13 4; ! #X connect 13 0 2 0; ! #X connect 14 0 8 0; ! #X connect 14 1 9 0; ! #X connect 14 2 10 0; ! #X connect 14 3 11 0; ! #X connect 14 4 12 0; ! #X connect 15 0 8 1; ! #X connect 15 0 23 0; ! #X connect 15 0 24 0; ! #X connect 15 1 9 1; ! #X connect 15 1 25 0; ! #X connect 15 2 10 1; ! #X connect 15 2 39 0; ! #X connect 15 3 11 1; ! #X connect 15 3 26 0; ! #X connect 15 4 12 1; ! #X connect 15 4 40 0; ! #X connect 16 0 18 0; ! #X connect 17 0 21 0; ! #X connect 18 0 57 0; ! #X connect 19 0 57 0; ! #X connect 20 0 57 0; ! #X connect 21 0 29 0; ! #X connect 22 0 14 0; ! #X connect 22 1 7 0; ! #X connect 23 0 5 0; ! #X connect 24 0 38 0; ! #X connect 25 0 38 0; ! #X connect 26 0 38 0; ! #X connect 29 0 30 0; ! #X connect 30 0 57 0; ! #X connect 31 0 29 1; ! #X connect 31 0 32 0; ! #X connect 33 0 27 0; ! #X connect 33 1 27 1; ! #X connect 34 0 33 0; ! #X connect 35 0 33 0; ! #X connect 36 0 33 0; ! #X connect 37 0 36 0; ! #X connect 37 0 34 0; ! #X connect 37 0 35 0; ! #X connect 37 0 51 0; ! #X connect 38 0 33 0; ! #X connect 39 0 38 0; ! #X connect 40 0 38 0; ! #X connect 41 0 42 0; ! #X connect 42 0 50 0; ! #X connect 43 0 31 0; ! #X connect 44 0 45 0; ! #X connect 44 0 49 0; ! #X connect 45 0 44 1; ! #X connect 46 0 47 0; ! #X connect 49 0 46 0; ! #X connect 50 0 21 0; ! #X connect 50 1 44 0; ! #X connect 52 0 53 0; ! #X connect 53 0 57 0; ! #X connect 54 0 52 0; ! #X connect 55 0 57 0; ! #X connect 57 0 0 0; ! #X connect 57 0 5 1; ! #X connect 57 0 22 0; ! #X connect 57 0 52 1; ! #X connect 57 0 16 0; ! #X connect 57 0 58 1; ! #X connect 57 1 56 0; ! #X connect 57 2 61 0; ! #X connect 58 0 60 0; ! #X connect 59 0 58 0; ! #X connect 60 0 57 0; ! #X connect 62 0 57 0; --- 1,575 ---- ! #N canvas 194 23 939 711 10; ! #X symbolatom 157 205 18 0 0 2 next_chord - -; ! #N canvas 39 349 535 332 readme 0; ! #X text 59 31 howto populate the graph: play the chord , when the ! output of [chord] is ok bang the "add" message. bang it each time you ! change chord , it will store the transitions; ! #X text 56 120 howto ask for the next chord: play the chord , bang ! the "set" message , this will set the current chord without adding ! it to the graph's memory , now bang the next 1 message. this chord_graph ! will respond with the chord you played most of the times after the ! current chord. you can send "next x" where x is from 0 to 1 , 0 = ! max novelty , 1= min novelty; ! #X text 56 259 you can save graph state sending the write message; ! #X restore 607 47 pd readme; ! #X obj 121 329 harmonizer; ! #X msg 52 286 current $1; ! #X msg 158 283 target $1; ! #X obj 52 262 symbol; ! #X obj 52 242 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 157 261 symbol; ! #X obj 289 261 int 36; ! #X obj 355 262 int 60; ! #X obj 426 260 int 67; ! #X obj 494 259 int 76; ! #X obj 566 262 int 84; ! #X obj 335 289 pack f f f f f; ! #X obj 358 233 t b b b b b; ! #X obj 264 329 unpack f f f f f; ! #X obj 127 108 symbol; ! #X obj 98 43 bng 15 250 50 0 empty empty change_chord 0 -6 0 8 -262144 ! -1 -1; ! #X msg 127 132 set $1; ! #N canvas 0 22 714 424 midi 0; ! #X obj 141 253 outlet; ! #X obj 271 31 notein; ! #X obj 271 66 chord 59; ! #X msg 175 149 add $1; ! #X obj 175 121 symbol; ! #X obj 176 94 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 248 163 symbol; ! #X obj 249 136 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X msg 248 191 set $1; ! #X symbolatom 311 101 25 0 0 0 - - -; ! #X connect 1 0 2 0; ! #X connect 1 1 2 1; ! #X connect 2 2 4 1; ! #X connect 2 2 6 1; ! #X connect 2 2 9 0; ! #X connect 3 0 0 0; ! #X connect 4 0 3 0; ! #X connect 5 0 4 0; ! #X connect 6 0 8 0; ! #X connect 7 0 6 0; ! #X connect 8 0 0 0; ! #X restore 512 135 pd midi; ! #N canvas 0 22 462 312 fileIO 0; ! #X obj 143 225 outlet; ! #X msg 115 77 write test.graph; ! #X msg 145 105 read test.graph; ! #X msg 175 135 init 1; ! #X connect 1 0 0 0; ! #X connect 2 0 0 0; ! #X connect 3 0 0 0; ! #X restore 429 134 pd fileIO; ! #X obj 100 73 t b b; ! #X obj 157 228 t b a; ! #X obj 63 359 bang; ! #X obj 221 380 mtof; ! #X obj 270 379 mtof; ! #X obj 355 383 mtof; ! #X obj 144 386 print; ! #X obj 74 111 f 1; ! #X msg 59 135 next $1; ! #X obj 63 70 vsl 15 30 0 1 0 0 empty empty empty 0 -8 0 8 -262144 -1 ! -1 0 1; ! #X floatatom 32 112 5 0 0 0 - - -; ! #X obj 527 400 loadbang; ! #X obj 313 382 mtof; ! #X obj 399 384 mtof; ! #X obj 462 22 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ! ; ! #X obj 462 41 metro 7000; ! #X obj 13 32 r novelty; ! #X obj 599 121 int 0; ! #X obj 646 120 + 1; ! #X obj 600 171 tabread tab-novelty; ! #X obj 600 194 s novelty; ! #X obj 685 119 table tab-novelty; ! #X obj 600 147 % 10; ! #X obj 462 63 t b b; ! #X msg 489 365 ; tab-novelty 0 1 1 0.8 0.7 0.3 0.5 0.9 0.1 0 0.2; ! #X obj 203 97 symbol; ! #X msg 203 125 tonality $1; ! #X obj 203 73 bng 15 250 50 0 empty empty change 0 -6 0 8 -262144 -1 ! -1; ! #X obj 19 160 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X symbolatom 305 204 15 0 0 2 tonality - -; ! #X obj 307 94 symbol; ! #X obj 307 70 bng 15 250 50 0 empty empty change 0 -6 0 8 -262144 -1 ! -1; ! #X msg 307 122 modulation $1; ! #X obj 445 189 print sequence; ! #X msg 235 15 search 9 1 5 0.9; ! #X msg 262 407 i9 0 10 $1 80 0.5; ! #X msg 502 440 i25 0 17000 0.98 0.8 20000; ! #X msg 500 464 i10 0 17000 10 30; ! #X msg 500 487 i30 0 17000 2 30; ! #X obj 172 422 print; ! #X obj 265 445 s csound; ! #N canvas 0 25 807 561 bay 0; ! #X obj 12 83 loadbang; ! #N canvas 0 22 759 336 ascoltaHits 0; ! #X obj 161 223 outlet; ! #X obj 146 33 r 1-hit; ! #X obj 147 54 bang; ! #X msg 147 83 60; ! #X obj 198 57 bang; ! #X obj 197 36 r 2-hit; ! #X msg 198 86 72; ! #X obj 254 57 bang; ! #X msg 254 86 48; ! #X obj 253 36 r 3-hit; ! #X obj 303 60 bang; ! #X msg 303 89 67; ! #X obj 303 39 r 4-hit; ! #X obj 359 60 bang; ! #X obj 422 60 bang; ! #X obj 422 39 r 6-hit; ! #X obj 359 39 r 5-hit; ! #X msg 359 89 76; ! #X msg 422 89 36; ! #X connect 1 0 2 0; ! #X connect 2 0 3 0; ! #X connect 3 0 0 0; ! #X connect 4 0 6 0; ! #X connect 5 0 4 0; ! #X connect 6 0 0 0; ! #X connect 7 0 8 0; ! #X connect 8 0 0 0; ! #X connect 9 0 7 0; ! #X connect 10 0 11 0; ! #X connect 11 0 0 0; ! #X connect 12 0 10 0; ! #X connect 13 0 17 0; ! #X connect 14 0 18 0; ! #X connect 15 0 14 0; ! #X connect 16 0 13 0; ! #X connect 17 0 0 0; ! #X connect 18 0 0 0; ! #X restore 428 102 pd ascoltaHits; ! #X obj 430 164 mtof; ! #N canvas 0 22 462 312 chords 0; ! #X obj 132 43 inlet; ! #X obj 131 240 outlet; ! #X obj 262 31 loadbang; ! #X obj 260 74 metro 20000; ! #X obj 257 115 int 0; ! #X obj 303 117 + 1; ! #X obj 257 136 % 2; ! #X obj 246 162 select 0 1; ! #X obj 131 214 + 0; ! #X msg 243 182 0; ! #X msg 270 184 7; ! #X msg 260 54 1; ! #X connect 0 0 8 0; ! #X connect 2 0 11 0; ! #X connect 3 0 4 0; ! #X connect 4 0 5 0; ! #X connect 4 0 6 0; ! #X connect 5 0 4 1; ! #X connect 6 0 7 0; ! #X connect 7 0 9 0; ! #X connect 7 1 10 0; ! #X connect 8 0 1 0; ! #X connect 9 0 8 1; ! #X connect 10 0 8 1; ! #X connect 11 0 3 0; ! #X restore 430 131 pd chords; ! #N canvas 0 22 940 672 ascolta-valori 0; ! #X obj 135 554 outlet; ! #X obj 28 146 line; ! #X msg 27 123 $1 100; ! #X msg 27 175 control amp1 $1; ! #X obj 146 100 line; ! #X msg 145 77 $1 100; ! #X obj 144 26 + 1; ! #X obj 143 51 / 2; ! #X obj 265 143 line; ! #X msg 264 119 $1 100; ! #X obj 382 135 line; ! #X msg 381 112 $1 100; ! #X obj 380 61 + 1; ! #X obj 379 86 / 2; ! #X msg 264 171 control amp2 $1; ! #X obj 297 304 line; ! #X msg 296 281 $1 100; ! #X obj 414 288 line; ! #X msg 413 265 $1 100; ! #X obj 412 214 + 1; ! #X obj 411 239 / 2; ! #X obj 533 331 line; ! #X msg 532 307 $1 100; ! #X obj 650 323 line; ! #X msg 649 300 $1 100; ! #X obj 648 249 + 1; ! #X obj 647 274 / 2; ! #X msg 296 324 control amp3 $1; ! #X msg 531 359 control amp4 $1; ! #N canvas 0 22 678 338 graph16 0; ! #X array vol 100 float 3; ! #A 0 0.382146 0.444444 0.527258 0.5757 0.610071 0.636731 0.658514 0.676931 ! 0.692884 0.706956 0.719544 0.730931 0.741327 0.75089 0.759744 0.767987 ! 0.775698 0.782941 0.78977 0.796229 0.802357 0.808187 0.813745 0.819055 ! 0.82414 0.829017 0.833703 0.838212 0.842557 0.84675 0.8508 0.854718 ! 0.858511 0.862187 0.865754 0.869217 0.872583 0.875856 0.879043 0.882146 ! 0.885171 0.888121 0.891 0.893811 0.896558 0.899243 0.901869 0.904438 ! 0.906954 0.909417 0.911831 0.914197 0.916517 0.918792 0.921026 0.923218 ! 0.925371 0.927485 0.929563 0.931605 0.933613 0.935588 0.937531 0.939443 ! 0.941324 0.943177 0.945001 0.946797 0.948567 0.950311 0.952031 0.953725 ! 0.955396 0.957044 0.95867 0.960273 0.961856 0.963418 0.964959 0.966481 ! 0.967984 0.969468 0.970934 0.972382 0.973813 0.975227 0.976624 0.978006 ! 0.979371 0.980721 0.982056 0.983376 0.984682 0.985974 0.987252 0.988516 ! 0.989767 0.991005 0.99223 1.0615; ! #X coords 0 1 99 0 200 140 1; ! #X restore 532 24 graph; ! #X obj 26 101 tabread vol; ! #X obj 28 76 * 100; ! #X obj 265 97 tabread vol; ! #X obj 262 75 * 100; ! #X obj 28 48 clip 0 1; ! #X obj 262 40 clip 0 1; ! #X obj 307 264 tabread vol; ! #X obj 307 242 * 100; ! #X obj 308 222 clip 0 1; ! #X obj 534 284 tabread vol; ! #X obj 534 262 * 100; ! #X obj 535 242 clip 0 1; ! #X msg 149 129 control pos1 $1; ! #X msg 385 164 control pos2 $1; ! #X msg 417 317 control pos3 $1; ! #X msg 653 352 control pos4 $1; ! #X obj 434 493 line; ! #X msg 433 469 $1 100; ! #X obj 551 485 line; ! #X msg 550 462 $1 100; ! #X obj 549 411 + 1; ! #X obj 548 436 / 2; ! #X obj 435 446 tabread vol; ! #X obj 435 424 * 100; ! #X obj 436 404 clip 0 1; ! #X msg 432 521 control amp5 $1; ! #X msg 553 514 control pos5 $1; ! #X obj 28 13 r 1-velo; ! #X obj 145 6 r 1-x; ! #X obj 264 17 r 2-velo; ! #X obj 296 202 r 3-velo; ! #X obj 412 194 r 3-x; ! #X obj 528 216 r 4-velo; ! #X obj 649 229 r 4-x; ! #X obj 429 378 r 5-velo; ! #X obj 550 391 r 5-x; ! #X obj 382 40 r 2-x; ! #X obj 839 58 + 1; ! #X obj 761 97 log; ! #X obj 803 59 int 1; ! #X obj 759 119 / 4.65; ! #X obj 807 83 t f f; ! #X obj 785 33 metro 10; ! #X obj 785 14 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ! ; ! #X obj 763 183 tabwrite vol; ! #X msg 848 32 1; ! #X obj 758 141 + 0.8; ! #X obj 757 160 / 1.8; ! #X connect 1 0 3 0; ! #X connect 2 0 1 0; ! #X connect 3 0 0 0; ! #X connect 4 0 42 0; ! #X connect 5 0 4 0; ! #X connect 6 0 7 0; ! #X connect 7 0 5 0; ! #X connect 8 0 14 0; ! #X connect 9 0 8 0; ! #X connect 10 0 43 0; ! #X connect 11 0 10 0; ! #X connect 12 0 13 0; ! #X connect 13 0 11 0; ! #X connect 14 0 0 0; ! #X connect 15 0 27 0; ! #X connect 16 0 15 0; ! #X connect 17 0 44 0; ! #X connect 18 0 17 0; ! #X connect 19 0 20 0; ! #X connect 20 0 18 0; ! #X connect 21 0 28 0; ! #X connect 22 0 21 0; ! #X connect 23 0 45 0; ! #X connect 24 0 23 0; ! #X connect 25 0 26 0; ! #X connect 26 0 24 0; ! #X connect 27 0 0 0; ! #X connect 28 0 0 0; ! #X connect 30 0 2 0; ! #X connect 31 0 30 0; ! #X connect 32 0 9 0; ! #X connect 33 0 32 0; ! #X connect 34 0 31 0; ! #X connect 35 0 33 0; ! #X connect 36 0 16 0; ! #X connect 37 0 36 0; ! #X connect 38 0 37 0; ! #X connect 39 0 22 0; ! #X connect 40 0 39 0; ! #X connect 41 0 40 0; ! #X connect 42 0 0 0; ! #X connect 43 0 0 0; ! #X connect 44 0 0 0; ! #X connect 45 0 0 0; ! #X connect 46 0 55 0; ! #X connect 47 0 46 0; ! #X connect 48 0 56 0; ! #X connect 49 0 48 0; ! #X connect 50 0 51 0; ! #X connect 51 0 49 0; ! #X connect 52 0 47 0; ! #X connect 53 0 52 0; ! #X connect 54 0 53 0; ! #X connect 55 0 0 0; ! #X connect 56 0 0 0; ! #X connect 57 0 34 0; ! #X connect 58 0 6 0; ! #X connect 59 0 35 0; ! #X connect 60 0 38 0; ! #X connect 61 0 19 0; ! #X connect 62 0 41 0; ! #X connect 63 0 25 0; ! #X connect 64 0 54 0; ! #X connect 65 0 50 0; ! #X connect 66 0 12 0; ! #X connect 67 0 69 1; ! #X connect 68 0 70 0; ! #X connect 69 0 67 0; ! #X connect 69 0 71 0; ! #X connect 70 0 76 0; ! #X connect 71 0 68 0; ! #X connect 71 1 74 1; ! #X connect 72 0 69 0; ! #X connect 73 0 72 0; ! #X connect 75 0 69 0; ! #X connect 76 0 77 0; ! #X connect 77 0 74 0; ! #X restore 592 84 pd ascolta-valori; ! #X obj 567 118 bay --------; ! #X obj 367 279 catch~ mainL; ! #X obj 491 281 catch~ mainR; ! #X obj 376 318 *~ 0.01; ! #X obj 467 319 *~ 0.01; ! #X obj 701 211 vsl 15 128 0 0.8 0 0 empty empty empty 0 -8 0 8 -262144 ! -1 -1 317 1; ! #X floatatom 700 346 5 0 0 0 - - -; ! #X obj 750 195 loadbang; ! #X msg 750 216 0.02; ! #X obj 265 365 csound~ 2 2; ! #X obj 332 137 r csound; ! #X msg 156 24 i9 0 8 400 90 0.3; ! #X msg 23 159 i30 0 17000 2 30; ! #X msg 23 136 i10 0 17000 10 30; ! #X msg 24 112 i25 0 17000 0.98 0.8 20000; ! #X msg 1 182 bang ; csound bin /usr/local/bin/csound ; csound orc ! bay.orc ; csound sco bay.sco ; csound csound -dm0 ; csound bang ! ; pd dsp 1; ! #X msg 267 58 i9 0 8 450 90 0.3; ! #X msg 293 20 i9 0 8 500 90 0.3; ! #X obj 255 392 /~ 32767; ! #X obj 324 391 /~ 32767; ! #N canvas 77 25 718 506 note---- 0; ! #X obj 95 284 outlet; ! #X obj 95 222 mtof; ! #X obj 202 211 mtof; ! #X obj 309 220 mtof; ! #X obj 412 221 mtof; ! #X obj 120 133 inlet; ! #X obj 195 140 inlet; ! #X obj 310 163 inlet; ! #X obj 414 170 inlet; ! #X obj 533 224 mtof; ! #X obj 535 173 inlet; ! #X obj 204 283 outlet; ! #X obj 303 284 outlet; ! #X obj 408 280 outlet; ! #X obj 539 274 outlet; ! #X connect 1 0 0 0; ! #X connect 2 0 11 0; ! #X connect 3 0 12 0; ! #X connect 4 0 13 0; ! #X connect 5 0 1 0; ! #X connect 6 0 2 0; ! #X connect 7 0 3 0; ! #X connect 8 0 4 0; ! #X connect 9 0 14 0; ! #X connect 10 0 9 0; ! #X restore 567 142 pd note----; ! #X obj 324 411 /~ 1.5; ! #X obj 255 412 /~ 1.5; ! #X obj 235 450 outlet~; ! #X obj 328 446 outlet~; ! #X msg 404 197 i9 0 14 $1 90 0.3; ! #X obj 408 242 inlet~; ! #X obj 479 243 inlet~; ! #X connect 0 0 20 0; ! #X connect 0 0 17 0; ! #X connect 0 0 18 0; ! #X connect 0 0 19 0; ! #X connect 1 0 3 0; ! #X connect 2 0 30 0; ! #X connect 3 0 2 0; ! #X connect 5 0 25 0; ! #X connect 5 1 25 1; ! #X connect 5 2 25 2; ! #X connect 5 3 25 3; ! #X connect 5 4 25 4; ! #X connect 6 0 8 0; ! #X connect 7 0 9 0; ! #X connect 8 0 14 0; ! #X connect 9 0 14 1; ! #X connect 10 0 9 1; ! #X connect 10 0 8 1; ! #X connect 10 0 11 0; ! #X connect 12 0 13 0; ! #X connect 13 0 10 0; ! #X connect 14 0 23 0; ! #X connect 14 1 24 0; ! #X connect 15 0 14 0; ! #X connect 16 0 14 0; ! #X connect 17 0 14 0; ! #X connect 18 0 14 0; ! #X connect 19 0 14 0; ! #X connect 21 0 14 0; ! #X connect 22 0 14 0; ! #X connect 23 0 27 0; ! #X connect 24 0 26 0; ! #X connect 25 0 30 0; ! #X connect 25 1 30 0; ! #X connect 25 2 30 0; ! #X connect 25 3 30 0; ! #X connect 25 4 30 0; ! #X connect 26 0 29 0; ! #X connect 27 0 28 0; ! #X connect 30 0 14 0; ! #X connect 31 0 8 0; ! #X connect 32 0 9 0; ! #X restore 195 544 pd bay; ! #X obj 242 683 dac~; ! #X obj 194 629 +~; ! #X obj 294 632 +~; ! #X obj 151 527 vsl 15 128 0.01 1 1 0 empty empty empty 0 -8 0 8 -262144 ! -1 -1 8262 1; ! #X obj 186 599 *~ 0.5; ! #X obj 238 600 *~ 0.5; ! #X obj 87 563 loadbang; ! #X floatatom 149 660 5 0 0 0 - - -; ! #X obj 380 526 vsl 15 128 0.1 3 0 0 empty empty empty 0 -8 0 8 -262144 ! -1 -1 8321 1; ! #X floatatom 378 659 5 0 0 0 - - -; ! #X obj 217 653 *~ 1; ! #X obj 269 654 *~ 1; ! #X obj 311 574 loadbang; ! #X text 67 620 volume bay; ! #X msg 313 597 2; ! #X msg 104 594 0.2; ! #X obj 83 169 chords_memory test.graph; ! #X connect 2 0 15 0; ! #X connect 2 0 27 0; ! #X connect 3 0 2 0; ! #X connect 4 0 2 0; ! #X connect 5 0 3 0; ! #X connect 6 0 5 0; ! #X connect 7 0 4 0; ! #X connect 8 0 13 0; ! #X connect 9 0 13 1; ! #X connect 10 0 13 2; ! #X connect 11 0 13 3; ! #X connect 12 0 13 4; ! #X connect 13 0 2 0; ! #X connect 14 0 8 0; ! #X connect 14 1 9 0; ! #X connect 14 2 10 0; ! #X connect 14 3 11 0; ! #X connect 14 4 12 0; ! #X connect 15 0 8 1; ! #X connect 15 0 23 0; ! #X connect 15 0 24 0; ! #X connect 15 1 9 1; ! #X connect 15 1 25 0; ! #X connect 15 2 10 1; ! #X connect 15 2 33 0; ! #X connect 15 3 11 1; ! #X connect 15 3 26 0; ! #X connect 15 4 12 1; ! #X connect 15 4 34 0; ! #X connect 16 0 18 0; ! #X connect 17 0 21 0; ! #X connect 18 0 79 0; ! #X connect 19 0 79 0; ! #X connect 20 0 79 0; ! #X connect 21 0 28 0; ! #X connect 22 0 14 0; ! #X connect 22 1 7 0; ! #X connect 23 0 5 0; ! #X connect 24 0 56 0; ! #X connect 25 0 56 0; ! #X connect 26 0 56 0; ! #X connect 28 0 29 0; ! #X connect 29 0 79 0; ! #X connect 30 0 28 1; ! #X connect 30 0 31 0; ! #X connect 32 0 57 0; ! #X connect 32 0 58 0; ! #X connect 32 0 59 0; ! #X connect 32 0 45 0; ! #X connect 33 0 56 0; ! #X connect 34 0 56 0; ! #X connect 35 0 36 0; ! #X connect 36 0 44 0; ! #X connect 37 0 30 0; ! #X connect 38 0 39 0; ! #X connect 38 0 43 0; ! #X connect 39 0 38 1; ! #X connect 40 0 41 0; ! #X connect 43 0 40 0; ! #X connect 44 0 21 0; ! #X connect 44 1 38 0; ! #X connect 46 0 47 0; ! #X connect 47 0 79 0; ! #X connect 48 0 46 0; ! #X connect 49 0 79 0; ! #X connect 51 0 53 0; ! #X connect 52 0 51 0; ! #X connect 53 0 79 0; ! #X connect 55 0 79 0; ! #X connect 56 0 61 0; ! #X connect 56 0 60 0; ! #X connect 57 0 61 0; ! #X connect 58 0 61 0; ! #X connect 59 0 61 0; ! #X connect 62 0 67 0; ! #X connect 62 1 68 0; ! #X connect 64 0 73 0; ! #X connect 65 0 74 0; ! #X connect 66 0 67 1; ! #X connect 66 0 68 1; ! #X connect 66 0 70 0; ! #X connect 67 0 64 0; ! #X connect 68 0 65 0; ! #X connect 69 0 78 0; ! #X connect 71 0 72 0; ! #X connect 71 0 73 1; ! #X connect 71 0 74 1; ! #X connect 73 0 63 0; ! #X connect 74 0 63 1; ! #X connect 75 0 77 0; ! #X connect 77 0 71 0; ! #X connect 78 0 66 0; ! #X connect 79 0 0 0; ! #X connect 79 0 5 1; ! #X connect 79 0 22 0; ! #X connect 79 0 46 1; ! #X connect 79 0 16 0; ! #X connect 79 0 51 1; ! #X connect 79 1 50 0; ! #X connect 79 2 54 0;
Index: makefile.darwin =================================================================== RCS file: /cvsroot/pure-data/externals/frankenstein/makefile.darwin,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** makefile.darwin 18 Oct 2005 23:10:53 -0000 1.1 --- makefile.darwin 12 Dec 2005 13:17:40 -0000 1.2 *************** *** 6,10 **** # ----------------------- Mac OSX -----------------------
! pd_darwin: chord_melo.pd_darwin
.SUFFIXES: .pd_darwin --- 6,10 ---- # ----------------------- Mac OSX -----------------------
! pd_darwin: chord_melo.pd_darwin rhythms_memory.pd_darwin test.pd_darwin GArhythm.pd_darwin
.SUFFIXES: .pd_darwin *************** *** 14,18 **** # leave it blank if it is a system directory (like /usr/local/include), # since gcc 3.2 complains about it ! PDPATH=/Users/Development/music/puredatacvs/devel_0_39/src #PDPATH=/Users/davidemorelli/Desktop/robaDavide/Pd-0.38-3.app/Contents/Resources/src/
--- 14,18 ---- # leave it blank if it is a system directory (like /usr/local/include), # since gcc 3.2 complains about it ! PDPATH=/Applications/PdOLD.app/Contents/Resources/src #PDPATH=/Users/davidemorelli/Desktop/robaDavide/Pd-0.38-3.app/Contents/Resources/src/
Index: bay.orc =================================================================== RCS file: /cvsroot/pure-data/externals/frankenstein/bay.orc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** bay.orc 18 Oct 2005 23:10:53 -0000 1.1 --- bay.orc 12 Dec 2005 13:17:40 -0000 1.2 *************** *** 1,418 **** ! ; ================================================================ ! ; Header ! ; ================================================================ ! sr=44100 ! kr=882 ! ksmps=50 ! nchnls=2 ! ! ; ================================================================ ! ; Globals ! ; ================================================================ ! zakinit 10,10 ! ! ; Global variable for the reverb unit ! ga1 init 0 ! ! ; ================================================================ ! ; Tables ! ; ================================================================ ! ; Waveform for the string-pad ! iwave ftgen 1, 0, 4096, 10, 1, .5, .33, .25, .0, .1, .1, .1 ! ! ; Senoid required by chorus ! isine ftgen 2, 0, 4096, 10, 1 ! ! ! ; ================================================================ ! ; Instruments ! ; ================================================================ ! ! ! instr 1 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz1" kpos invalue "pos1" ! kamp invalue "amp1" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ! instr 2 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz2" kpos invalue "pos2" ! kamp invalue "amp2" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! instr 3 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz3" kpos invalue "pos3" ! kamp invalue "amp3" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! instr 4 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz4" kpos invalue "pos4" ! kamp invalue "amp4" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ! ! ! ! ; strumento senza invalue ! ! instr 9 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ihz = p4 ! idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ipos = p6 ! iamp = ampdb(idb) ! ! ; modified by dmorelli ! ;kpos invalue "pos1" ! ;kamp invalue "amp1" ! ;kctrl = kamp*70 ! ;kctrl = ampdb(kctrl) ! ; Slow attack and release ! kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, ihz, 1 ; audio oscillator ! acel1 oscil kctrl, ihz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, ihz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! ippan = ipos*1.570796325 ; half of PI (radians of 90o angle) ! ipleft = cos(ippan) ; half sign "down" ! ipright = sin(ippan) ; half sign "up" ! asig1 = asig*ipleft; ! asig2 = asig*ipright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ; ================================================================ ! ; EFFECTS ! ; ================================================================ ! ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Chorus effect, borrowed from http://www.jlpublishing.com/Csound.htm ! ; I made some of its parameters accesible trhough score ! instr 10 ;Chorus ! ; Read input from zak ! a1 zar 1 ! a2 zar 2 ! idlyml=p4 ;delay in milliseconds ! k1 oscili idlyml/p5, 1, 2 ! ar1l vdelay3 a1, idlyml/5+k1, 900 ;delayed sound 1 ! ar1r vdelay3 a2, idlyml/5+k1, 900 ;delayed sound 1 ! k2 oscili idlyml/p5, .995, 2 ! ar2l vdelay3 a1, idlyml/5+k2, 700 ;delayed sound 2 ! ar2r vdelay3 a2, idlyml/5+k2, 700 ;delayed sound 2 ! k3 oscili idlyml/p5, 1.05, 2 ! ar3l vdelay3 a1, idlyml/5+k3, 700 ;delayed sound 3 ! ar3r vdelay3 a2, idlyml/5+k3, 700 ;delayed sound 3 ! k4 oscili idlyml/p5, 1, 2 ! ar4l vdelay3 a1, idlyml/5+k4, 900 ;delayed sound 4 ! ar4r vdelay3 a2, idlyml/5+k4, 900 ;delayed sound 4 ! aoutl = (a1+ar1l+ar2l+ar3l+ar4l)*.5 ! aoutr = (a2+ar1r+ar2r+ar3r+ar4r)*.5 ! ! ; To the output mixer ! zawm aoutl, 5 ! zawm aoutr, 6 ! ; and also to the reverb unit ! ga1 = ga1 + (aoutl+aoutr)*.5 ! endin ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Reverb ! ; 8 delay line FDN reverb, with feedback matrix based upon ! ; physical modeling scattering junction of 8 lossless waveguides ! ; of equal characteristic impedance. Based on Julius O. Smith III, ! ; "A New Approach to Digital Reverberation using Closed Waveguide ! ; Networks," Proceedings of the International Computer Music ! ; Conference 1985, p. 47-53 (also available as a seperate ! ; publication from CCRMA), as well as some more recent papers by ! ; Smith and others. ! ; ! ; Coded by Sean Costello, October 1999 ! instr 25 ;Reverb ! ; Note: ga1 is the global input to the reverb. ! afilt1 init 0 ! afilt2 init 0 ! afilt3 init 0 ! afilt4 init 0 ! afilt5 init 0 ! afilt6 init 0 ! afilt7 init 0 ! afilt8 init 0 ! idel1 = (2473.000/sr) ! idel2 = (2767.000/sr) ! idel3 = (3217.000/sr) ! idel4 = (3557.000/sr) ! idel5 = (3907.000/sr) ! idel6 = (4127.000/sr) ! idel7 = (2143.000/sr) ! idel8 = (1933.000/sr) ! ! ! igain = p4 ; gain of reverb. Adjust empirically ! ; for desired reverb time. .6 gives ! ; a good small "live" room sound, .8 ! ; a small hall, .9 a large hall, ! ; .99 an enormous stone cavern. ! ! ipitchmod = p5 ; amount of random pitch modulation ! ; for the delay lines. 1 is the "normal" ! ; amount, but this may be too high for ! ; held pitches such as piano tones. ! ; Adjust to taste. ! ! itone = p6 ; Cutoff frequency of lowpass filters ! ; in feedback loops of delay lines, ! ; in Hz. Lower cutoff frequencies results ! ; in a sound with more high-frequency ! ; damping. ! ! ; k1-k8 are used to add random pitch modulation to the ! ; delay lines. Helps eliminate metallic overtones ! ; in the reverb sound. ! k1 randi .001, 3.1, .06 ! k2 randi .0011, 3.5, .9 ! k3 randi .0017, 1.11, .7 ! k4 randi .0006, 3.973, .3 ! k5 randi .001, 2.341, .63 ! k6 randi .0011, 1.897, .7 ! k7 randi .0017, 0.891, .9 ! k8 randi .0006, 3.221, .44 ! ; apj is used to calculate "resultant junction pressure" for ! ; the scattering junction of 8 lossless waveguides ! ; of equal characteristic impedance. If you wish to ! ; add more delay lines, simply add them to the following ! ; equation, and replace the .25 by 2/N, where N is the ! ; number of delay lines. ! apj = .25 * (afilt1 + afilt2 + afilt3 + afilt4 + afilt5 + afilt6 + afilt7 + afilt8) ! ! ! adum1 delayr 1 ! adel1 deltapi idel1 + k1 * ipitchmod ! delayw ga1 + apj - afilt1 ! ! adum2 delayr 1 ! adel2 deltapi idel2 + k2 * ipitchmod ! delayw ga1 + apj - afilt2 ! ! adum3 delayr 1 ! adel3 deltapi idel3 + k3 * ipitchmod ! delayw ga1 + apj - afilt3 ! ! adum4 delayr 1 ! adel4 deltapi idel4 + k4 * ipitchmod ! delayw ga1 + apj - afilt4 ! ! adum5 delayr 1 ! adel5 deltapi idel5 + k5 * ipitchmod ! delayw ga1 + apj - afilt5 ! ! adum6 delayr 1 ! adel6 deltapi idel6 + k6 * ipitchmod ! delayw ga1 + apj - afilt6 ! ! adum7 delayr 1 ! adel7 deltapi idel7 + k7 * ipitchmod ! delayw ga1 + apj - afilt7 ! ! adum8 delayr 1 ! adel8 deltapi idel8 + k8 * ipitchmod ! delayw ga1 + apj - afilt8 ! ! ; 1st order lowpass filters in feedback ! ; loops of delay lines. ! afilt1 tone adel1 * igain, itone ! afilt2 tone adel2 * igain, itone ! afilt3 tone adel3 * igain, itone ! afilt4 tone adel4 * igain, itone ! afilt5 tone adel5 * igain, itone ! afilt6 tone adel6 * igain, itone ! afilt7 tone adel7 * igain, itone ! afilt8 tone adel8 * igain, itone ! ! ; The outputs of the delay lines are summed ! ; and sent to the stereo outputs. This could ! ; easily be modified for a 4 or 8-channel ! ; sound system. ! aout1 = (afilt1 + afilt3 + afilt5 + afilt7) ! aout2 = (afilt2 + afilt4 + afilt6 + afilt8) ! ;outs aout1, aout2 ! ; To the output mixer ! zawm aout1, 5 ! zawm aout2, 6 ! ga1 = 0 ! endin ! ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Output mixer ! ; It applies a bass enhancement, compression and fadeout ! ; to the whole piece, ! instr 30 ;Mixer ! ; Read input from zak ! a1 zar 5 ! a2 zar 6 ! ; Bass enhancement ! al1 butterlp a1, 100 ! al2 butterlp a2, 100 ! a1 = al1*1.5 +a1 ! a2 = al2*1.5 +a2 ! ! ; Global amplitude shape ! ; It applies a gain of p4 to the whole piece, and creates a ! ; fadeout the last p5 seconds ! kenv linseg p4, p3-p5, p4, p5, 0 ! a1=a1*kenv ! a2=a2*kenv ! ! ; Compression ! a1 dam a1, 5000, 0.5, 1, 0.2, 0.1 ! a2 dam a2, 5000, 0.5, 1, 0.2, 0.1 ! ! outs a1, a2 ! zacl 0, 10 ! endin ! --- 1,463 ---- ! ; ================================================================ ! ; Header ! ; ================================================================ ! sr=44100 ! kr=882 ! ksmps=50 ! nchnls=2 ! ! ; ================================================================ ! ; Globals ! ; ================================================================ ! zakinit 10,10 ! ! ; Global variable for the reverb unit ! ga1 init 0 ! ! ; ================================================================ ! ; Tables ! ; ================================================================ ! ; Waveform for the string-pad ! iwave ftgen 1, 0, 4096, 10, 1, .5, .33, .25, .0, .1, .1, .1 ! ! ; Senoid required by chorus ! isine ftgen 2, 0, 4096, 10, 1 ! ! ! ; ================================================================ ! ; Instruments ! ; ================================================================ ! ! ! instr 1 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz1" kpos invalue "pos1" ! kamp invalue "amp1" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ! instr 2 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz2" kpos invalue "pos2" ! kamp invalue "amp2" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! instr 3 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz3" kpos invalue "pos3" ! kamp invalue "amp3" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ! instr 4 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz4" kpos invalue "pos4" ! kamp invalue "amp4" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! instr 5 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ; ihz = p4 ! ; idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ; ipos = p6 ! ; iamp = ampdb(idb) ! ! ; modified by dmorelli ! khz invalue "hz5" ! kpos invalue "pos5" ! kamp invalue "amp5" ! kctrl = kamp*70 ! kctrl = ampdb(kctrl) ! ; Slow attack and release ! ; kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, khz, 1 ; audio oscillator ! acel1 oscil kctrl, khz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, khz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! kppan = kpos*1.570796325 ; half of PI (radians of 90o angle) ! kpleft = cos(kppan) ; half sign "down" ! kpright = sin(kppan) ; half sign "up" ! asig1 = asig*kpleft; ! asig2 = asig*kpright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ; live input per reverbero ! ! instr 8 ;live input ! asig1,asig2 ins ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ! ; strumento senza invalue ! ! instr 9 ;String pad ! ; String-pad borrwoed from the piece "Dorian Gray", ! ; http://akozar.spymac.net/music/ Modified to fit my needs ! ! ihz = p4 ! idb = p5/127 * 70 ; rescale MIDI velocity to 70db ! ipos = p6 ! iamp = ampdb(idb) ! ! ; modified by dmorelli ! ;kpos invalue "pos1" ! ;kamp invalue "amp1" ! ;kctrl = kamp*70 ! ;kctrl = ampdb(kctrl) ! ; Slow attack and release ! kctrl linseg 0, p3/4, iamp, p3/2, 0 ! ; Slight chorus effect ! afund oscil kctrl, ihz, 1 ; audio oscillator ! acel1 oscil kctrl, ihz - .1, 1 ; audio oscillator - flat ! acel2 oscil kctrl, ihz + .1, 1 ; audio oscillator - sharp ! asig = afund + acel1 + acel2 ! ! ; Cut-off high frequencies depending on midi-velocity ! ; (larger velocity implies more brighter sound) ! asig butterlp asig, (p5-60)*40+900 ! ! ; Panning ! ippan = ipos*1.570796325 ; half of PI (radians of 90o angle) ! ipleft = cos(ippan) ; half sign "down" ! ipright = sin(ippan) ; half sign "up" ! asig1 = asig*ipleft; ! asig2 = asig*ipright; ! ; To the chorus effect, through zak channels 1 and 2 ! zawm asig1, 1 ! zawm asig2, 2 ! endin ! ! ; ================================================================ ! ; EFFECTS ! ; ================================================================ ! ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Chorus effect, borrowed from http://www.jlpublishing.com/Csound.htm ! ; I made some of its parameters accesible trhough score ! instr 10 ;Chorus ! ; Read input from zak ! a1 zar 1 ! a2 zar 2 ! idlyml=p4 ;delay in milliseconds ! k1 oscili idlyml/p5, 1, 2 ! ar1l vdelay3 a1, idlyml/5+k1, 900 ;delayed sound 1 ! ar1r vdelay3 a2, idlyml/5+k1, 900 ;delayed sound 1 ! k2 oscili idlyml/p5, .995, 2 ! ar2l vdelay3 a1, idlyml/5+k2, 700 ;delayed sound 2 ! ar2r vdelay3 a2, idlyml/5+k2, 700 ;delayed sound 2 ! k3 oscili idlyml/p5, 1.05, 2 ! ar3l vdelay3 a1, idlyml/5+k3, 700 ;delayed sound 3 ! ar3r vdelay3 a2, idlyml/5+k3, 700 ;delayed sound 3 ! k4 oscili idlyml/p5, 1, 2 ! ar4l vdelay3 a1, idlyml/5+k4, 900 ;delayed sound 4 ! ar4r vdelay3 a2, idlyml/5+k4, 900 ;delayed sound 4 ! aoutl = (a1+ar1l+ar2l+ar3l+ar4l)*.5 ! aoutr = (a2+ar1r+ar2r+ar3r+ar4r)*.5 ! ! ; To the output mixer ! zawm aoutl, 5 ! zawm aoutr, 6 ! ; and also to the reverb unit ! ga1 = ga1 + (aoutl+aoutr)*.5 ! endin ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Reverb ! ; 8 delay line FDN reverb, with feedback matrix based upon ! ; physical modeling scattering junction of 8 lossless waveguides ! ; of equal characteristic impedance. Based on Julius O. Smith III, ! ; "A New Approach to Digital Reverberation using Closed Waveguide ! ; Networks," Proceedings of the International Computer Music ! ; Conference 1985, p. 47-53 (also available as a seperate ! ; publication from CCRMA), as well as some more recent papers by ! ; Smith and others. ! ; ! ; Coded by Sean Costello, October 1999 ! instr 25 ;Reverb ! ; Note: ga1 is the global input to the reverb. ! afilt1 init 0 ! afilt2 init 0 ! afilt3 init 0 ! afilt4 init 0 ! afilt5 init 0 ! afilt6 init 0 ! afilt7 init 0 ! afilt8 init 0 ! idel1 = (2473.000/sr) ! idel2 = (2767.000/sr) ! idel3 = (3217.000/sr) ! idel4 = (3557.000/sr) ! idel5 = (3907.000/sr) ! idel6 = (4127.000/sr) ! idel7 = (2143.000/sr) ! idel8 = (1933.000/sr) ! ! ! igain = p4 ; gain of reverb. Adjust empirically ! ; for desired reverb time. .6 gives ! ; a good small "live" room sound, .8 ! ; a small hall, .9 a large hall, ! ; .99 an enormous stone cavern. ! ! ipitchmod = p5 ; amount of random pitch modulation ! ; for the delay lines. 1 is the "normal" ! ; amount, but this may be too high for ! ; held pitches such as piano tones. ! ; Adjust to taste. ! ! itone = p6 ; Cutoff frequency of lowpass filters ! ; in feedback loops of delay lines, ! ; in Hz. Lower cutoff frequencies results ! ; in a sound with more high-frequency ! ; damping. ! ! ; k1-k8 are used to add random pitch modulation to the ! ; delay lines. Helps eliminate metallic overtones ! ; in the reverb sound. ! k1 randi .001, 3.1, .06 ! k2 randi .0011, 3.5, .9 ! k3 randi .0017, 1.11, .7 ! k4 randi .0006, 3.973, .3 ! k5 randi .001, 2.341, .63 ! k6 randi .0011, 1.897, .7 ! k7 randi .0017, 0.891, .9 ! k8 randi .0006, 3.221, .44 ! ; apj is used to calculate "resultant junction pressure" for ! ; the scattering junction of 8 lossless waveguides ! ; of equal characteristic impedance. If you wish to ! ; add more delay lines, simply add them to the following ! ; equation, and replace the .25 by 2/N, where N is the ! ; number of delay lines. ! apj = .25 * (afilt1 + afilt2 + afilt3 + afilt4 + afilt5 + afilt6 + afilt7 + afilt8) ! ! ! adum1 delayr 1 ! adel1 deltapi idel1 + k1 * ipitchmod ! delayw ga1 + apj - afilt1 ! ! adum2 delayr 1 ! adel2 deltapi idel2 + k2 * ipitchmod ! delayw ga1 + apj - afilt2 ! ! adum3 delayr 1 ! adel3 deltapi idel3 + k3 * ipitchmod ! delayw ga1 + apj - afilt3 ! ! adum4 delayr 1 ! adel4 deltapi idel4 + k4 * ipitchmod ! delayw ga1 + apj - afilt4 ! ! adum5 delayr 1 ! adel5 deltapi idel5 + k5 * ipitchmod ! delayw ga1 + apj - afilt5 ! ! adum6 delayr 1 ! adel6 deltapi idel6 + k6 * ipitchmod ! delayw ga1 + apj - afilt6 ! ! adum7 delayr 1 ! adel7 deltapi idel7 + k7 * ipitchmod ! delayw ga1 + apj - afilt7 ! ! adum8 delayr 1 ! adel8 deltapi idel8 + k8 * ipitchmod ! delayw ga1 + apj - afilt8 ! ! ; 1st order lowpass filters in feedback ! ; loops of delay lines. ! afilt1 tone adel1 * igain, itone ! afilt2 tone adel2 * igain, itone ! afilt3 tone adel3 * igain, itone ! afilt4 tone adel4 * igain, itone ! afilt5 tone adel5 * igain, itone ! afilt6 tone adel6 * igain, itone ! afilt7 tone adel7 * igain, itone ! afilt8 tone adel8 * igain, itone ! ! ; The outputs of the delay lines are summed ! ; and sent to the stereo outputs. This could ! ; easily be modified for a 4 or 8-channel ! ; sound system. ! aout1 = (afilt1 + afilt3 + afilt5 + afilt7) ! aout2 = (afilt2 + afilt4 + afilt6 + afilt8) ! ;outs aout1, aout2 ! ; To the output mixer ! zawm aout1, 5 ! zawm aout2, 6 ! ga1 = 0 ! endin ! ! ! ; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! ; Output mixer ! ; It applies a bass enhancement, compression and fadeout ! ; to the whole piece, ! instr 30 ;Mixer ! ; Read input from zak ! a1 zar 5 ! a2 zar 6 ! ; Bass enhancement ! al1 butterlp a1, 100 ! al2 butterlp a2, 100 ! a1 = al1*1.5 +a1 ! a2 = al2*1.5 +a2 ! ! ; Global amplitude shape ! ; It applies a gain of p4 to the whole piece, and creates a ! ; fadeout the last p5 seconds ! kenv linseg p4, p3-p5, p4, p5, 0 ! a1=a1*kenv ! a2=a2*kenv ! ! ; Compression ! a1 dam a1, 5000, 0.5, 1, 0.2, 0.1 ! a2 dam a2, 5000, 0.5, 1, 0.2, 0.1 ! ! outs a1, a2 ! zacl 0, 10 ! endin !