Audio LoopBack Test (Compact 7)
3/12/2014
The Audio LoopBack Test uses an audio loopback cable to sample the output waveform at the microphone input. The sampled waveform is then saved for post-analysis. The sampled waveform must not have long latency.
Test Prerequisites
Your device must meet the following requirements before you run this test.
The following table shows the hardware requirements for the Audio LoopBack Test.
Requirement | Description |
---|---|
Test device with analog line level audio output |
A device used for testing purposes that provides an audio output which can be directed. |
Test device with analog microphone audio input |
A device used for testing purposes that provides a microphone to receive audio input. |
Loop-back cable |
A cable that feeds the audio output generated during the test back into the audio input device. |
The following table shows the software requirements for the Audio LoopBack Test.
Requirement | Description |
---|---|
loopbacktest.dll |
The tux test module containing the loopback test |
Any 3rd party sound editing application |
The application should allow visualization of the recorded output waveforms to within 1 ms granularity. |
Sinewave_8000.wav |
A 30-second 16-bit Mono 8000Hz audio wave file for playback |
Sinewave_16000.wav |
A 15-second 16-bit Mono 16000Hz audio wave file for playback |
Subtests
This test has no subtests.
Setting Up the Test
Connect the analog-line level-audio output on the device being tested to the analog microphone audio input by using a loopback cable.
Verify that loopbacktest.dll and the two audio sample files provided, Sinewave_8000 and Sinewave_16000, are available in the release directory on the device being tested.
Running the Test
Syntax
tux.exe -o -d loopbacktest.dll -c "-i sinewave_8000.wav -o LoopBackTestMedia.wav"
tux.exe -o -d loopbacktest.dll -c "-i sinewave_16000.wav -o LoopBackTestMedia.wav"
Loopbacktest.dll module's command-line parameters
Parameter | Description |
---|---|
-i PlaybackFilename |
Required, the full path of the playback file. |
-o CaptureFilename |
Required, the full path of the Loopback capture file. |
-d DeviceId |
Optional, identifies the device being tested. |
-v Volume |
Optional, specifies the volume setting. The low-order contains the left-channel volume setting, and the high-order word contains the right-channel setting. A value of 0xFFFF indicates full volume while 0x0000 indicates silence. |
-? |
Optional, displays the usage of the loopbacktest.dll command-line parameters. |
1. Boot the CE device with the image.
2. Execute the following tux command.
tux -o -d loopbacktest.dll -c "-i sinewave_8000.wav -o LoopBackTestMedia.wav"
3. If the testsuite passes, then compare the media file LoopBackTestMedia.wav and sinewave_8000.wav by playing them manually
4. Optionally, change the command line to test with the sinewave_16000.wav file.
Verifying the Test
If the test succeeds, the test creates an output file at the specified location with the specified name.
To validate the Audio LoopBack test
1. Open the 3rd party sound editor application.
2. Open the output file generated by the loopback test.
3. Zoom in at the start of the waveform until you get clarity of 1 ms.
4. Write down the reading of the cursor position at the very start of the first sample of the audio file. (Initially, the waveform will be flat since there was no sample taken.) For example, the reading is .201313 seconds.
5. Subtract 0.200000 from the reading you obtained to get the input+output delay in seconds. Using the above example value, the delay is calculated by 0.201313 - 0.200000=0.001313 seconds = 13ms.
6. To pass the test, the input+output value determined in Step 5 must be less than 20ms.
Troubleshooting the Test
The audio hardware on the device may have too much latency if the loopback starts to record more than 20ms after playback has started.
For additional platform specific issues, consult the CTK articles on the TechNet wiki.