6.7.37 TextConverter

6.7.37.1 ノードの概要

HARK  がサポートする任意の型から string 型のJSONテキストに変換を行う

6.7.37.2 必要なファイル

無し.

6.7.37.3 使用方法

どんなときに使うのか

このノードは 型の入力を受け入れる事が出来るノード(例えば HarkDataStreamSender や HARK-Python の PyCodeExecuter )に接続するために用いる. このノードは HARK  がサポートする任意の型をJSONテキストとして変換する事が出来るのでJSONテキストを理解できる言語(例えばPythonやJavaScriptなど)で受信する際に扱いやすくする事が出来る. 例えば, HARK-Python の PyCodeExecuter では 型で受信したデータを処理するスクリプトで 'import json''json.load()' を使用する事で容易にPythonオブジェクトへ変換する事が出来る. なお, HARK  に存在する多くのノードの出力をこのノードの入力に与える事が出来るが,例外が存在するので注意されたい.これは今後のアップデートで改善する事がある.

典型的な接続例

TextConverter ノードの接続例を図6.1406.141 に示す.

6.140 は,音源定位結果と分離音を HarkDataStreamSender ノードで 送信するネットワークである. node_HarkDataStreamSender_2 は node_HarkDataStreamSender_1 で送信している情報を TextConverter ノードでJSONテキストに変換してから送信する場合の接続例である.

6.141 は,音源定位結果と分離音を HARK-Python の PyCodeExecuter ノードに送るための接続である.

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

\includegraphics[width=.9\textwidth ]{fig/modules/TextConverter-2}
Figure 6.141: TextConverter の接続例 – HARK-Python の PyCodeExecuter への接続

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

入力

DATA

: any .ただし,サポートする型は 表 6.139 を参照.入力端子をいくつでも追加することができる.入力端子の名前は出力するJSONオブジェクトの名前(マップ、ハッシュ、連想配列などにおけるキー)として使用される.

出力

TEXT

: string 型 .

パラメータ

Table 6.138: MatrixToMap パラメータ表

パラメータ名

デフォルト値

単位

説明

ENABLE_DEBUG

bool 

false

 

変換されたJSONテキストを標準出力に出力するかどうかの選択.

ENABLE_DEBUG

: bool 型. デフォルトは falsetrueが与えられると, 変換後のJSONテキストが標準出力に出力される.

6.7.37.5 ノードの詳細

Table 6.139: TextConverter 変換表

INPUT

OUTPUT

input object type

output object type

input example

output result

bool 

string 

$ true $

{'DATA': true}

TrueObject 

string 

$ - $

{'DATA': true}

FalseObject 

string 

$ - $

{'DATA': false}

int 

string 

$ 1 $

{'DATA': 1}

Int 

string 

$ 1 $

{'DATA': 1}

float 

string 

$ 1.1 $

{'DATA': 1.1}

Float 

string 

$ 1.1 $

{'DATA': 1.1}

Complex 

string 

$ 1.1 - 2.2i $

{'DATA': (1.1, -2.2)}

Vector<int> 

string 

$ \left\langle \begin{array}{cccccc} 1 & -2 & 3 & -4 & 5 & -6 \end{array} \right\rangle $

{'DATA': [1, -2, 3, -4, 5, -6]}

Vector<float> 

string 

$ \left\langle \begin{array}{cccccc} 1.1 & -2.2 & 3.3 & -4.4 & 5.5 & -6.6 \end{array} \right\rangle $

{'DATA': [1.1, -2.2, 3.3, -4.4, 5.5, -6.6]}

Vector<complex<float> > 

string 

$ \left\langle \begin{array}{cccccc} 1.1 - 2.2i & 3.3 + 4.4i & -5.5 - 6.6i \end{array} \right\rangle $

{'DATA': [(1.1, -2.2), (3.3, 4.4), (-5.5, -6.6)]}

Matrix<int> 

string 

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

{'DATA': [[1, -2], [-3, 4], [5, 6]]}

Matrix<float> 

string 

$ \left[ \begin{array}{cc} 1.1 & -2.2\\ -3.3 & 4.4\\ 5.5 & 6.6\\ \end{array} \right] $

{'DATA': [[1.1, -2.2], [-3.3, 4.4], [5.5, 6.6]]}

Matrix<complex<float> > 

string 

$ \left[ \begin{array}{cc} 1.1 - 2.2i & 3.3 + 4.4i\\ -5.5 + 6.6i & -7.7 - 8.8i\\ \end{array} \right] $

{'DATA': [[(1.1, -2.2), (3.3, 4.4)], [(-5.5, 6.6), (-7.7, -8.8)]]}

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

string 

$ \left\{ 0, \left\langle \begin{array}{cccccc} 1 & -2 & 3 & -4 & 5 & -6 \end{array} \right\rangle \right\} $

{'DATA': {0: [1, -2, 3, -4, 5, -6]}}

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

string 

$ \left\{ 0, \left\langle \begin{array}{cccccc} 1.1 & -2.2 & 3.3 & -4.4 & 5.5 & -6.6 \end{array} \right\rangle \right\} $

{'DATA': {0: [1.1, -2.2, 3.3, -4.4, 5.5, -6.6]}}

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

string 

$ \left\{ 0, \left\langle \begin{array}{cccccc} 1.1 - 2.2i & 3.3 + 4.4i & 5.5 - 6.6i \end{array} \right\rangle \right\} $

{'DATA': {0: [(1.1, -2.2), (3.3, 4.4), (5.5, -6.6)]}}

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

string 

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

{'DATA': {0: [[1, -2], [-3, 4], [5, 6]]}}

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

string 

$ \left\{ 0, \left[ \begin{array}{cc} 1.1 & -2.2\\ -3.3 & 4.4\\ 5.5 & 6.6\\ \end{array} \right] \right\} $

{'DATA': {0: [[1.1, -2.2], [-3.3, 4.4], [5.5, 6.6]]}}

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

string 

$ \left\{ 0, \left[ \begin{array}{cc} 1.1 - 2.2i & 3.3 + 4.4i\\ -5.5 + 6.6i & -7.7 - 8.8i\\ \end{array} \right] \right\} $

{'DATA': {0: [[(1.1, -2.2), (3.3, 4.4)], [(-5.5, 6.6), (-7.7, -8.8)]]}}