コード例 #1
0
def main():
  c=0
  for filename in (glob.glob('drive/My Drive/Synth pop MIDI/*.mid')):
      mtrack = Multitrack(filename)
      mtrack.to_pretty_midi()
      #mtrack = remove_short_tracks(mtrack)
      orchestra = group_by_program(mtrack)
      l=len(mtrack.tracks)
      trackid=[x for x in range(l)]
      newmtrack, inst = merge_instrument(mtrack,orchestra,trackid)
      filename=filename[30:]
      if len(newmtrack.tracks)==4:
        c+=1
        print(filename, len(newmtrack.tracks), inst, orchestra)
        newmtrack.write('drive/My Drive/Synth pop MIDI/four tracks with drum sum/'+filename)
  print(c)
コード例 #2
0
def tempo_unify():
    midi_collection = get_midi_collection()
    root_dir = 'E:/free_midi_library/'
    test_path = './test.mid'
    unify_tempo = 90
    original = Multitrack(test_path)
    original_tempo = get_midi_info(original.to_pretty_midi())['tempo'][0]
    merged_multi = get_merged(original)
    tracks_dict = {}
    length = 0
    for track in merged_multi.tracks:
        if track.pianoroll.shape[0] != 0:
            length = track.pianoroll.shape[0]
            old_pianoroll = track.pianoroll
            for i in range(128):
                for j in range(length):
                    print(track.pianoroll[j][i], end=' ')
                print()

    '''
コード例 #3
0
    tempo=np.full(track.pianoroll.shape[0], 6000),
    # beat_resolution=int(60.0 / midi_data.estimate_tempo() * 100)
    beat_resolution=int(60.0 / 6000 * 100)
    # tempo=midi_data.get_tempo_changes()[1],
)

# %%
multitrack.write("temp.mid")

# %%
test_track = Multitrack("temp.mid",
                        tempo=6000,
                        beat_resolution=int(60.0 / 6000 * 100))

# %%
test_midi = test_track.to_pretty_midi()
# %%
# Play Midi
import pygame

pygame.init()

# %%
pygame.mixer.music.load(os.path.join(path_to_code, "Data/Train/chpn-p1.mid"))
pygame.mixer.music.play()

# %%
pygame.mixer.music.stop()

# %%
pygame.mixer.music.load(os.path.join(path_to_code, "temp.mid"))
コード例 #4
0
def pianoroll2midi(pianoroll, file_path):
    track = Track(pianoroll=pianoroll)
    multitrack = Multitrack(tracks=[track], tempo=GLOBAL_VAR.MIDI_TEMPO)
    multitrack.to_pretty_midi()
    multitrack.write(file_path)