5 ファイルフォーマット

本節では,HARK  で利用するファイルの種類およびその形式について述べる. 従来の HARK  では多様なファイルフォーマットが使用されており、全体像の把握が困難であった。 特にバイナリ形式の伝達関数ファイルはフォーマットが複雑で解析が困難であった。 そこで、 HARK  2.1 より、 従来の種類の多いファイルフォーマットをよりシンプルな形式に整理した。 設計方針は次の2 点である。

  1. できるだけ標準に使用されているフォーマットを使い、独自形式は減らす。

  2. ファイル入出力 API を提供するライブラリを充実させる。

本方針に従い、 独自のファイルフォーマットは 行列を表現する Matrix バイナリのみで、その他はすべて 標準的なフォーマットとそれの組み合わせとした。 また、ファイル入出力をサポートするライブラリ libharkio3 を提供し、ファイルの操作を容易にした。

HARK  の独自ファイルフォーマットは、以下の3種類である。

  1. XML: 位置を表現するファイルに使用。拡張子は .xml

  2. Matrix バイナリ: 行列を表現するファイルに使用。拡張子は .mat

  3. Zip: 伝達関数など、上記のファイルから構成される複雑なファイル形式に使用。拡張子は .zip

他のファイルは上記 3 種類に統合、あるいは標準フォーマットを使用するように変更される。

HARK  では、ノードの入出力やプロパティ設定でファイルを指定することができる. 表 5.1 に一覧を示す。

Table 5.1: ファイル入出力が関係する HARK ノード一覧

ノード名

使用箇所

ファイル種類

新ファイル形式

旧形式

SaveRawPCM 

出力

Raw Audio ファイル

Raw Audio Format

同じ

SaveWavePCM 

出力

Wave ファイル

PCM Wave Format

同じ

LocalizeMUSIC 

プロパティ設定

音源定位伝達関数ファイル

Zip

HGTF バイナリ

SaveSourceLocation 

出力

音源定位結果ファイル

XML

定位結果テキスト

LoadSourceLocation 

プロパティ

音源定位結果ファイル

XML

定位結果テキスト

GHDSS 

プロパティ設定

音源分離伝達関数ファイル

Zip

HGTF バイナリ

 

プロパティ設定

マイクロホン位置ファイル

XML

HARKテキスト

 

プロパティ設定

定常ノイズ位置ファイル

XML

HARKテキスト

 

プロパティ設定

初期分離行列ファイル

Zip

HGTF バイナリ

 

出力

分離行列ファイル

Zip

HGTF バイナリ

SaveFeatures 

出力

特徴量ファイル

Matrix バイナリ

float バイナリ

SaveHTKFeatures 

出力

特徴量ファイル

HTK 形式

同じ

DataLogger 

出力

Map データファイル

XML

Map テキスト

CMSave 

プロパティ

相関行列ファイル

Zip

相関行列テキスト

CMLoad 

出力

相関行列ファイル

Zip

相関行列テキスト

JuliusMFT 

起動時引数

設定ファイル

jconf (テキスト)

同じ

 

設定ファイル中

音響モデル・音素リスト

julius 形式 

同じ

 

設定ファイル中

言語モデル・辞書

julius 形式

同じ

harktool

harktool

音源位置リストファイル

XML

srcinfテキスト

 

harktool

インパルス応答ファイル

PCM Wave Format

float バイナリ

以降では,HARK  で使用する 3種類のフォーマットについて説明する。 なお、Julius 形式については Julius のファイルフォーマットに基本的に準ずる. オリジナルの Julius との違いに関しては JuliusMFT の説明を参照されたい。 Raw Audio Format, PCM Wave Format については、標準フォーマットに準ずるのでその説明を参照されたい。