这段代码创建了一个音乐乐谱并将其保存为 MIDI
文件,其中包含一个乐器和多个小节。每个小节中包含四个音符或和弦,然后将小节添加到乐谱中。最后,将乐谱写入 MIDI 文件。首先,通过导入 music21 库来使用它的功能。
import music21
然后,创建一个乐谱对象。
score = music21.stream.Score()
接下来,创建一个乐器对象,并将其添加到乐谱中。
one_part = music21.stream.Part()
score.append(one_part)
然后,创建一系列小节,并将其添加到乐谱中。每个小节包含四个音符或和弦。
for i in range(100):
one_measure = music21.stream.Measure(number=i)
for j in range(4):
one_chord = music21.chord.Chord([music21.note.Note("E3", duration=music21.duration.Duration(1)),
music21.note.Note("C4", duration=music21.duration.Duration(1))])
one_measure.append(one_chord)
one_part.append(one_measure)
最后,将乐谱写入 MIDI 文件。
score.write("midi", "s.mid")
这是一个简单的示例,可以根据需要进行修改和扩展。可以使用 music21 库的其他功能来创建不同的音符、和弦、乐器等,并调整乐谱的各个方面
import music21
# 整个乐谱
score = music21.stream.Score()
# 一个乐器
one_part = music21.stream.Part()
for i in range(100): # 100 段
# 一个小节
one_measure = music21.stream.Measure(number=i)
for j in range(4): # 4 音符
# 不同的音符
one_note = music21.note.Note("F5#", duration=music21.duration.Duration(1))
one_chord = music21.chord.Chord([music21.note.Note("E3", duration=music21.duration.Duration(1)),
music21.note.Note("C4", duration=music21.duration.Duration(1))])
one_rest = music21.note.Rest(duration=music21.duration.Duration(1))
one_measure.append(one_chord)
one_part.append(one_measure)
one_part.show("text")
score.append(one_part)
score.write("midi", "s.mid")