jp.crestmuse.cmx.amusaj.commands
クラス AbstractWAVAnalyzer

java.lang.Object
  上位を拡張 jp.crestmuse.cmx.commands.CMXCommand<WAVWrapper,FileWrapperCompatible>
      上位を拡張 jp.crestmuse.cmx.amusaj.commands.AbstractWAVAnalyzer
すべての実装されたインタフェース:
CMXInitializer
直系の既知のサブクラス:
ChromaExtractor, F0Tracker, NotewiseWAVAnalyzer, WAV2FPD, WAV2SPD, WAV2TBD

public abstract class AbstractWAVAnalyzer
extends CMXCommand<WAVWrapper,FileWrapperCompatible>

AbstractWAVAnalyzer can be used as a base class for implementing commands that read and analyze WAV files. You can implement such commands only by overriding several abstract methods: getAmusaXMLFormat(), getModules(), getModuleConnections(), and getOutputData(). For details, see source files of classes that use this class, such as WAV2SPD, WAV2FPD, and WAV2TBD.


コンストラクタの概要
AbstractWAVAnalyzer()
           
 
メソッドの概要
protected  void customSetting(SPExecutor ex, AmusaDataSetCompatible dataset)
           
protected abstract  java.lang.String getAmusaXMLFormat()
          Please override this method so that this returns "array" or "peaks"
protected abstract  ModuleConnection[] getModuleConnections()
          Please override this method to specify the connections between modules described in the getUsedModules() method.
protected abstract  OutputData[] getOutputData()
          Please override this method to specify what data should be output to a file.
protected  java.lang.String getParam(java.lang.String category, java.lang.String key)
           
protected  double getParamDouble(java.lang.String category, java.lang.String key)
           
protected  int getParamInt(java.lang.String category, java.lang.String key)
           
protected abstract  ProducerConsumerCompatible[] getUsedModules()
          Please override this method so that this returns the list of modules (typically subclasses of SPModule) used in this class.
protected  WindowSlider getWindowSlider()
           
protected  void preproc()
          If you override this method, please write "super();" at first.
protected  FileWrapperCompatible readInputData(java.lang.String filename)
          Reads the specified file and returns a CMXFileWrapper object.
protected  int requiredFiles()
           
protected  AmusaDataSetCompatible run(WAVWrapper wav)
           
protected  boolean setBoolOptionsLocal(java.lang.String option)
          Please override this method to support yes/no options in a subclass.
protected  boolean setOptionsLocal(java.lang.String option, java.lang.String value)
          Please override this method to support non-yes/no options in your subclass.
protected  void setParam(java.lang.String category, java.lang.String key, double value)
           
protected  void setParam(java.lang.String category, java.lang.String key, int value)
           
protected  void setParam(java.lang.String category, java.lang.String key, java.lang.String value)
           
protected  boolean usesStereo()
           
 
クラス jp.crestmuse.cmx.commands.CMXCommand から継承されたメソッド
addOptionHelpMessage, appendHelpMessage, exitWithMessage, getBaseName, getBaseName, getConfigXMLWrapper, getDestDir, getFileName, getHelpMessage, getOutFileName, getVersion, indata, init, loopEnabled, newOutputData, outdata, postproc, removeDirName, removeExt, removeExt, run, run, setOutputData, showErrorMessage, start, start
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractWAVAnalyzer

public AbstractWAVAnalyzer()
メソッドの詳細

setOptionsLocal

protected boolean setOptionsLocal(java.lang.String option,
                                  java.lang.String value)
クラス CMXCommand の記述:

Please override this method to support non-yes/no options in your subclass.

サブクラスで独自の非YES/NO型オプションをサポートする場合には, このメソッドをオーバーライドしてください. このメソッドがオプションを受け入れたらtrue, 受け入れなかったらfalseを返さなければなりません.

オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の setOptionsLocal

setBoolOptionsLocal

protected boolean setBoolOptionsLocal(java.lang.String option)
クラス CMXCommand の記述:
Please override this method to support yes/no options in a subclass. This method should return true when the option is processed and false when not processed.
サブクラスで独自のYES/NO型オプションをサポートする場合には, このメソッドをオーバーライドしてください. このメソッド内でオプションが処理された場合にはtrueを, 処理されなかった場合にはfalseを返さなければなりません.

オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の setBoolOptionsLocal

getParam

protected java.lang.String getParam(java.lang.String category,
                                    java.lang.String key)

getParamInt

protected int getParamInt(java.lang.String category,
                          java.lang.String key)

getParamDouble

protected double getParamDouble(java.lang.String category,
                                java.lang.String key)

setParam

protected void setParam(java.lang.String category,
                        java.lang.String key,
                        java.lang.String value)

setParam

protected void setParam(java.lang.String category,
                        java.lang.String key,
                        int value)

setParam

protected void setParam(java.lang.String category,
                        java.lang.String key,
                        double value)

requiredFiles

protected int requiredFiles()
オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の requiredFiles

usesStereo

protected boolean usesStereo()

readInputData

protected FileWrapperCompatible readInputData(java.lang.String filename)
                                       throws java.io.IOException
クラス CMXCommand の記述:
Reads the specified file and returns a CMXFileWrapper object.

指定されたファイル名を読み込んでCMXFileWrapperオブジェクトを 返します. 具体的には, CMXFileWrapper.readfile(filename)を実行しています. 通常はこのメソッドは使用しませんが, コマンドの都合により, 上記のメソッドが使えない場合(スタンダードMIDIファイル をMIDI XMLドキュメントとして読み込む場合)にオーバーライドしてください. (通常, ユーザがこのメソッドを呼び出す必要はありません.)

オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の readInputData
例外:
java.io.IOException

preproc

protected void preproc()
                throws java.io.IOException,
                       javax.xml.parsers.ParserConfigurationException,
                       javax.xml.transform.TransformerException,
                       org.xml.sax.SAXException
If you override this method, please write "super();" at first.

オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の preproc
例外:
java.io.IOException
javax.xml.parsers.ParserConfigurationException
javax.xml.transform.TransformerException
org.xml.sax.SAXException

run

protected AmusaDataSetCompatible run(WAVWrapper wav)
                              throws java.io.IOException,
                                     javax.xml.parsers.ParserConfigurationException,
                                     javax.xml.transform.TransformerException,
                                     org.xml.sax.SAXException
オーバーライド:
クラス CMXCommand<WAVWrapper,FileWrapperCompatible> 内の run
例外:
java.io.IOException
javax.xml.parsers.ParserConfigurationException
javax.xml.transform.TransformerException
org.xml.sax.SAXException

getUsedModules

protected abstract ProducerConsumerCompatible[] getUsedModules()
Please override this method so that this returns the list of modules (typically subclasses of SPModule) used in this class. If your command use STFT and PeakExtractor, you may override this method as follows:
      private ProducerConsumerCompatible stft, peakext;
      protected abstractProducerConsumerCompatible[] getUsedModules() {
        return new ProducerConsumerCompatible[] {
            stft = new STFT(), 
            peakext = new PeakExtractor()
        };
      }
      


getModuleConnections

protected abstract ModuleConnection[] getModuleConnections()
Please override this method to specify the connections between modules described in the getUsedModules() method. If the output of the stft module connects to the input of the peakext module, you may override this method as follows:
      protected ModuleConnection[] getModuleConnections() {
        return new ModuleConnection[] {
          new ModuleConnection(stft, 0, peakext, 0);
        };
      }
      


getAmusaXMLFormat

protected abstract java.lang.String getAmusaXMLFormat()
Please override this method so that this returns "array" or "peaks"


getOutputData

protected abstract OutputData[] getOutputData()
Please override this method to specify what data should be output to a file.


customSetting

protected void customSetting(SPExecutor ex,
                             AmusaDataSetCompatible dataset)

getWindowSlider

protected WindowSlider getWindowSlider()