jp.crestmuse.cmx.amusaj.sp
クラス SPExecutor

java.lang.Object
  上位を拡張 jp.crestmuse.cmx.amusaj.sp.SPExecutor

public class SPExecutor
extends java.lang.Object

Producer-Consumerパターンに基づいて設計されたデータ処理モジュールを登録し, モジュール同士を接続し, モジュールネットワークを実行し, 実行結果を取得するという 一連の処理を行うためのクラスです.

Amusa (API for Musical Scene Analysis)では, 音響信号などの時系列データの 処理をProducer-Consumerパターンに基づいたデータ処理モジュールのネットワークとして 構成します. 各モジュールは時系列データから要素を1つ受け取って何らかの処理を行い, 処理結果を別の時系列データ構造に投げます. そのモジュールの後段に接続されている モジュールがそれを受け取ってさらなる処理を行います. 時系列データのデータ構造は First-in-first-out (FIFO)を前提とします. データ処理モジュールは ProducerConsumerCompatibleインターフェースを, 時系列データは TimeSeriesCompatibleインターフェースを実装している必要があります. 詳しくはそれぞれのインターフェースのドキュメントをご覧ください.


コンストラクタの概要
SPExecutor(java.util.Map params, int nFrames, int timeunit)
           
 
メソッドの概要
 void addSPModule(ProducerConsumerCompatible module)
          データ処理モジュールオブジェクトを登録します.
 void connect(ProducerConsumerCompatible output, int ch1, ProducerConsumerCompatible input, int ch2)
          指定されたデータ処理モジュールAの指定されたチャンネルch1の出力を, 指定されたデータ処理モジュールBの指定されたチャンネルch2の入力に接続します.
 java.util.List<TimeSeriesCompatible> getResult(ProducerConsumerCompatible module)
          指定されたデータ処理モジュールの全チャンネルの出力を返します.
 void start()
          登録されたデータ処理モジュールの実行を開始します.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SPExecutor

public SPExecutor(java.util.Map params,
                  int nFrames,
                  int timeunit)
メソッドの詳細

addSPModule

public void addSPModule(ProducerConsumerCompatible module)
データ処理モジュールオブジェクトを登録します.


connect

public void connect(ProducerConsumerCompatible output,
                    int ch1,
                    ProducerConsumerCompatible input,
                    int ch2)
指定されたデータ処理モジュールAの指定されたチャンネルch1の出力を, 指定されたデータ処理モジュールBの指定されたチャンネルch2の入力に接続します. チャンネルの概念については, ProducerConsumerCompatibleインターフェースの ドキュメントをご覧ください.


start

public void start()
           throws java.lang.InterruptedException
登録されたデータ処理モジュールの実行を開始します.

例外:
java.lang.InterruptedException

getResult

public java.util.List<TimeSeriesCompatible> getResult(ProducerConsumerCompatible module)
指定されたデータ処理モジュールの全チャンネルの出力を返します.