Python の MIDI ライブラリである MIDO を使用して、MIDI ファイルにコードを記述するのに苦労しています。
リストにメモが保存されている100個のコードのリストがあります。したがって、以下のコードの各コードは、Cmin のように [60, 63, 67] です。それぞれの秒単位のタイミングは、chordTimes リストに格納されます。
リストを繰り返し、
for i in range(1, len(chords)):
chordNotes = chordMidiNotes(chords[i], extraBass= False)[0]
chordSymbol = chordMidiNotes(chords[i], extraBass= False)[1]
for note_value in chordNotes: # result has chord notes
track.append(Message('note_on', note=note_value, velocity=100, time=0))
for note_value in chordNotes: # result has chord notes
track.append(Message('note_off', note=note_value, velocity=127, time=time_in_ticks(chordTimes[i], mo)))
mo.save("songWithChords.mid")
しかし、ファイルを開くと、コードは同時に開始されますが、トップノートは最後のコードの直前で終了し、下のノートはその前で終了し、後者の前のノートはその数拍前で再び停止します....画像をご覧ください。タイプ 1 の midi ファイルを使用しています。