UTS Audio.dll

出自ITTS
於 2020年8月4日 (二) 09:11 由 Vincentcheng2116討論 | 貢獻 所做的修訂
跳至導覽 跳至搜尋

UTS_Audio

=== install file: UTS_Audio01000010.exe ===

  • load audio dll
  • assign device (output and capture)
  • generate freq
  • analysis
  • log result

可分析

  • 即時的 音源
  • 也可以分析 .wav 的檔案 sample code 裡面都有
  • 可由device name or GUID 來選擇要輸入/輸出的 裝置 GUID 空白時就以 default device 來控制

once install files will stay under c:\Program Files (x86)\Logitech\UTS\UTS_Audio\

UTS_Audio.dll

UTS_Audio_dlg.exe

DOC:

UTS audio load.png
DLL Load /debug example (copy scrip contents phase to scrip editor)
    <Item> 
      <Text> </Text> 
      <Description> load UTS_Audio.dll</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 1</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> load</ItemSection2> 
      <ItemCommand> ['&TESTPLANPATH'+"UTS_Audio.dll"]</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
      </Parameter> 
    </Item> 
    <Item> 
      <Text> </Text> 
      <Description> load UTS_Audio.dll</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 2</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> load</ItemSection2> 
      <ItemCommand> .\UTS_Audio\UTS_Audio.dll</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
      </Parameter> 
    </Item> 
    <Item> 
      <Text> </Text> 
      <Description> ShowDebugForm</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 2</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> execute</ItemSection2> 
      <ItemCommand> UTS_Audio.dll</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
        <i3>
          <Content>Debug</Content>
          <Description>CMD</Description>
        </i3>
        <i4>
          <Content>ShowDebugForm</Content>
          <Description>SubCmd</Description>
        </i4>
      </Parameter> 
    </Item> 
UTS audio device assign.png
refresh device assign Play and Capture device (copy scrip contents phase to scrip editor)
    <Item> 
      <Text> </Text> 
      <Description> (Debug)RefreshDeviceList</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 1</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> execute</ItemSection2> 
      <ItemCommand> UTS_Audio.dll</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
        <i3>
          <Content>Debug</Content>
          <Description>CMD</Description>
        </i3>
        <i4>
          <Content>RefreshDeviceList</Content>
          <Description>SubCommand</Description>
        </i4>
      </Parameter> 
    </Item> 
    <Item> 
      <Text> </Text> 
      <Description> (Play)CreateDeviceByName</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 1</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> execute</ItemSection2> 
      <ItemCommand> UTS_Audio.dll</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
        <i3>
          <Content>Play</Content>
          <Description>CMD</Description>
        </i3>
        <i4>
          <Content>CreateDeviceByName</Content>
          <Description>SubCmd</Description>
        </i4>
        <i5>
          <Content>1</Content>
          <Description>DeviceIndex</Description>
        </i5>
        <i6>
          <Content>Speakers (Conexant SmartAudio HD)</Content>
          <Description>Name</Description>
        </i6>
        <i7>
          <Content>192000</Content>
          <Description>SamplesPerSec</Description>
        </i7>
        <i8>
          <Content>16</Content>
          <Description>BitsPerSample</Description>
        </i8>
        <i9>
          <Content>2</Content>
          <Description>Channels</Description>
        </i9>
      </Parameter> 
    </Item> 
    <Item> 
      <Text> </Text> 
      <Description> (Capture)CreateDeviceByName</Description> 
      <ItemType> 2</ItemType> 
      <Skip> 1</Skip> 
      <ItemSection1> DLL</ItemSection1> 
      <ItemSection2> execute</ItemSection2> 
      <ItemCommand> UTS_Audio.dll</ItemCommand> 
      <FailAction> </FailAction> 
      <FieldName> </FieldName> 
      <FieldNumber> </FieldNumber> 
      <ErrorCode> </ErrorCode> 
      <RetryTimes> 0</RetryTimes> 
      <RetryDelay> 0</RetryDelay> 
      <Process> </Process> 
      <FieldType> </FieldType> 
      <Parameter> 
        <i1>
          <Content></Content>
          <Description>Min</Description>
        </i1>
        <i2>
          <Content></Content>
          <Description>Max</Description>
        </i2>
        <i3>
          <Content>Capture</Content>
          <Description>CMD</Description>
        </i3>
        <i4>
          <Content>CreateDeviceByName</Content>
          <Description>SubCmd</Description>
        </i4>
        <i5>
          <Content>1</Content>
          <Description>DeviceIndex</Description>
        </i5>
        <i6>
          <Content>Microphone Array (Conexant SmartAudio HD)</Content>
          <Description>Name</Description>
        </i6>
        <i7>
          <Content>192000</Content>
          <Description>SamplesPerSec</Description>
        </i7>
        <i8>
          <Content>16</Content>
          <Description>BitsPerSample</Description>
        </i8>
        <i9>
          <Content>2</Content>
          <Description>Channels</Description>
        </i9>
      </Parameter> 
    </Item> 
wav file analysis (copy scrip contents phase to scrip editor)
    <Item> 
      <Text> 1KHz</Text> 
      <Description> Test Group</Description> 
      <ItemType> 1</ItemType> 
      <Skip> 1</Skip> 
      <SubItem> 
         <Item> 
           <Text> Perfect 1KHz</Text> 
           <Description> </Description> 
           <ItemType> 1</ItemType> 
           <Skip> 1</Skip> 
           <SubItem> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)LoadWaveFile_Perfect440Hz</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> </FieldName> 
                <FieldNumber> </FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>LoadWaveFile</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>['&TESTPLANPATH'+"1kHz_44100Hz_16bit_05sec.wav"]</Content>
                    <Description>FileName</Description>
                  </i6>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_THD</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Perfect_THD;1K_Perfect_Freq</FieldName> 
                <FieldNumber> 26;27</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_THD</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSKip</Description>
                  </i6>
                  <i7>
                    <Content>1000</Content>
                    <Description>TargetFreqency</Description>
                  </i7>
                  <i8>
                    <Content>3</Content>
                    <Description>WindowType</Description>
                  </i8>
                  <i9>
                    <Content>5</Content>
                    <Description>nHarmonics</Description>
                  </i9>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_DC_RMS_Stddev</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Perfect_DC;1K_Perfect_RMS;1K_Perfect_STDDev</FieldName> 
                <FieldNumber> 28;29;30</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_DC_RMS_Stddev</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSkip</Description>
                  </i6>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_Estimate_ACDC</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Perfect_EST_AC_LVL;1K_Perfect_EST_DC;1K_Perfect_EST_STD;1K_Perfect_dbFS;</FieldName> 
                <FieldNumber> 31;32;33;34;</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_Estimate_ACDC</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSkip</Description>
                  </i6>
                </Parameter> 
              </Item> 
           </SubItem> 
         </Item> 
         <Item> 
           <Text> Noise 1KHz</Text> 
           <Description> </Description> 
           <ItemType> 1</ItemType> 
           <Skip> 1</Skip> 
           <SubItem> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)LoadWaveFile_Perfect440Hz</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> </FieldName> 
                <FieldNumber> </FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>LoadWaveFile</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>['&TESTPLANPATH'+"1KHz_Record.wav"]</Content>
                    <Description>FileName</Description>
                  </i6>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_THD</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Noise_THD;1K_Noise_Freq</FieldName> 
                <FieldNumber> 35;36</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_THD</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSKip</Description>
                  </i6>
                  <i7>
                    <Content>1000</Content>
                    <Description>TargetFreqency</Description>
                  </i7>
                  <i8>
                    <Content>3</Content>
                    <Description>WindowType</Description>
                  </i8>
                  <i9>
                    <Content>5</Content>
                    <Description>nHarmonics</Description>
                  </i9>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_DC_RMS_Stddev</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Noise_DC;1K_Noise_RMS;1K_Noise_STDDev</FieldName> 
                <FieldNumber> 37;38;39</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_DC_RMS_Stddev</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSkip</Description>
                  </i6>
                </Parameter> 
              </Item> 
              <Item> 
                <Text> </Text> 
                <Description> (Capture)Get_Estimate_ACDC</Description> 
                <ItemType> 2</ItemType> 
                <Skip> 1</Skip> 
                <ItemSection1> DLL</ItemSection1> 
                <ItemSection2> execute</ItemSection2> 
                <ItemCommand> UTS_Audio.dll</ItemCommand> 
                <FailAction> </FailAction> 
                <FieldName> 1K_Noise_EST_AC_LVL;1K_Noise_EST_DC;1K_Noise_EST_STD;1K_Noise_dbFS;</FieldName> 
                <FieldNumber> 40;41;42;43;</FieldNumber> 
                <ErrorCode> </ErrorCode> 
                <RetryTimes> 0</RetryTimes> 
                <RetryDelay> 0</RetryDelay> 
                <Process> </Process> 
                <FieldType> </FieldType> 
                <Parameter> 
                  <i1>
                    <Content></Content>
                    <Description>Min</Description>
                  </i1>
                  <i2>
                    <Content></Content>
                    <Description>Max</Description>
                  </i2>
                  <i3>
                    <Content>Capture</Content>
                    <Description>CMD</Description>
                  </i3>
                  <i4>
                    <Content>Get_Estimate_ACDC</Content>
                    <Description>SubCmd</Description>
                  </i4>
                  <i5>
                    <Content>1</Content>
                    <Description>DeviceIndex</Description>
                  </i5>
                  <i6>
                    <Content>0</Content>
                    <Description>nSkip</Description>
                  </i6>
                </Parameter> 
              </Item> 
           </SubItem> 
         </Item> 
      </SubItem> 
    </Item> 

or

real time in out analysis(copy scrip contents phase to scrip editor)
    <Item> 
      <Text> Capture</Text> 
      <Description> Test Group</Description> 
      <ItemType> 1</ItemType> 
      <Skip> 1</Skip> 
      <SubItem> 
         <Item> 
           <Text> </Text> 
           <Description> (Play)CreateDeviceByName</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 2</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Play</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>CreateDeviceByName</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>Intel(r) Integrated Audio</Content>
               <Description>Name</Description>
             </i6>
             <i7>
               <Content>192000</Content>
               <Description>SamplesPerSec</Description>
             </i7>
             <i8>
               <Content>16</Content>
               <Description>BitsPerSample</Description>
             </i8>
             <i9>
               <Content>2</Content>
               <Description>Channels</Description>
             </i9>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Play)Set_Channel</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Play</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Set_Channel</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>1</Content>
               <Description>Channel(default=1)</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Play)Set_Frequency</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Play</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Set_Frequency</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>1000</Content>
               <Description>Frequency</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Play)Play</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Play</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Play</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)CaptureData</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>CaptureData</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>2</Content>
               <Description>nSkip</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)Get_THD</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> THD;Peak_Frequency;Peak_Pwr</FieldName> 
           <FieldNumber> 44;45;46</FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Get_THD</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>2</Content>
               <Description>nSkip</Description>
             </i6>
             <i7>
               <Content>1000</Content>
               <Description>TargetFreqency</Description>
             </i7>
             <i8>
               <Content>3</Content>
               <Description>WindowType</Description>
             </i8>
             <i9>
               <Content>2</Content>
               <Description>nHarmonics</Description>
             </i9>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)Get_DC_RMS_Stddev</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> DC;RMS;STDDev</FieldName> 
           <FieldNumber> 47;48;49</FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Get_DC_RMS_Stddev</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>0</Content>
               <Description>nSkip</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)Get_Estimate_ACDC</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> EST_AC_LVL;EST_DC;EST_STD;dbFS</FieldName> 
           <FieldNumber> 50;51;52;53</FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Get_Estimate_ACDC</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>0</Content>
               <Description>nSkip</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)Get_Estimate_ACDC</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> EST_AC_LVL;EST_DC;EST_STD;dbFS</FieldName> 
           <FieldNumber> 50;51;52;53</FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Get_Estimate_ACDC</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>0</Content>
               <Description>nSkip</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)SaveAsWaveFile</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 2</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>SaveAsWaveFile</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>c:\csv_log\b1.wav</Content>
               <Description>FileName</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)SaveAsWaveFile pass</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 2</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>SaveAsWaveFile</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>["c:\csv_log\p"+'&Var:i'+".wav"]</Content>
               <Description>FileName</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Capture)LoadWaveFile</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Capture</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>LoadWaveFile</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
             <i6>
               <Content>D:\01Poject\UTS_Audio\440Hz_44100Hz_16bit_05sec.wav</Content>
               <Description>FileName</Description>
             </i6>
           </Parameter> 
         </Item> 
         <Item> 
           <Text> </Text> 
           <Description> (Play)STOP</Description> 
           <ItemType> 2</ItemType> 
           <Skip> 1</Skip> 
           <ItemSection1> DLL</ItemSection1> 
           <ItemSection2> execute</ItemSection2> 
           <ItemCommand> UTS_Audio.dll</ItemCommand> 
           <FailAction> </FailAction> 
           <FieldName> </FieldName> 
           <FieldNumber> </FieldNumber> 
           <ErrorCode> </ErrorCode> 
           <RetryTimes> 0</RetryTimes> 
           <RetryDelay> 0</RetryDelay> 
           <Process> </Process> 
           <FieldType> </FieldType> 
           <Parameter> 
             <i1>
               <Content></Content>
               <Description>Min</Description>
             </i1>
             <i2>
               <Content></Content>
               <Description>Max</Description>
             </i2>
             <i3>
               <Content>Play</Content>
               <Description>CMD</Description>
             </i3>
             <i4>
               <Content>Stop</Content>
               <Description>SubCmd</Description>
             </i4>
             <i5>
               <Content>1</Content>
               <Description>DeviceIndex</Description>
             </i5>
           </Parameter> 
         </Item> 
      </SubItem> 
    </Item> 

檔案:UTS audio lenovo720.zip

調整訣竅:

  • 發出的音量 (觀察 RMS value )要適當. 在合適的音壓之下. 才會有好的THD 表現
    • 在沒有回音 的無響箱或無響室, 調整音量, 觀察THD 變化. 得到穩定且低的 THD 值. 就是 整個系統 ( 輸入源. 輸出檔) 的良好設定.
    • 音量過大聲會失真(有二次諧波變大), 過小背景雜音比例大, THD 也會不好) 以 Lenovo 筆電 用耳麥 為例 音壓 (RMS value 應該落在 2000mV左右 THD 表現比較好
    • 經過不斷的試驗才能找到 合理的音量 得到好的THD

聲源的 優化:

  • 業界通常用 Hanning 作為音源的pre-process 提供給FFT分析軟件分析. 得到的spectrum 比較一致.
  • Hanning.png

















專有名詞


difference between real time analysis THD or load wave file to analysis

Realtime thd analysis



analysis wave file