下記のソースコードはmidiデータからメッセージ出力させるプログラムです。
やりたいこととしてはここのプログラから開始時間と終了時間を表記させるようにしたいです。
まず下記を実行した結果です
下記の結果ではノートをONした状態(velocity = 64)とOFF(velocity = 0)した状態が混合して出力されます
python
1 2aiMusic.notes.add(pitch=60, velocity=64, time=0) 3aiMusic.notes.add(pitch=60, velocity=0, time=789) 4aiMusic.notes.add(pitch=62, velocity=64, time=872) 5aiMusic.notes.add(pitch=62, velocity=0, time=823) 6
ここから開始時間と終了時間を加え常にONした状態の出力結果だけが出るように変更したいです。
下記のような結果が得られるようにプログラムに変更をしたい。
python
1 2aiMusic.notes.add(pitch=60, velocity=64, start_time=0, end_time=789) 3aiMusic.notes.add(pitch=62, velocity=64, start_time=789, end_time=1667) 4
現在作成しているプログラムは下記になります。
どのように変更内容を記載すればよいか教えていただけますでしょうか。
よろしくお願いいたします。
python
1 2import mido 3import glob 4import os 5 6#ファイルの読み取り———————————————————————————————————————————— 7data = glob.glob("../data/*.mid") 8data_name = os.path.split(str(data))[1] 9data_name = data_name.replace("']","") 10print("ファイルName :" + str(data_name)) 11#——————————————————————————————————————————————————————————— 12 13 14mid = mido.MidiFile("../data/" + str(data_name)) 15for msg in mid.tracks[0]: 16 if msg.type == 'note_on': 17 18 msg2 = str(msg) 19 msg2 = msg2.replace("note","pitch")#表記を変更 20 msg2 = msg2.replace("pitch_on channel=0 ","") 21 msg2 = msg2.replace(" ",", ") 22 23 print("aiMusic.notes.add(" + str(msg2) + ")") 24
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。