Google Magentaを最近使い始めました。音楽や芸術分野の創造的プロセスにおいて機械学習の役割を探求するためのオープンソース研究プロジェクトだそうです。
magenta.tensorflow.org
そんなMagentaで楽曲データを扱うためにはMIDIをNoteSequenceという専用のデータ形式に変換する必要があります。そのためのAPIも用意されているのでやり方をメモ。
import magenta.music as mm loaded_sequence = mm.midi_file_to_note_sequence(filepath) # NoteSequenceを視覚化&演奏 mm.plot_sequence(loaded_sequence) mm.play_sequence(loaded_sequence, synth=mm.fluidsynth)
これだけです(環境構築が済んでいる前提ですが)。こちらmidi_io.pyにMIDIとNoteSequenceの相互変換に関するAPIが載っていますよ。