<s> from first_peaks_method import MIDI_Detector <EOL> import sys <EOL> import os <EOL> class NotePlotter ( object ) : <EOL> """<STR_LIT>""" <EOL> def __init__ ( self , wav_file ) : <EOL> print '<STR_LIT>' <EOL> self . wav_file = wav_file <EOL> self . output_file = wav_file [ : - <NUM_LIT:3> ] + '<STR_LIT>' <EOL> self . number2note = { <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT:30> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT:32> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT:c>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT:50> : '<STR_LIT:d>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT:e>' , <EOL> <NUM_LIT> : '<STR_LIT:f>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT:g>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT:a>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT:b>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT:64> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT:100> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> <NUM_LIT> : '<STR_LIT>' , <EOL> } <EOL> def plot_notes_violin_stuff ( self ) : <EOL> """<STR_LIT>""" <EOL> detector = MIDI_Detector ( self . wav_file ) <EOL> midi_numbers = detector . detect_MIDI_notes ( ) <EOL> lilypond_text = '<STR_LIT>' <EOL> for n in midi_numbers : <EOL> if n in self . number2note . keys ( ) : <EOL> lilypond_text += self . number2note [ n ] + '<STR_LIT:U+0020>' <EOL> lilypond_text += '<STR_LIT>' <EOL> with open ( self . output_file , '<STR_LIT:w>' ) as f : <EOL> f . write ( lilypond_text ) <EOL> command = "<STR_LIT>" <EOL> command += self . output_file <EOL> print command <EOL> os . system ( command ) <EOL> def plot_notes ( self ) : <EOL> detector = MIDI_Detector ( self . wav_file ) <EOL> midi_numbers = detector . detect_MIDI_notes ( ) <EOL> lilypond_text = '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> for n in midi_numbers : <EOL> if n in self . number2note . keys ( ) : <EOL> lilypond_text += self . number2note [ n ] + '<STR_LIT:U+0020>' <EOL> lilypond_text += '<STR_LIT>' <EOL> with open ( self . output_file , '<STR_LIT:w>' ) as f : <EOL> f . write ( lilypond_text ) <EOL> command = "<STR_LIT>" <EOL> command += self . output_file <EOL> print command <EOL> os . system ( command ) <EOL> def plot_multiple_notes ( self , directory ) : <EOL> """<STR_LIT>""" <EOL> lilypond_text = '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> numOfFiles = len ( os . listdir ( directory ) ) <EOL> for i in range ( numOfFiles ) : <EOL> file_path = '<STR_LIT>' + str ( i ) + '<STR_LIT>' <EOL> detector = MIDI_Detector ( directory + '<STR_LIT:/>' + file_path ) <EOL> midi_numbers = detector . detect_MIDI_notes ( ) <EOL> print '<STR_LIT>' + str ( file_path ) + '<STR_LIT>' + str ( midi_numbers ) <EOL> if len ( midi_numbers ) > <NUM_LIT:0> : <EOL> lilypond_text += '<STR_LIT>' <EOL> for n in midi_numbers : <EOL> if n in self . number2note . keys ( ) : <EOL> lilypond_text += self . number2note [ n ] + '<STR_LIT:U+0020>' <EOL> lilypond_text += '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> lilypond_text += '<STR_LIT>' <EOL> with open ( self . output_file , '<STR_LIT:w>' ) as f : <EOL> f . write ( lilypond_text ) <EOL> command = "<STR_LIT>" <EOL> command += self . output_file <EOL> print command <EOL> os . system ( command ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> wav_file = sys . argv [ <NUM_LIT:1> ] <EOL> note_plotter = NotePlotter ( wav_file ) <EOL> note_plotter . plot_multiple_notes ( ) </s>
