def __init__(self): self.list = [] #Fours instObj = cs.Drums() instObj.setHihat( [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], True) instObj.setSnare( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) self.list.append(instObj) #Eights instObj = cs.Drums() instObj.setHihat( [-2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], True) instObj.setSnare( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setKick( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) self.list.append(instObj) #Sixteens instObj = cs.Drums() instObj.setHihat([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) instObj.setSnare([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) instObj.setKick([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) self.list.append(instObj)
def fourBeat(self, chordProg): drumObj = cs.Drums() idx = -1 #8 hihatScore = np.tile(self._patterns[idx].hihat, len(chordProg)) snareScore = np.tile(self._patterns[idx].snare, len(chordProg)) kickScore = np.tile(self._patterns[idx].kick, len(chordProg)) drumObj.setHihat(hihatScore) drumObj.setSnare(snareScore) drumObj.setKick(kickScore) return drumObj
def eightBeat(self, chordProg): drumObj = cs.Drums() idx = np.random.randint(0, 3, 1)[0] hihatScore = np.tile(self._patterns[idx].hihat, len(chordProg)) snareScore = np.tile(self._patterns[idx].snare, len(chordProg)) kickScore = np.tile(self._patterns[idx].kick, len(chordProg)) drumObj.setHihat(hihatScore) drumObj.setSnare(snareScore) drumObj.setKick(kickScore) return drumObj
def breaka(self, chordProg): drumObj = cs.Drums() score = [ -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ] hihatScore = np.tile(score, len(chordProg)) snareScore = np.tile(score, len(chordProg)) kickScore = np.tile(score, len(chordProg)) drumObj.setHihat(hihatScore) drumObj.setSnare(snareScore) drumObj.setKick(kickScore) return drumObj
def snareRoll(self, chordProg): """ 実質的には self._notePerBar_n = 16 が前提になっている。 """ drumObj = cs.Drums() silent_length = len(chordProg) * self._notePerBar_n silent = np.full(silent_length, -2) snare = np.tile(self._fills[0].snare, len(chordProg)) snare[-4 * self._notePerBar_n:-2 * self._notePerBar_n] = np.tile( self._fills[1].snare, 2) snare[-2 * self._notePerBar_n:len(snare)] = np.tile( self._fills[2].snare, 2) drumObj.setHihat(snare) drumObj.setSnare(snare) drumObj.setKick(snare) return drumObj
def __init__(self): self.list = [] #Rock Beat instObj = cs.Drums() instObj.setHihat( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) #Funk Beat instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) #Dance Beat instObj = cs.Drums() instObj.setHihat( [-1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [-1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1], True) instObj.setSnare( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) self.list.append(instObj) #Punk beat instObj = cs.Drums() instObj.setHihat( [0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1], True) instObj.setSnare( [-1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1], True) instObj.setKick( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1], True) instObj.setSnare( [-1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1], True) instObj.setKick( [0, -1, -1, -1, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1], True) instObj.setSnare( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [-1, -1, -0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1, 0, -1, 1, -1], True) instObj.setSnare( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [-1, -1, -0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1, 0, -1], True) self.list.append(instObj) """ #打ち込み系は下の参照 https://www.youtube.com/watch?v=tm2BgO1VaRY https://docs.google.com/spreadsheets/d/19_3BxUMy3uy1Gb0V8Wc-TcG7q16Amfn6e8QVw4-HuD0/edit#gid=0 """ #Breakbeats #8step instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) #16step instObj = cs.Drums() instObj.setHihat([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0], True) instObj.setKick( [0, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) #32step instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, -1, -1, 0], True) self.list.append(instObj) #64step instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -0, -1, 0, -1, -1, 0, -1, -1, 0], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -0, -1, 0, -1, -1, -1, -1, 0, -1], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, 0, -1, -1, 0, -1, -1, -0, -1, 0, -1, -1, -1, -1, 0, -1], True) instObj.setKick( [-1, -1, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0], True) instObj.setKick( [0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1], True) self.list.append(instObj) #Rock instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1], True) self.list.append(instObj) #Techno instObj = cs.Drums() instObj.setHihat( [-1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1], True) self.list.append(instObj) #HipHop instObj = cs.Drums() instObj.setHihat( [0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1], True) instObj.setSnare( [-1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1], True) instObj.setKick( [0, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0], True) self.list.append(instObj) #Yotsu-uchi instObj = cs.Drums() instObj.setHihat( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) instObj.setSnare( [-1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1], True) instObj.setKick( [0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1], True) self.list.append(instObj)