import jp.crestmuse.cmx.amusaj.commands.* import jp.crestmuse.cmx.amusaj.sp.* class MyAnalyzer extends AbstractWAVAnalyzer { def stft, peakext, f0tracker ProducerConsumerCompatible[] getUsedModules() { stft = new STFT(false) peakext = new PeakExtractor() f0tracker = new MyF0Tracker() [stft, peakext, f0tracker] } ModuleConnection[] getModuleConnections() { [new ModuleConnection(getWindowSlider(), 0, stft, 0), new ModuleConnection(stft, 0, peakext, 0), new ModuleConnection(stft, 1, peakext, 1), new ModuleConnection(stft, 2, peakext, 2), new ModuleConnection(peakext, 0, f0tracker, 0)] } String getAmusaXMLFormat() { "array" } OutputData[] getOutputData() { [new OutputData(f0tracker, 0)] } } (new MyAnalyzer()).start( "-conf config.xml sample.wav -o result.xml")