コード例 #1
0
def __get_abstract_grammars(measures, chords):
    # extract grammars
    abstract_grammars = []
    for ix in range(0, len(measures) - 1):
        m = stream.Voice()

        # Avoid repetitions that results in an insersion error
        testSet = set()
        for i in measures[ix]:
            testStr = str(i.offset) + str(i)
            if testStr in testSet:
                continue
            m.insert(i.offset, i)
            testSet.add(testStr)

        c = stream.Voice()
        testSet = set()
        for j in chords[ix]:
            testStr = str(j.offset) + str(j)
            if testStr in testSet:
                continue
            c.insert(j.offset, j)
            testSet.add(testStr)

        parsed = parse_melody(m, c)

        # Ignore zero-length measure / chords
        if parsed != None:
            abstract_grammars.append(parsed)

    return abstract_grammars
コード例 #2
0
def __get_abstract_grammars(measures, chords):
    # extract grammars
    abstract_grammars = []
    for ix in range(1, len(measures)):
        m = stream.Voice()
        for i in measures[ix]:
            m.insert(i.offset, i)
        c = stream.Voice()
        for j in chords[ix]:
            c.insert(j.offset, j)
        parsed = parse_melody(m, c)
        abstract_grammars.append(parsed)

    return abstract_grammars
コード例 #3
0
ファイル: preprocess.py プロジェクト: NoahDragon/CodeLab
def __get_abstract_grammars(measures, chords):
    # extract grammars
    abstract_grammars = []
    for ix in range(1, len(measures)):
        m = stream.Voice()
        for i in measures[ix]:
            m.insert(i.offset, i)
        c = stream.Voice()
        for j in chords[ix]:
            c.insert(j.offset, j)
        parsed = parse_melody(m, c)
        abstract_grammars.append(parsed)

    return abstract_grammars