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)
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
    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
Esempio n. 5
0
    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)