6.7.11 MapSelectorBySource

6.7.11.1 ノードの概要

複数の音源分離結果のうち,Source に含まれる情報(ID,パワー,方向)に基づきパラメータで指定した条件を満たすものだけを 出力させたいときに用いる. 複数音源入力時に音源のID,パワーに対してその最小,最大にもとづいて出力したり, 値の範囲を指定して出力することができる. また音源の方向に関しては,複数音源のうち指定した角度方向に最も近い音源を出力したり, 方向の範囲を角度で指定し,その範囲内にある音源のみを出力することができる.

6.7.11.2 必要なファイル

無し.

6.7.11.3 使用方法

どんなときに使うのか

たとえば,音源分離ノード GHDSS などの出力結果を PlayAudio で再生する場合. このとき, GHDSS ノードの後に Synthesize , MapSelectorBySource を接続し, Lch,Rchで各々別の方向の音源を試聴したい場合に用いる. このように,Map 型の入力の一部を出力したい場合に用いる.

典型的な接続例

6.106 に接続例を示す. 図に示すように,このノードは, GHDSS などの音源分離モジュールの後段に接続される.

\includegraphics[width=\linewidth ]{fig/modules/MapSelectorBySource}
Figure 6.106: MapSelectorBySource の接続例: これは Iterator サブネットワーク

6.7.11.4 ノードの入出力とプロパティ

入力

INPUT

: Map<int, ObjectRef> 型. 通常は音源分離ノードの後段に接続されるので, Map のキーになる int には音源IDが対応する. ObjectRef は分離を表すVector<float> 型 (パワースペクトル) か Vector<complex<float> > 型(複素スペクトル)である.

SOURCES

: Vector<ObjectRef> 型. ID付きの音源方向. 各Vector の中身は,ID 付きの音源情報を示す Source 型になっている. このパラメータの指定は必須である.

出力

OUTPUT

: Map<int, ObjectRef> 型. パラメータで指定した条件を満たしたデータが出力される.

パラメータ

Table 6.100: MapSelectorBySource のパラメータ表

パラメータ名

デフォルト値

単位

説明

SELECTION_TYPE

string 

ID

 

音源の選択条件の種類. ALL,ID,POWER,DIRECTION($*$),DIRECTION_AZIMUTH,DIRECTION_ELEVATION から選択.

ID_SELECTION_TYPE

string 

LATEST

 

音源を ID により選択する場合の選択条件. LATEST,OLDEST,BETWEEN から選択.

ID_RANGE_MIN

int 

0

 

選択する音源の ID の下限値.

ID_RANGE_MAX

int 

0

 

選択する音源の ID の上限値.

POWER_SELECTION_TYPE

string 

HIGHEST

 

音源をパワーにより選択する場合の選択条件. HIGHEST,LOWEST,BETWEEN から選択.

POWER_RANGE_MIN

float 

0

 

選択する音源のパワーの下限値.

POWER_RANGE_MAX

float 

40.0

 

選択する音源のパワーの上限値.

DIRECTION_SELECTION_TYPE($*$)

string 

BETWEEN

 

音源を角度により選択する場合の選択条件. NEAREST,BETWEEN から選択.

DIRECTION($*$)

float 

0

[deg]

選択する音源の近傍の角度.

DIRECTION_RANGE_MIN($*$)

float 

0

[deg]

選択する音源の角度の下限値.

DIRECTION_RANGE_MAX($*$)

float 

360.0

[deg]

選択する音源の角度の上限値.

AZIMUTH_SELECTION_TYPE

string 

BETWEEN

 

音源を方位角により選択する場合の選択条件. NEAREST,BETWEEN から選択.

AZIMUTH

float 

0

[deg]

選択する音源の近傍の方位角.

AZIMUTH_RANGE_MIN

float 

0

[deg]

選択する音源の方位角の下限値.

AZIMUTH_RANGE_MAX

float 

360.0

[deg]

選択する音源の方位角の上限値.

ELEVATION_SELECTION_TYPE

string 

BETWEEN

 

音源を仰角により選択する場合の選択条件. NEAREST,BETWEEN から選択.

ELEVATION

float 

0

[deg]

選択する音源の近傍の仰角.

ELEVATION_RANGE_MIN

float 

0

[deg]

選択する音源の仰角の下限値.

ELEVATION_RANGE_MAX

float 

360.0

[deg]

選択する音源の仰角の上限値.

DEBUG_PRINT

bool 

false

 

エラーメッセージ出力.

SELECTION_TYPE

: string 型. 音源の選択条件の種類を ALL,ID,POWER,DIRECTION($*$),DIRECTION_AZIMUTH,DIRECTION_ELEVATION から選択する. ALL の場合はすべてのすべての結果を出力する. ID の場合は音源の ID, POWER の場合は音源のパワー, DIRECTION($*$),DIRECTION_AZIMUTH,DIRECTION_ELEVATION の場合は音源の方向,についてそれぞれのパラメータで指定した条件を満たす結果を出力する.

ID_SELECTION_TYPE

: string 型. SELECTION_TYPE で ID を選択した場合に,その選択条件を LATEST,OLDEST,BETWEEN から選択する. LATEST では最も新しい音源が, OLDEST では最も古い音源が, BETWEEN ではパラメータ ID_RANGE_MIN と ID_RANGE_MAX で指定された範囲の ID の音源が,出力される. 複数の音源がこの条件を満たす場合は複数の音源の結果が出力される.

ID_RANGE_MIN

: int 型. ID_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の ID の下限値を指定する

ID_RANGE_MAX

: int 型. ID_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の ID の上限値を指定する

POWER_SELECTION_TYPE

: string 型. SELECTION_TYPE で POWER を選択した場合に,その選択条件を HIGHEST,LOWEST,BETWEEN から選択する. HIGHEST では 最もパワーの大きな音源が,LOWEST では最もパワーの小さな音源が,BETWEEN ではパラメータ POWER_RANGE_MIN と POWER_RANGE_MAX で指定された範囲のパワーの音源が,出力される. 複数の音源がこの条件を満たす場合は複数の音源の結果が出力される.

POWER_RANGE_MIN

: float 型. POWER_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源のパワーの下限値を指定する.

POWER_RANGE_MAX

: float 型. POWER_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源のパワーの上限値を指定する.

DIRECTION_SELECTION_TYPE

: string 型. SELECTION_TYPE で DIRECTION を選択した場合に,その選択条件を NEAREST,BETWEEN から選択する. NEAREST ではパラメータ DIRECTION に指定された角度に最も近い音源が,BETWEEN ではパラメータ DIRECTION_RANGE_MIN とDIRECTION_RANGE_MAX で指定された角度の範囲の音源が,出力される. 複数の音源がこの条件を満たす場合は複数の音源の結果が出力される.($*$)

DIRECTION

: float 型. DIRECTION_SELECTION_TYPE で NEAREST を選択した場合に,ここで指定した角度に最も近い音源が出力される.($*$)

DIRECTION_RANGE_MIN

: float 型. DIRECTION_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の角度の下限値を指定する.($*$)

DIRECTION_RANGE_MAX

: float 型. DIRECTION_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の角度の上限値を指定する.($*$)

AZIMUTH_SELECTION_TYPE

: string 型. SELECTION_TYPE で DIRECTION_AZIMUTH を選択した場合に,その選択条件を NEAREST,BETWEEN から選択する. NEAREST ではパラメータ AZIMUTH に指定された方位角に最も近い音源が,BETWEEN ではパラメータ AZIMUTH_RANGE_MIN と AZIMUTH _RANGE_MAX で指定された方位角の範囲の音源が,出力される. 複数の音源がこの条件を満たす場合は複数の音源の結果が出力される.

AZIMUTH

: float 型. AZIMUTH_SELECTION_TYPE で NEAREST を選択した場合に,ここで指定した方位角にもっとも近い音源が出力される.

AZIMUTH_RANGE_MIN

: float 型. AZIMUTH_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の方位角の下限値を指定する.

AZIMUTH_RANGE_MAX

: float 型. AZIMUTH_SELECTION_TYPE で BETWEEN を選択した場合に,出力される音源の方位角の上限値を指定する.

ELEVATION_SELECTION_TYPE

: string 型. SELECTION_TYPE で DIRECTION_ELEVATION を選択した場合に,その選択条件を NEAREST,BETWEEN から選択する. NEAREST ではパラメータ ELEVATION に指定された仰角に最も近い音源が,BETWEEN ではパラメータ ELEVATION_RANGE_MIN とELEVATION_RANGE_MAX で指定された仰角の範囲の音源が,出力される. 複数の音源がこの条件を満たす場合は複数の音源の結果が出力される.

ELEVATION

: float 型. ELEVATION_SELECTION_TYPE で NEARESTを選択した場合に,ここで指定した仰角にもっとも近い音源が出力される.

ELEVATION_RANGE_MIN

: float 型. ELEVATION_SELECTION_TYPE で BETWEENを選択した場合に,出力される音源の仰角の下限値を指定する.

ELEVATION_RANGE_MAX

: float 型. ELEVATION_SELECTION_TYPE で BETWEENを選択した場合に,出力される音源の仰角の上限値を指定する.

DEBUG_PRINT

: bool 型. モジュールのエラーメッセージを出力する.

6.7.11.5 ($*$)互換性のためにあるパラメータ

SELECTION_TYPEのDIRECTIONはDIRECTION_AZIMUTHと,DIRECTIONはAZIMUTHと,DIRECTION_RANGE_MINはAZIMUTH_RANGE_MINと,DIRECTION_RANGE_MAXはAZIMUTH_RANGE_MAXと同じ.