Exemplo n.º 1
0
 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 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
Exemplo n.º 5
0
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 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 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