UTS Audio.dll
於 2020年8月3日 (一) 17:31 由 Vincentcheng2116(討論 | 貢獻) 所做的修訂
UTS_Audio
=== install file: UTS_Audio01000010.exe ===
- load audio dll
- assign device (output and capture)
- generate freq
- analysis
- log result
once install files will stay under c:\Program Files (x86)\Logitech\UTS\UTS_Audio\
UTS_Audio.dll
UTS_Audio_dlg.exe
DOC:
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> |
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> |
調整訣竅:
- 發出的音量 (觀察 RMS value )要適當. 在合適的音壓之下. 才會有好的THD 表現
- 在沒有回音 的無響箱或無響室, 調整音量, 觀察THD 變化. 得到穩定且低的 THD 值. 就是 整個系統 ( 輸入源. 輸出檔) 的良好設定.
- 音量過大聲會失真(有二次諧波變大), 過小背景雜音比例大, THD 也會不好) 以 Lenovo 筆電 用耳麥 為例 音壓 (RMS value 應該落在 2000mV左右 THD 表現比較好
- 經過不斷的試驗才能找到 合理的音量 得到好的THD
聲源的 優化:
- 業界通常用 Hanning 作為音源的pre-process 提供給FFT分析軟件分析. 得到的spectrum 比較一致.
專有名詞
- THD ( Total harmonic distortion ) 总谐波失真- 维基百科,自由的百科全书
- Peak Power / Peak Frequency 在 Frequency domain 裡面最高位置的 頻率( x 軸) & level (Y 軸)