Пример #1
0
def notate_score(musician_names, instrument_names, music):
    score = Score()

    for musician_name, instrument_name in zip(musician_names,
                                              instrument_names):
        instrument = get_instrument(instrument_name)
        instrument.partName = instrument.instrumentName
        instrument.partAbbreviation = instrument.instrumentAbbreviation

        parts = []
        part = Part()
        parts.append(part)
        part.insert(0, instrument)

        score.insert(0, part)
        score.insert(0, StaffGroup(parts))

        notes = music[musician_name]

        for pitches in notes:
            if not pitches or pitches == 'stop':
                note = Rest()
            elif len(pitches) == 1:
                pitch = Pitch(pitches[0] + 60)
                note = Note(pitch)
            else:
                note = Chord(notes=[Pitch(p + 60) for p in pitches])

            duration = Duration()
            duration.fill([4.0])
            note.duration = duration

            part.append(note)

    score.show('musicxml', '/Applications/Sibelius 7.5.app')
Пример #2
0
        #     new[0] += normal(dur[0], dur[1])
        #     new[1] += normal(freq[0], freq[1])
        notes.append(new)

        total_dur += new[0]

    return MIDIReader.list_to_stream(notes)

if __name__ == '__main__':

    snn = SonataNeuralNetwork()
    for midi in listdir(music_dir):
        print midi
        snn.read(path.join(music_dir, midi))
    print 'training'
    t_net, b_net = snn.train_network()

    # snn.append_errors()
    # td, tf, bd, bf = snn.get_error_vals()

    treble = stream_from_notes([[1, log(261.6)], [1, log(329.6)], [1, log(392)], [1, log(329.6)], [1, log(392)], [1, log(523.3)]], t_net)
    treble.insert(0, clef.TrebleClef())
    bass = stream_from_notes([[0.5, log(130.8)], [0.5, log(164.8)], [0.5, log(196)], [1, log(261.6)], [0.5, log(196)], [1, log(164.8)]], b_net)
    bass.insert(0, clef.BassClef())
    s = Score()
    s.append(treble)
    s.append(bass)
    bass.offset = 0

    s.show()
Пример #3
0
from music21.instrument import fromString as get_instrument
from music21.clef import BassClef

timestamp = datetime.datetime.utcnow()
metadata = Metadata()
metadata.title = 'The Title'
metadata.composer = 'Jonathan Marmor'
metadata.date = timestamp.strftime('%Y/%m/%d')

score = Score()
score.insert(0, metadata)

part = Part()
parts = [part]

oboe = get_instrument('oboe')
part.insert(0, oboe)
score.insert(0, part)
score.insert(0, StaffGroup(parts))

for dur in [[1, .5], [.25], [.25, 2]]:
    pitch = Pitch(60)
    note = Note(pitch)
    duration = Duration()
    duration.fill(dur)
    note.duration = duration

    part.append(note)

score.show('musicxml', '/Applications/Sibelius 7.5.app')
Пример #4
0
    return MIDIReader.list_to_stream(notes)


if __name__ == '__main__':

    snn = SonataNeuralNetwork()
    for midi in listdir(music_dir):
        print midi
        snn.read(path.join(music_dir, midi))
    print 'training'
    t_net, b_net = snn.train_network()

    # snn.append_errors()
    # td, tf, bd, bf = snn.get_error_vals()

    treble = stream_from_notes(
        [[1, log(261.6)], [1, log(329.6)], [1, log(392)], [1, log(329.6)],
         [1, log(392)], [1, log(523.3)]], t_net)
    treble.insert(0, clef.TrebleClef())
    bass = stream_from_notes(
        [[0.5, log(130.8)], [0.5, log(164.8)], [0.5, log(196)],
         [1, log(261.6)], [0.5, log(196)], [1, log(164.8)]], b_net)
    bass.insert(0, clef.BassClef())
    s = Score()
    s.append(treble)
    s.append(bass)
    bass.offset = 0

    s.show()