6.7.16 MatrixToMap

6.7.16.1 ノードの概要

Matrix<float> または Matrix<complex<float> > 型と Map<int, ObjectRef> 型の変換を行う

6.7.16.2 必要なファイル

無し.

6.7.16.3 使用方法

どんなときに使うのか

Matrix<float> または Matrix<complex<float> > 型 を Map<int, ObjectRef> 型に変換する際に用いる. Matrix<float> 型から Map$<$int , Matrix<float> $>$ 型へ,または, Matrix<complex<float> > 型から Map$<$int , Matrix<complex<float> > $>$ 型へ変換される. 入力が Map<int, ObjectRef> 型しか受け付けないノード,例えば PreEmphasis ,MelFilterBank や SaveRawPCM などに接続する際に使用する.

典型的な接続例

MatrixToMap ノードの接続例を図6.1076.108 に示す.

6.107 は,AudioStreamFromMic ノードで マイクロホンから音声波形データを取り込み,ChannelSelector ノードにて必要なチャネルを選別し, MatrixToMap ノードによって Matrix<float> 型データを Map<int, ObjectRef> 型に変換する. その出力を SaveRawPCM ノードに接続し,音声波形データをファイルとして保存する.

6.108 は,波形のスペクトルを Map<int, ObjectRef> 型で得たいときの MatrixToMap ノードの使い方である. 図のように,MultiFFT ノードを接続するのは,MatrixToMap の前でも後でも良い.

\includegraphics[width=.9\textwidth ]{fig/modules/MatrixToMap-1}
Figure 6.107: MatrixToMap の接続例 – SaveRawPCM への接続

\includegraphics[width=.9\textwidth ]{fig/modules/MatrixToMap-2}
Figure 6.108: MatrixToMap の接続例 – MultiFFT との接続

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

入力

INPUT

: any .ただし,サポートする型は Matrix<float> または Matrix<complex<float> > 型.

出力

OUTPUT

: Map<int, ObjectRef> 型の,Map$<$int , Matrix<float> $>$ または Map$<$int , Matrix<complex<float> > $>$ 型 または Map$<$int , Vector<float> $>$ または Map$<$int , Vector<complex<float> > $>$ 型.

パラメータ

Table 6.108: MatrixToMap パラメータ表

パラメータ名

デフォルト値

単位

説明

OUTPUT_TYPE

string 

map_of_row_vectors

 

出力される型を指定.キーに 0, 値 ObjectRef に入力の Matrix が出力される「map_of_matrix」,キーに入力の Matrix の行インデクス,値に入力の Matrix の行成分が抽出される「map_of_row_vectors」,キーに入力の Matrix の列インデクス,値に入力の Matrix の列成分が抽出される「map_of_column_vectors」から選択.

DEBUG

bool 

false

 

変換状況を出力するかどうかの選択.

OUTPUT_TYPE

: string 型. 出力される型を指定する. キーに 0, 値 ObjectRef に入力の Matrix が出力される「map_of_matrix」,キーに入力の Matrix の行インデクス,値に入力の Matrix の行成分が抽出される「map_of_row_vectors」,キーに入力の Matrix の列インデクス,値に入力の Matrix の列成分が抽出される「map_of_column_vectors」から選択する. デフォルトは map_of_row_vectors .

DEBUG

: bool 型. trueが与えられると,変換状況が標準出力に出力される. デフォルトは false

6.7.16.5 ノードの詳細

Table 6.109: MatrixToMap 変換表

INPUT

OUT_TYPE

OUTPUT

 

type

size

 

type

size

 
   

map_of_matrix

Map$<$int , Matrix<float> $>$

1x{NxM}

(1)

Matrix<float> 

 

map_of_row_vectors

Map$<$int , Vector<float> $>$

Nx{M}

(2)

 

NxM

map_of_column_vectors

 

Mx{N}

(3)

   

map_of_matrix

Map$<$int , Matrix<complex<float> > $>$

1x{NxM}

 

Matrix<complex<float> > 

 

map_of_row_vectors

Map$<$int , Vector<complex<float> > $>$

Nx{M}

 
   

map_of_column_vectors

 

Mx{N}

 

<例>

INPUT:

  \[ \left[ \begin{array}{cc} 1 & 2\\ 3 & 4\\ 5 & 6 \end{array} \right] \]    


OUTPUT(1):

  \[ \left\{ \begin{array}{cc} 0, & \left[ \begin{array}{cc} 1 & 2\\ 3 & 4\\ 5 & 6 \end{array} \right] \end{array} \right\} \]    

OUTPUT(2):

  \[ \begin{tabular}{ccc} \{ 0, ~ $<$ 1 ~ 2 $>$ \} , & \{ 1, ~ $<$ 3 ~ 4 $>$ \} , & \{ 2, ~ $<$ 5 ~ 6 $>$ \} \end{tabular} \]    

OUTPUT(3):

  \[ \begin{tabular}{cc} \{ 0, ~ $<$ 1 ~ 3 ~ 5 $>$ \} , & \{ 1, ~ $<$ 2 ~ 4 ~ 6 $>$ \} \end{tabular} \]