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.
Lessen the use of HARK special formats and use standardized format if possible.
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:
XML: Files that render the position. The extension is .xml
Matrix binary: Files that represent a matrix. The extensions is .mat
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.
Node name |
Where to use |
File type |
New format |
Old format |
Output |
Raw Audio file |
Raw Audio |
No change |
|
Output |
Wave file |
PCM Wave |
No change |
|
Property |
TF(*) for localization |
Zip |
HGTF binary |
|
Output |
Localization result |
XML |
Localization result text |
|
Property |
Localization result |
XML |
Localization result text |
|
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 |
|
Output |
Features |
Matrix binary |
float binary |
|
Output |
Features |
HTK format |
No change |
|
Output |
Map data |
XML |
Map text |
|
Property |
Correlation matrix |
Zip |
Correlation matrix text |
|
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 |
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.