def analyze(self, audioFilename): sonic = SonicApi(audioFilename) writer = Writer(audioFilename) # Analyze Melody SonicApi melody = sonic.analyzeMelody() # Analyze Beat SonicApi beat = sonic.analyzeBeat() # Extract metadata (BPM, key, etc.) meta = self.extractMetadata(beat, melody) # AnalyzeNotes Aubio # AnalyzePitch Aubio # AnalyzeOnset Aubio # AnalyzeTSS Aubio # AnalyzeTSS Aubio # write output: writer.writeTable(beat['click_marks'], 'beat') writer.writeTable(melody['melody_result'], 'melody') writer.writeTable(meta, 'meta')