5.3.3 float binary

This is a file that stores real numbers in 32 bit floating-point numbers of IEEE 758 by little endian. In HARK , this is a file format mainly used for feature vectors and impulse response data.

Feature vector

Feature vectors are real-valued. They are output in SaveFeatures and their suffix is .spec. Dimensional elements of the vectors are written from a low dimensional direction to a high-dimensional direction. The meaning of vector values differs depending on users. Features usually used in HARK are power spectra, MFCC, MSLS and Missing Feature Mask. Note that, the header information for the features is not saved in SaveFeatures , so the number of dimensions and vectors are not recorded. HARK supports SaveHTKFeatures which records HTK(The Hidden Markov Model Toolkit)-formatted header information to the features. Therefore, you can use either SaveFeatures or SaveHTKFeatures depending on your purpose.

Inpulse response format

This format represents impulse responses between a source position and microphone. Its standard suffix is .flt, and it is used to create a matrix of transfer function in harktool. To convert a file of this format into text, users create a program like the following example.

#include <stdio.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{int fd=0; float data=0; fd = open(argv[1], O_RDONLY);
while(1){
int ret = read(fd, &data, 4); 
/* 4 [byte] = 32 [bit] */
if( ret != 4){break;}
printf("\%f\n", data);}
close(fd);return (0);}