def generate(self): print('CREATING MUSIC MODEL...') ##sys.path.append('d:/utah/home/mkg/projects/icmc2009-mkg') sys.path.append('/home/mkg/Dropbox/studio') import GeneralizedContextualGroup gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.setAxiom('S(0,3,7,11,14) R60 WV A') gcg.addRule( 'A', 'V+8 K WV Q7 K D-1.5 WC V+9 WC V-7 WC V+11 A D-2 B D+2 D+1.5 L+ K WV A L- Q7 WV A' ) gcg.addRule('B', 'V+8 WV Q3 V+8 WV B') gcg.setIterationCount(4) gcg.debug = True gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 rescale.setRescale(CsoundAC.Event.TIME, True, False, 1, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, False, 1, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 36, 60) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 15, 12) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.875, 1.75) # random.addChild(lindenmayer) rescale.addChild(gcg) self.model.addChild(rescale) print
def addVoiceleadingTest(sequence, voiceleadingNode, duration): random = CsoundVST.Random() random.thisown = 0 random.createDistribution("uniform_01") random.eventCount = 200 random.setElement(CsoundVST.Event.INSTRUMENT, 11, 1) random.setElement(CsoundVST.Event.TIME, 11, 1) random.setElement(CsoundVST.Event.DURATION, 11, 1) random.setElement(CsoundVST.Event.KEY, 11, 1) random.setElement(CsoundVST.Event.VELOCITY, 11, 1) random.setElement(CsoundVST.Event.PAN, 11, 1) rescale = CsoundVST.Rescale() rescale.setRescale(CsoundVST.Event.INSTRUMENT, 1, 1, 1.0, 4.0) rescale.setRescale(CsoundVST.Event.TIME, 1, 1, 1.0, duration) rescale.setRescale(CsoundVST.Event.DURATION, 1, 1, 0.25, 1.0) rescale.setRescale(CsoundVST.Event.STATUS, 1, 1, 144.0, 0.0) rescale.setRescale(CsoundVST.Event.KEY, 1, 1, 36.0, 60.0) rescale.setRescale(CsoundVST.Event.VELOCITY, 1, 1, 60.0, 9.0) rescale.setRescale(CsoundVST.Event.PAN, 1, 1, -0.25, 1.5) rescale.addChild(random) rescale.thisown = 0 voiceleading.normalizeTimes = True voiceleading.thisown = 0 voiceleading.addChild(rescale) sequence.addChild(voiceleading)
def addVoiceleadingTest(sequence, voiceleadingNode, duration): print 'ADDING TEST...' random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_01") random.eventCount = 200 random.setElement(CsoundAC.Event.INSTRUMENT, 11, 1) random.setElement(CsoundAC.Event.TIME, 11, 1) random.setElement(CsoundAC.Event.DURATION, 11, 1) random.setElement(CsoundAC.Event.KEY, 11, 1) random.setElement(CsoundAC.Event.VELOCITY, 11, 1) random.setElement(CsoundAC.Event.PAN, 11, 1) rescale = CsoundAC.Rescale() rescale.setRescale(CsoundAC.Event.INSTRUMENT, 1, 1, 1., 4.) rescale.setRescale(CsoundAC.Event.TIME, 1, 1, 1., duration) rescale.setRescale(CsoundAC.Event.DURATION, 1, 1, 0.25, 1.) rescale.setRescale(CsoundAC.Event.STATUS, 1, 1, 144., 0.) rescale.setRescale(CsoundAC.Event.KEY, 1, 1, 36., 60.) rescale.setRescale(CsoundAC.Event.VELOCITY, 1, 1, 60., 9.) rescale.setRescale(CsoundAC.Event.PAN, 1, 1, -0.25, 1.5) rescale.addChild(random) rescale.thisown = 0 voiceleading.normalizeTimes = True voiceleading.thisown = 0 voiceleading.addChild(rescale) sequence.addChild(voiceleading)
def generate18(self): # mkg-2009-12-24-a gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.thisown = 0 gcg.setAxiom('S(0,4,7,10) R36 V+ V+8 WV V-6 WV B') gcg.addRule( 'B', 'B Q2 WV V+2 W Q2 WV V+1 W V+3 V+ WV V-3 Q7 WV D- WV Q5 D+ D+ WV K D- D- B D+' ) gcg.setIterationCount(7) gcg.debug = True gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 ### rescale.setRescale( CsoundAC.Event.TIME, 1, 0, 1, 120 ) rescale.setRescale(CsoundAC.Event.TIME, True, False, 20, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, False, 1, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 42, 36) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 30, 12) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.875, 1.75) # random.addChild(lindenmayer) rescale.addChild(gcg) self.sequence.addChild(rescale) print
def generate9(self): # mkg-2009-01-10-c gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.thisown = 0 gcg.setAxiom('S(0,3,7,11,14) R48 WV B') gcg.addRule( 'A', 'V+8 K WV Q7 K D-1.5 WC V+9 WC V-7 WC V+11 A D-3 B D+3 D+1.5 L+ K WV A L- Q7 WV A' ) gcg.addRule( 'B', 'V+8 WC V-7 WC V+8 WC V-7 WC V+8 WC V-7 WC B B B K WV V+8 WC V-7 WC B B B Q7 WV V+8 WC V-7 WC B B B' ) gcg.setIterationCount(3) gcg.debug = True gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 # rescale.setRescale( CsoundAC.Event.TIME, True, False, 1, 120 ) rescale.setRescale(CsoundAC.Event.TIME, True, False, 20, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, False, 1, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 48, 36) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 15, 12) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.875, 1.75) # random.addChild(lindenmayer) rescale.addChild(gcg) self.sequence.addChild(rescale) print
def generate13(self): # mkg-2008-12-25-b gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.thisown = 0 gcg.setAxiom('S(0,3,7,10,14) R36 WC A') gcg.addRule('A', 'K WC Q7 K WC A') gcg.setIterationCount(9) gcg.debug = True gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 ### rescale.setRescale( CsoundAC.Event.TIME, 1, 0, 1, 120 ) rescale.setRescale(CsoundAC.Event.TIME, True, False, 20, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, False, 1, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 60, 36) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 30, 12) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.875, 1.75) # random.addChild(lindenmayer) rescale.addChild(gcg) self.sequence.addChild(rescale) print
def generate4(self): # mkg-2009-02-03-b gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.thisown = 0 gcg.setAxiom( 'R48 D/4 pcs1 ar1 a1 c dD+ pcs2 ar2 a2 c dD- pcs3 ar3 a3 c pcs4 ar4 a4 c a4 pcs3 c dD- ar3 a3 c pcs2 ar2 a2 c pcs1 dD+ ar1 a1 c c' ) #gcg.addRule('dD+', 'D*1.01 dD+') #gcg.addRule('dD-', 'D/1.01 dD-') gcg.addRule('dL+', 'L*1.02 dL+') gcg.addRule('dL-', 'L/1.02 dL-') gcg.addRule('ar1', 'I0=0 I1=1 I2=10 I3=11 I4=4 I5=5') gcg.addRule('ar2', 'I0=0 I1=1 I2=2 I3=3 I4=4 I5=5') gcg.addRule('ar3', 'I0=2 I1=3 I2=12 I3=13 I4=4 I5=5') gcg.addRule('ar4', 'I0=2 I1=12 I2=4 I3=14 I4=3 I5=3') gcg.addRule('c', 'd d') # Quartal gcg.addRule('pcs1', 'P(0,5,10,15)') # Major gcg.addRule('pcs2', 'P(0,4,7,11)') # Minor gcg.addRule('pcs3', 'P(0,3,7,10)') # Major gcg.addRule('pcs4', 'P(0,4,7,11)') gcg.addRule( 'd', ' WV WV WV WV WV WV WV WV ' ) gcg.addRule('a1', 'ck1 dD- cq1 a1 a1') gcg.addRule( 'ck1', 'K WV WV WV WV WV WV WV WV ' ) gcg.addRule( 'cq1', 'Q7 K WV WV WV WV WV WV WV WV ' ) gcg.addRule('a2', 'dL+ ck2 dL- cq2 a2 a2') gcg.addRule( 'ck2', 'K WV WV WV dD+ WV V+8 WC WC WC WC ') gcg.addRule( 'cq2', 'Q1 K WV WV WV dD- WV V+8 WV WV WV WV ') gcg.addRule('a3', 'ck3 dL+ cq3 dL- a3 a3 ') gcg.addRule( 'ck3', 'K WV WV V+5 WC WC V+4 WC dL- WC V+5 WC WC ') gcg.addRule( 'cq3', 'Q5 K WV WV V+5 WC WC Q7 WV dL+ WV V+5 WC WC ') gcg.addRule('a4', 'ck4 dD- cq4 a4 dD+ a4') gcg.addRule( 'ck4', 'K WV V+1 WC V+1 WC V+1 WC V+1 WC V+1 WC V+1 WC V+2 WC ' ) gcg.addRule( 'cq4', 'Q3 K WV V+1 WV V+1 WC V+1 WC V+1 WC V+1 WC V+1 WC V+1 WC ' ) gcg.setIterationCount(5) gcg.debug = True gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 rescale.setRescale(CsoundAC.Event.TIME, True, False, 20, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, False, 0, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 39, 36) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 46, 14) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.95, 1.90) # random.addChild(lindenmayer) self.sequence.addChild(rescale) print
def generate6(self): # mkg-2009-02-03-d gcg = GeneralizedContextualGroup.GeneralizedContextualGroup() gcg.thisown = 0 ### gcg.setAxiom('R48 D/4 pcs1 ar1 a1 c dD+ pcs2 ar2 a2 c dD- pcs3 ar3 a3 c pcs4 ar4 a4 c a4 pcs3 c dD- ar3 a3 c pcs2 ar2 a2 c pcs1 dD+ ar1 a1 c c') gcg.setAxiom( 'R48 D/4 pcs1 T5 c dD+ pcs2 a2 c dD- pcs3 c pcs4 a4 c pcs4 c dD- a3 c pcs2 pcs1 dD+ d ' ) gcg.addRule('dL+', 'L*1.02 dL+') gcg.addRule('dL-', 'L/1.02 dL-') gcg.addRule('c', 'd d') # Quartal gcg.addRule('pcs1', 'P(0,5,10,15)') # Major gcg.addRule('pcs2', 'P(0,4,7,11)') # Minor gcg.addRule('pcs3', 'P(0,3,7,10)') # Major gcg.addRule('pcs4', 'P(0,4,7,11)') gcg.addRule( 'd', ' WV WV WV WV WV WV WV WV ' ) gcg.addRule('a1', 'ck1 dD- cq1 a1 a1') gcg.addRule( 'ck1', 'K WV WV WV WV WV WV WV WV ' ) gcg.addRule( 'cq1', 'Q7 K WV WV WV WV WV WV WV WV ' ) gcg.addRule( 'ck2', 'K WV WV WV dD+ WV V+3 WC WC WC WC ' ) gcg.addRule( 'cq2', 'Q1 K WV WV WV dD- WV V+1 WV WV WV WV ' ) gcg.addRule('a3', 'ck3 dL+ cq3 dL- a3 cq3 a3 ') gcg.addRule( 'ck3', 'K WV WV V+1 WC WC V-1 WC dL- WC V+2 WC WC ' ) gcg.addRule( 'cq3', 'Q5 K WV WV V+2 WC WC Q7 WV dL+ WV V+8 WC WV ' ) gcg.addRule( 'ck4', 'K WV V+1 WC V-2 WC V+1 WC V+1 WC V*3 WC V+1 WC V+1 WC ' ) gcg.addRule( 'cq4', 'Q3 K WV V+1 WV V+1 WC WC V+1 WC V+1 WC V+1 WC V+2 WC ' ) gcg.setIterationCount(5) gcg.debug = True gcg.generate() gcg.generate() random = CsoundAC.Random() random.thisown = 0 random.createDistribution("uniform_real") random.setElement(7, 11, 1) rescale = CsoundAC.Rescale() rescale.thisown = 0 ### rescale.setRescale( CsoundAC.Event.TIME, 1, 0, 1, 120 ) rescale.setRescale(CsoundAC.Event.TIME, True, False, 4, 120) rescale.setRescale(CsoundAC.Event.DURATION, False, False, 0.25, 1.0) rescale.setRescale(CsoundAC.Event.INSTRUMENT, True, True, 3, 0) rescale.setRescale(CsoundAC.Event.KEY, True, False, 39, 36) rescale.setRescale(CsoundAC.Event.VELOCITY, True, True, 43, 14) rescale.setRescale(CsoundAC.Event.PAN, True, True, -0.95, 1.90) # random.addChild(lindenmayer) rescale.addChild(gcg) self.sequence.addChild(rescale) print