Update of /cvsroot/pure-data/externals/frankenstein/patches In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2493/patches
Added Files: SHOWME.pd bay.orc test-harmonizer2.pd test.graph Log Message: initial checkin
--- NEW FILE: test.graph --- (This appears to be a binary file; contents omitted.)
--- NEW FILE: SHOWME.pd --- #N canvas 203 60 777 510 12; #X obj 572 56 chord_melo_test2; #X obj 531 85 tabwrite src; #X obj 644 87 tabwrite dest; #N canvas 0 0 450 300 graph25 0; #X array src 16 float 1; #A 0 55 59 62 60 52 50 48 47 48 55 57 59 60 55 52 48; #X array dest 16 float 1; #A 0 41 67 72 57 55 53 46 44 55 64 40 72 76 62 42 60; #X coords 0 127 15 0 400 250 1; #X restore 75 32 graph; #X obj 572 38 tgl 15 0 empty empty START 0 -6 0 8 -258699 -1 -1 1 1 ; #X floatatom 550 138 5 0 0 0 - - -; #X floatatom 596 138 5 0 0 0 - - -; #X floatatom 648 137 5 0 0 0 - - -; #X obj 591 279 tgl 15 0 toggleSRC empty src 0 -6 0 8 -262144 -1 -1 1 1; #X obj 627 279 tgl 15 0 toggleOUT empty out 0 -6 0 8 -262144 -1 -1 0 1; #X connect 0 0 1 0; #X connect 0 0 5 0; #X connect 0 1 2 0; #X connect 0 1 6 0; #X connect 0 2 1 1; #X connect 0 2 2 1; #X connect 0 2 7 0; #X connect 4 0 0 0;
--- NEW FILE: test-harmonizer2.pd --- #N canvas 74 28 903 675 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 153 97 symbol; #X obj 98 43 bng 15 250 50 0 empty empty change_chord 0 -6 0 8 -262144 -1 -1; #X msg 153 121 set $1; #N canvas 0 0 706 416 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 423 135 pd midi; #N canvas 0 0 454 304 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 340 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 2900 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 1 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 220 96 symbol; #X msg 220 124 tonality $1; #X obj 220 72 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 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 1 56 0;
--- NEW FILE: bay.orc --- ; ================================================================ ; 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