5.1 HGTFファイル形式

HGTF(HARK General Transfer Function) ファイル形式は RIFF (Resource Interchange File Format) ライクなバイナリファイル形式であ り,LocalizeMUSIC の音源定位伝達関数ファイル,GHDSS の音源分離伝達関 数ファイル,および,分離行列ファイルを表すために用いる表現である. データ構造を表 5.2 に示す.

Table 5.2: HGTF(汎用伝達関数)のデータ構造

識別子 “HARK”

4 bytes

サイズフォームタイプ以降のサイズ

4 bytes

 

フォームタイプ “HGTF”

4bytes

 

fmt サブチャンク (必須)

(フォーマットID, マイクロホン数

 サンプリング周波数などの基本データ)

M2PG/GTF/SMサブチャンク(排他的)

 

 

SPECサブチャンク(M2PG があるときのみ存在)

(付加情報)

 

 

フォームタイプ “HGTF” は,以下の3種類のデータをサポートしている.

M2PG (MUSIC 2D Polar Grid) は,LocalizeMUSIC の音源定位伝達関数ファイ ルのために用いられる.GTF (GHDSS Transfer Function) は,GHDSS の音源分離 伝達関数ファイルにまた,SM (Separation Matrix )は,GHDSS の分離行列ファ イルを表すために用いる.

fmt は,基本的なデータを入力するために使われる必須のサブチャンクであり, 詳細を.表 5.3に示す.なお,チャンクのサイズは,チャン ク名の4バイトとチャンクサイズの4バイトを除いた部分のサイズの合計であ る.

Table 5.3: fmtサブチャンクの定義

char[4]

“fmt “

int 

チャンクのサイズ,24+12*Nmic [bytes]

short[2]

fmtバージョン(メジャー,マイナー)

int 

フォーマットID (0: 未定義,1:M2PG, 2:GTF, 3:SM)

int 

マイクロホン数 (Nmic)

int 

FFT長[サンプル] (Nfft)

int 

インパルスレスポンス長[サンプル]

int 

サンプリング周波数[Hz]

Vector3[nmic]

マイクロホン位置の座標[m]

M2PG/GTF/SM サブチャンクは,個々のファイル (音源定位伝達関数ファイル,音源分離伝達関数ファイル,分離行列ファイル) のデータが格納されるチャンクである.次節以降で,別途説明を行う.

SPEC は,ファイル作成条件など付加的な情報を入力するために用いられる. 表 5.4に SPEC のフォーマットを示す.各項目は,0終端文 字列とし,文字コードは ASCII (基本的に英数字など1バイト文字しか利用し ない),改行コードは LF とする.

Table 5.4: SPECサブチャンクの定義

char[4]

“SPEC”

int 

チャンクのサイズ,1551 [bytes]

short[2]

SPECバージョン(メジャー,マイナー)

char[11]

作成日 (例:2009/05/19)

char[128]

場所(例:Smart room)

char[128]

ロボット(例:HRP-2, SIG2, $\cdots $)

char[128]

マイクロホンアレイのタイプ(例:8ch circular,8ch cubic, $\cdots $)

char[128]

作成者(例:Kazuhiro Nakadai)

char[1024]

備忘録(MUSICのTF作成のパラメータなど)