5.3.1 Source position list information (srcinf) format

This is a file used in harktool to create a source position transfer function file (Set in A_MATRIX of LocalizeMUSIC ) and a sound source separation transfer function file (set in TF_CONJ_FILE of GHDSS ).

Description format
until hark1.1 is TEXT format
since hark1.2 is XML format.

The description of the tag
Table 5.9: sound source position Tag1

tag name

Description

hark_config

File Type

 

id : "ImpulseResponseList" or "TSPList" fix

 

major: Major number (2)

 

minor: Minor number (0)

NumMic

number of microphones

SourceFileType

"float" or "wav"

Sources size

number of elements

Comment

Comment

Position

Coordinate position of sound source position

 

[Measurement coordinate] Measurement coordinate represents

 

directional vectors from the center (an origin) of a microphone array to a measurement point (x, y, z).

 

Users are to describe so that the magnitude of the vector $\sqrt {x^2 y^2 z^2}$ becomes 1.0.

 

unit: meter

 

type: cartesian

X

sound source position: X axis (Refer to Position tag)

Y

sound source position: Y axis (Refer to Position tag)

Z

sound source position: Z axis (Refer to Position tag)

Files size

number of Files size

Table 5.10: sound source position Tag2

tag name

Description

Name

file name

 

impulse response file name or TSP response file name

 

impulse response:

 

example_Dddd_Eeee_Rrrr_chcc.flt

 

( “example” is Any ddd

is Azimuth 、eee is Elevation,rrr is Radius,cc is Channel number)


In addition, flt is little-endian 32bit real number float Format file
Example: Azimuth:180degree Elevation:16.7degree Radius:0.1m
/path/example_D180_E16.7_R100_ch00.flt

TSP response:
example_Dddd_Eeee_Rrrr_chcc.wav
( “example” is Any 、ddd is Azimuth 、eee is Elevation,rrr is Radius,cc is Channel number)
Each file can use only PCM wave format of RIFF form.
Example: Azimuth:180degree Elevation:16.7degree Radius:0.1m
/path/example_D180_E16.7_R100_ch00.wav
MicIndices size number of mic
MicIndex Mic number
CutStart cut-start index in float vector
Users designate from which line in an impulse response
file the data reading starts. For example, if the user designates 1,
reading starts from the first sample. Data reading usually is
performed without problems with 1.
Offset values must be positive integer.
CutEnd cut-end index in float vector
Data is read until the sample number specified by End Offset.
For example, when Start offset and End offset are set to 100 and 200, respectivly, 100th to 200th
samples are read in the file named File name.
The value should be a positive integer.
SynchronousAverge number of Synchronous Averge
OriginalImpulseFile Original Impulse File
TSPOffset offset of tsp signal in samples
TSPLength length of one tsp in sample
SignalMax maximum Amplitude of tsp signal
NoiseSources size number of elements
NoiseIndex number of Microphone



Example:ImpulseResponseList file
<hark_xml>
  <hark_config id="ImpulseResponseList" major="2" minor="0">
    <NumMic>8</NumMic>
    <SourceFileType>float</SourceFileType>
    <Comment>created by harktool4</Comment>
    <Sources size="72">
      <Source>
        <Position unit="meter" type="cartesian">
          <X>-0.957823</X>
          <Y>8.37355e-08</Y>
          <Z>0.287361</Z>
        </Position>
        <Files size="8">
          <File>
            <Name>/YOUR_PATH/D-180_E16.7_R100_ch00.flt</Name>
            <MicIndices size="1">
              <MicIndex>0</MicIndex>
            </MicIndices>
          </File>
          <File>
            <Name>/YOUR_PATH/D-180_E16.7_R100_ch01.flt</Name>
            <MicIndices size="1">
              <MicIndex>1</MicIndex>
            </MicIndices>
          </File>
            .
            .
        </Files>
        <CutStart>1</CutStart>
        <CutEnd>0</CutEnd>
      </Source>
            .
            .
    </Sources>
  </hark_config>
</hark_xml>


Example: TSP List file
  <hark_config id="TSPList" major="2" minor="0">  
      <SynchronousAverage>16</SynchronousAverage>  
      <OriginalImpulseFile type="float">
        /usr/bin/harktool4_utils/16384.little_endian.tsp
      </OriginalImpulseFile>
      <TSPOffset>16384</TSPOffset>  
      <TSPLength>16384</TSPLength>  
      <SignalMax>32768</SignalMax>  
      <NumMic>8</NumMic>  
      <SourceFileType>float</SourceFileType>  
      <Comment>created by harktool4</Comment>  
      <Sources size="72">  
          <Source>  
              <Position unit="meter" type="cartesian">  
                <X>-0.957823</X>  
                <Y>8.37355e-08</Y>  
                <Z>0.287361</Z>  
              </Position>  
              <Files size="1">  
                <File>  
                  <Name>/YOUR_PATH/D180_E16.7_R100.wav</Name>  
                    <MicIndices size="8">  
                      <MicIndex>0</MicIndex>  
                      <MicIndex>1</MicIndex>  
                      <MicIndex>2</MicIndex>  
                      <MicIndex>3</MicIndex>  
                      <MicIndex>4</MicIndex>  
                      <MicIndex>5</MicIndex>  
                      <MicIndex>6</MicIndex>  
                      <MicIndex>7</MicIndex>  
                    </MicIndices>  
                  </File>  
                </Files>  
              <CutStart>1</CutStart>  
            <CutEnd>0</CutEnd>  
          </Source>  
            .
            .
      </Sources>  
    </hark_config>  
</hark_xml>