UTS Audio.dll
跳至導覽
跳至搜尋
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
Scrip example:
| 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 軸)
Frequency Response (頻率響應的測試)
- 給一段 頻率範圍 (例如: 1000Hz ~ 6000Hz )
- 設置想要達到的dB值 (例如 -40 dB)
- 設置喇叭(音源) 與 輸入(mic) 的相對位置.
- 將輸出reset 到輸出最大音量 (每次都要做(有bug必須要做))
- 執行 Frequency Response. ap 會開始調適適合的音量 來符合你的期望dB值 (調整不到則會 fail 跳出 )
- pass 的話 會輸出 每個頻率所需要的音量大小
用於分析 麥克風與 喇叭的頻率響應 敏度 範例圖如右
difference between real time analysis THD or load wave file to analysis