B ] @sJddlZddlZddlZddddgddddgdddfddZd dd ZdS) NFdc Cs|dk}|d|jd|jdf}g}x:t|jdD](}|t|d|f||||q8Wtj|||d} | |td||S)Nr.)trackstempobeat_resolutionzMidi saved to ) reshapeshaperangeappend pypianorollTrack Multitrackwriteprint) pianorollprogramsZis_drumsrr destination_pathZ pianoroll_ridx multitrackr2/Users/mzliang/Downloads/Lab 2/utils/midi_utils.pysave_pianoroll_as_midis    r cCst|ts |}t|dd}n|}tj|d}|||jdj tj }t |j dddd}||||}d||dk<d||dk<tt|dd}t j|t j d}|S)N).rr)r r)axis)dtype) isinstancestrnp expand_dimsrr parse_midirrastypefloat32nonzerosumtfconvert_to_tensor)midiZ phrase_lengthr sample_xZsample_c midi_fileparsedZfirst_non_zerorrrget_conditioned_track/s     r.)Nrr) tensorflowr(numpyr!rrr.rrrrs