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() |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
addSPModule(ProducerConsumerCompatible module)
データ処理モジュールオブジェクトを登録します.
|
void |
connect(ProducerConsumerCompatible output,
int ch1,
ProducerConsumerCompatible input,
int ch2)
指定されたデータ処理モジュールAの指定されたチャンネルch1の出力を,
指定されたデータ処理モジュールBの指定されたチャンネルch2の入力に接続します.
|
boolean |
finished() |
boolean |
finished(ProducerConsumerCompatible module) |
java.util.List<TimeSeriesCompatible> |
getResult(ProducerConsumerCompatible module)
指定されたデータ処理モジュールの全チャンネルの出力を返します.
|
void |
setInterruptionReceiver(java.lang.Thread th) |
void |
setSleepTime(long sleepTime) |
void |
start()
登録されたデータ処理モジュールの実行を開始します.
|
void |
stop() |
public void addSPModule(ProducerConsumerCompatible module)
public void connect(ProducerConsumerCompatible output, int ch1, ProducerConsumerCompatible input, int ch2)
public boolean finished()
public boolean finished(ProducerConsumerCompatible module)
public java.util.List<TimeSeriesCompatible> getResult(ProducerConsumerCompatible module)
public void setInterruptionReceiver(java.lang.Thread th)
public void setSleepTime(long sleepTime)
public void start()
public void stop()