Audio LoopBack Test (Compact 2013)

3/26/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.

See Also

Other Resources

Audio Tests