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作成のパラメータなど)