diff options
author | Nat <natcl@hotmail.com> | 2007-09-13 16:01:09 (GMT) |
---|---|---|
committer | Nat <natcl@hotmail.com> | 2007-09-13 16:01:09 (GMT) |
commit | 6d7e6f83bec91d4c3e49fe64d7793f12d1d3509b (patch) | |
tree | 013613f48b4f4a3f91d3ea9f1c0511153cd6f2b4 /Jam/GenRythm.py | |
parent | e12dbff4dda5aafbaac98f75f0467ef00dc06c32 (diff) |
split
Diffstat (limited to 'Jam/GenRythm.py')
-rw-r--r-- | Jam/GenRythm.py | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/Jam/GenRythm.py b/Jam/GenRythm.py deleted file mode 100644 index d0e23e3..0000000 --- a/Jam/GenRythm.py +++ /dev/null @@ -1,80 +0,0 @@ -import random -import Config - -from Generation.GenerationConstants import GenerationConstants -from Generation.Utils import * - -class GenRythm: - def drumRythmSequence(self, instrumentName, nbeats, density, regularity ): - rythmSequence = [] - binSelection = [] - downBeats = [] - upBeats = [] - beats = [] - countDown = 0 - onsetTime = None - - if Config.INSTRUMENTS[instrumentName].instrumentRegister == Config.PUNCH: - registerDensity = 0.5 - downBeatRecurence = 4 - downBeats = [x for x in GenerationConstants.DRUM_PUNCH_ACCENTS[ nbeats ]] - for downBeat in downBeats: - upBeats.append( downBeat + Config.TICKS_PER_BEAT / 2 ) - - if Config.INSTRUMENTS[instrumentName].instrumentRegister == Config.LOW: - registerDensity =1 - downBeatRecurence = 4 - downBeats = [x for x in GenerationConstants.DRUM_LOW_ACCENTS[ nbeats ]] - for downBeat in downBeats: - upBeats.append( downBeat + Config.TICKS_PER_BEAT / 2 ) - - if Config.INSTRUMENTS[instrumentName].instrumentRegister == Config.MID: - registerDensity = .75 - downBeatRecurence = 1 - downBeats = [x for x in GenerationConstants.DRUM_MID_ACCENTS[ nbeats ]] - for downBeat in downBeats: - upBeats.append( downBeat + Config.TICKS_PER_BEAT / 4 ) - - if Config.INSTRUMENTS[instrumentName].instrumentRegister == Config.HIGH: - registerDensity = 1.5 - downBeatRecurence = 1 - downBeats = [x for x in GenerationConstants.DRUM_HIGH_ACCENTS[ nbeats ]] - for downBeat in downBeats: - upBeats.append( downBeat + Config.TICKS_PER_BEAT / 4 ) - - realDensity = density * registerDensity - if realDensity > 1.: - realDensity = 1. - - list = range( int( realDensity * len( downBeats ) ) ) - for i in list: - if random.random() < ( regularity * downBeatRecurence ) and binSelection.count( 1 ) < len( downBeats ): - binSelection.append( 1 ) - else: - if binSelection.count( 0 ) < len( downBeats ): - binSelection.append( 0 ) - else: - binSelection.append( 1 ) - - countDown = binSelection.count( 1 ) - - length = len(downBeats) - 1 - for i in range( countDown ): - ran1 = random.randint(0, length) - ran2 = random.randint(0, length) - randMin = min(ran1, ran2) - onsetTime = downBeats.pop(randMin) - rythmSequence.append( onsetTime ) - length -= 1 - - length = len(upBeats) - 1 - for i in range( len( binSelection ) - countDown ): - ran1 = random.randint(0, length) - ran2 = random.randint(0, length) - randMin = min(ran1, ran2) - onsetTime = upBeats.pop(randMin) - rythmSequence.append( onsetTime ) - length -= 1 - - rythmSequence.sort() - return rythmSequence |