6.7.13 MatrixToMap

6.7.13.1 ノードの概要

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

6.7.13.2 必要なファイル

無し.

6.7.13.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.1006.101 に示す.

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

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

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

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

6.7.13.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.94: MatrixToMap パラメータ表

パラメータ名

デフォルト値

単位

説明

OUTPUT_TYPE

string 

map_of_matrix

 

出力される型の指定.map_of_row_vectors, map_of_row_vectors, map_of_column_vectors から選択する.

DEBUG

bool 

false

 

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

OUTPUT_TYPE

: string 型. 出力される型を指定する. map_of_matrix, map_of_row_vectors, map_of_column_vectors から選択. map_of_matrix が選択されると,キーに 0,値に入力の Matrix がセットされる. map_of_row_vectors が選択されると,キーに入力 Matrix の列インデクス,値に入力 Matrix の列成分を抜き出した Vector が,map_of_column_vectors が選択されると,キーに入力 Matrix の行インデクス,値に入力 Matrix の行成分を抜き出した Vector がセットされる. デフォルトは map_of_row_vectors .

DEBUG

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

6.7.13.5 ノードの詳細

Table 6.95: MatrixToMap 変換表

INPUT

OUTPUT

OUT_TYPE

 

type

size

type

size

   
   

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

{NxM}x1

map_of_matrix

(1)

Matrix<float> 

 

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

{N}xM

map_of_row_vectors

(2)

 

NxM

 

{M}xN

map_of_column_vectors

(3)

   

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

{NxM}x1

map_of_matrix

 

Matrix<complex<float> > 

 

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

{N}xM

map_of_row_vectors

 
     

{M}xN

map_of_column_vectors

 

<例>

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): { 0, $<$ 1 3 5 $>$ }, { 1, $<$ 2 4 6 $>$ }

OUTPUT(3): { 0, $<$ 1 2 $>$ }, { 1, $<$ 3 4 $>$ }, { 2, $<$ 5 6 $>$ }