6.7.5 LoadMapFrames

6.7.5.1 ノードの概要

SaveMapFrames で作成されたファイルのデータをMap $<$int , Vector<float> $>$ 型またはMap $<$int , Vector<complex<float> > $>$ 型のコンテナに読み込む.

6.7.5.2 必要なファイル

“内部ファイル”と呼ばれるテキスト形式(TEXT)またはバイナリ形式(RAW)のデータファイルと,フレーム毎のデータファイルのリストを含む“メインファイル”と呼ばれるテキストファイルが必要.これらすべてはSaveMapFrames によって作成されたファイルである.

6.7.5.3 使用方法

どんなときに使うのか

このノードは,あらかじめSaveMapFrames によってファイルに保存されたフレームのデータを使用し,後にデータをwavファイルに変換するなどの処理に用いる.

典型的な接続例

6.110 に,ネットワークでLoadMapFrames を使用した接続例を示す. LoadMapFrames が読み込むファイルは,FILENAMEパラメータの値によって指定される. このネットワークでは,Synthesize はLoadMapFrames の出力であるMap $<$int , Vector<complex<float> > $>$ 型のデータを時間領域の波形に変換する. 次に,SaveWavePCM は,Synthesize によって出力されたデータをサウンドファイルとして保存する. このネットワークでのLoadSourceLocation はオプションで,SaveWavePCM がオプションでVector<ObjectRef> 型の音源定位結果を取ることができる例を示している. ObjectRef はソースタイプのデータを参照する必要があることに注意. LoadSourceLocation はSaveSourceLocation によって生成されたファイルからデータを読み込むが,LoadMapFrames はSaveMapFrames によって生成されたファイルからデータを読み込む.

\includegraphics[width=.9\textwidth ]{fig/modules/LoadMapFrames-1}
Figure 6.110: LoadMapFrames の接続例

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

入力

無し.

出力

OUTPUT

: Map<int, ObjectRef> 型のMap $<$int , Vector<float> $>$ またはMap $<$int , Vector<complex<float> > $>$ データがマップのキーにマップされるフレームのデータ.

NOT_EOF

: bool 型.プログラムが各フレームの“内部ファイル”のリストを含む“メインファイル”を読み込んでいるときにファイルの終わりに達したかどうかを示すフラグ.プログラムが“メインファイル”のファイルの最後に到達するとfalseに設定され,その後プログラムは終了する.それ以外はtrueに設定される.

パラメータ

Table 6.93: LoadMapFrames のパラメータリスト

パラメータ名

デフォルト値

単位

説明

FILENAME

string 

   

各フレームのデータファイルのリストを含むテキストファイルの名前.

INPUT_TYPE

string 

TEXT_float

 

入力データファイルのファイル形式とデータ型.TEXT_floa,RAW_float,TEXT_complex_float,またはRAW_complex_floatを選択.

COL_SIZE

int 

512

 

データファイル内のデータを復元するMap $<$int , Vector<ObjectRef> $>$ 型のVector<ObjectRef> の列サイズ.

FILENAME

: string 型. SaveMapFrames によって作成された各フレームのデータファイルのリストを含む“メインファイル”の名前. SaveMapFrames によって生成されるファイルの詳細については,ノードのリファレンスを参照.

INPUT_TYPE

: string 型. 入力データファイルのファイル形式とデータ型. ドロップダウンメニューから適切なものを選択. 次の4つのオプションがある.

  • TEXT_float

  • RAW_float

  • TEXT_complex_float

  • RAW_complex_float

デフォルト値はTEXT_float. 間違った値を選択すると,ネットワークは正常に動作しない. 図6.111 は,“メインファイル”と“内部ファイル”の両方のサンプルファイル名を示している. “内部ファイル”の各ファイル名は,データ型,例では“Vector_float”を示している. ファイル拡張子は,ファイル形式を示す. 各ファイルの拡張子は,テキスト(TEXT)は「txt」,バイナリ(RAW)は「raw」である.

COL_SIZE

: int 型. 入力データファイルに保存されたMap $<$int , Vector<ObjectRef> $>$ 型のデータのVectorサイズ. 図6.111 に示すように,読み込むファイルの名前で見つけることができる. 間違った値を指定すると,ネットワークは正常に動作しない. デフォルト値は512.

詳細については,SaveMapFrames のノードの詳細を参照.

\includegraphics[width=.9\textwidth ]{fig/modules/LoadMapFrames-2}
Figure 6.111: SaveMapFrames で生成されたファイル

SaveMapFrames によって生成されるファイルの詳細については,SaveMapFrames のノードリファレンスを参照.

6.7.5.5 ノードの詳細

LoadMapFrames は,Map $<$int , Vector<float> $>$ 型またはMap $<$int , Vector<complex<float> > $>$ 型のいずれかで,SaveMapFrames で生成されたファイルを読み込んでコンテナ内のデータを復元する. LoadMapFrames は2種類のファイルを読み込む. 1つは,各キーに分離されたフレームのデータを含む“内部ファイル”と呼ばれるデータファイル. もう1つは,“メインファイル”と呼ばれるテキストファイルで,各フレーム番号に続く“内部ファイル”のリストを含む. LoadMapFrames は,“内部ファイル”に保存されたデータを対応するデータ型のコンテナに適切に復元するために,メインファイルのフレーム番号とファイル名の両方から情報を取得する. 表 6.94 に,使用可能なすべてのINPUT_TYPEパラメータ値と対応する出力データ型を示す.

Table 6.94: LoadMapFrames の出力データ型

INPUT_TYPE

出力データ型

Text Float

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

Raw Float

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

Text Complex Float

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

Raw Complex Float

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

LoadMapFrames は,フレーム番号の後にファイル名がない場合,空のMapを出力することに注意. これは,フレームに関連するデータがないことを意味する. “メインファイル”ファイルの終わりに達することによって,すべてのデータファイルが読み込まれたことを検出すると,LoadMapFrames はNOT_EOFをfalseに設定し,ファイルからコンテナへデータを読み込む反復処理を終了できる.