5 File Formats

This chapter describes the file types, as well as the file formats used in HARK  . The earlier versions of HARK  used a variety of file formats, which made it difficult to grasp overall, especially in the analysis of complex binary formats of transfer function files. Because of that, from HARK  2.1, file formats has been simplified by implementing the 2 design policies below.

  1. Lessen the use of HARK  special formats and use standardized format if possible.

  2. Utilize libraries that offers file input/output API.

To comply with these policies, standardized format and compounds of standardized format are now being implemented besides Matrix binary, which is the only HARK-specific file format. In addition, a library that supports file input/output functions called "libharkio3" was created for easy file manipulation.

HARK  mainly uses the following three formats:

  1. XML: Files that render the position. The extension is .xml

  2. Matrix binary: Files that represent a matrix. The extensions is .mat

  3. Zip: An organization of files mentioned above used for complex file formats such as transfer functions, etc. The extension is .zip

Other file formats used in earlier versions are either integrated to the file formats above or converted into a standardized format.

Table 5.1 shows the list of files that can be configured in the node’s input/output or property settings.

Table 5.1: HARK nodes that uses file I/O

Node name

Where to use

File type

New format

Old format

SaveRawPCM 

Output

Raw Audio file

Raw Audio

No change

SaveWavePCM 

Output

Wave file

PCM Wave

No change

LocalizeMUSIC 

Property

TF(*) for localization

Zip

HGTF binary

SaveSourceLocation 

Output

Localization result

XML

Localization result text

LoadSourceLocation 

Property

Localization result

XML

Localization result text

GHDSS 

Property

TF(*) for separation

Zip

HGTF binary

 

Property

Microphone positions

XML

HARK text

 

Property

Stationary noise positions

XML

HARK text

 

Property

Initial separation matrix

Zip

HGTF binary

 

Output

Separation matrix

Zip

HGTF binary

SaveFeatures 

Output

Features

Matrix binary

float binary

SaveHTKFeatures 

Output

Features

HTK format

No change

DataLogger 

Output

Map data

XML

Map text

CMSave 

Property

Correlation matrix

Zip

Correlation matrix text

CMLoad 

Output

Correlation matrix

Zip

Correlation matrix text

JuliusMFT 

Commandline

Configuration

jconf (text)

No change

 

in jconf file

AM(*), phoneme list

julius format

No change

 

in jconf file

LM(*), dictionary

julius format

No change

harktool

harktool

Sound source positions list

XML

srcinf text

 

harktool

Impulse response

PCM Wave

float binary

TF: Transfer Function, AM: Acoustic Model, LM: Language Model

The rest of the chapter will discuss the 3 file formats in detail. Regarding Julius format, see the Julius document for reference. Regarding the difference between the file formats from the original Julius , see the discussion on JuliusMFT . For Raw Audio Format and PCM Wave Format, see the discussion on standard format.