blob: 38637d7903d6027cb8720c11e03732e149bd0fe0 [file] [log] [blame]
page.title=Audio Framework CTS Verifier
@jd:body
<!--
Copyright 2016 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol id="auto-toc">
</ol>
</div>
</div>
<p>This new suite of tests requires human intervention and some external hardware
including a <a href="#loopback_latency">Loopback Plug</a>, a <a
href="#audio_frequency_speaker_test">USB reference microphone</a> and <a
href="#audio_frequency_microphone_test">external speakers</a>. For devices without 3.5
mm (⅛”) headset port, the user will be able to skip the test and mark it as
successful. See the sections below for details.</p>
<h2 id=loopback_latency>Loopback plug latency test</h2>
<p><a
href="{@docRoot}devices/audio/latency_measure.html#measuringRoundTrip">Round
trip latency</a> in audio is defined as the time it takes an audio signal to be
recorded, processed and output back.</p>
<p>To measure round-trip latency using CTS Verifier, connect a loopback
plug to the 3.5 mm (⅛”) headset connector. (If you don’t have a loopback plug,
you can easily make one following the <a
href="{@docRoot}devices/audio/loopback.html">Audio Loopback Dongle</a>
instructions.</p>
<table>
<tr>
<td width="50%">Start CTS Verifier Loopback Test</td>
<td width="50%"><img src="images/audio-framework0.png" alt="audio latency loopback" width="300"
id="audio_latency_loopback" /></td>
</tr>
<tr>
<td>Summary of instructions is displayed</td>
<td><img src="images/audio-framework1.png" alt="summary of instructions" width="300"
id="loopback_instructions" /></td>
</tr>
<tr>
<td>Report if the device has a headset port:<br>
<strong>YES</strong> if the device under test has a physical headset port<br>
<strong>NO</strong> if there is no headset port</td>
<td><img src="images/audio-framework-port.png" alt="audio loopback latency" width="300"
id="port_check" /></td>
</tr>
<tr>
<td>If the answer was <strong>NO</strong> in the previous step, press
<strong>Pass</strong> (green check) on the bottom of the test and finish</td>
<td><img src="images/audio-framework-pass.png" alt="audio pass button" width="300"
id="port_pass" /></td>
</tr>
<tr>
<td>If the answer was <strong>YES</strong> in the previous step, continue
to connect loopback plug.<br>
Connect a loopback plug to the headset port<br>
Press the <strong>Loopback Plug Ready</strong> button
<td><img src="images/audio-framework2.png" alt="audio pass button" width="300"
id="port_pass" /></td>
</tr>
<tr>
<td>Move the slider until the signal level is greater than 60%<br>
Press <strong>TEST</strong></td>
<td><img src="images/audio-framework3.png" alt="audio level 1" width="300"
id="audio_level1" />
<img src="images/audio-framework4.png" alt="audio level 2" width="300"
id="audio_level2"></td>
</tr>
<tr>
<td>Wait several seconds while the latency test is performed</td>
<td><img src="images/audio-framework5.png" alt="test running" width="300"
id="test_running" /></td>
</tr>
<tr>
<td>When the test is finished, results are shown<br>
The minimum confidence level for a test to succeed is 0.6<br>
Lower latency numbers are preferred, but no number is enforced</td>
<td><img src="images/audio-framework6.png" alt="test finished" width="300"
id="test_finished" />
</td>
</tr>
<tr>
<td>Press the <strong>Pass</strong> (green, only available if successful) or
<strong>Failed</strong> (red) button to record the results.</td>
<td><img src="images/audio-framework7.png" alt="Pass button" width="300"
id="pass_button" /><br>
<img src="images/audio-framework8.png" alt="Failed button" width="300"
id="failed_button" /></td>
</tr>
</table>
<h2 id=audio_frequency_line_test>Audio frequency line test</h2>
<p>Using a loopback plug, this test will characterize the left/right line audio
output and use the mic feedback from the plug to capture audio and compute a
frequency response for each channel.</p>
<p>A simple criterion for minimum energy expected in each band (out of four) is
applied per channel.</p>
<table>
<tr>
<td width="50%">Start CTS Audio Frequency Line Test</td>
<td width="50%"><img src="images/audio-framework9.png" alt="start frequency line" width="300"
id="start_line_test" /></td>
</tr>
<tr>
<td>Summary of instructions is displayed</td>
<td><img src="images/audio-framework10.png" alt="instructions" width="300"
id="summary_instructions" /></td>
</tr>
<tr>
<td>Report if the device has a headset port:<br>
<strong>YES</strong> if the device under test has a physical headset port<br>
<strong>NO</strong> if there is no headset port</td>
<td><img src="images/audio-framework-line-port.png" alt="audio frequency line" width="300"
id="line_port_check" /></td>
</tr>
<tr>
<td>If the answer was <strong>NO</strong> in the previous step, press
<strong>Pass</strong> (green check) on the bottom of the test and finish</td>
<td><img src="images/audio-framework-pass.png" alt="audio pass button" width="300"
id="port_pass" /></td>
</tr>
<tr>
<td>If the answer was <strong>YES</strong> in the previous step, continue
to connect loopback plug<br>
Connect a Loopback Plug to the headset connector (see <a
href="#loopback_latency">Loopback plug latency test</a>)<br>
Press the <strong>Loopback Plug Ready</strong> button
<td><img src="images/audio-framework11.png" alt="loopback plug ready" width="300"
id="port_pass" /></td>
</tr>
<td>Press <strong>TEST</strong></td>
<td><img src="images/audio-framework12.png" alt="loopback plug test" width="300"
id="loopback_plug_test" /></td>
</tr>
<tr>
<td>Wait several seconds while the frequency tests are performed</td>
<td><img src="images/audio-framework13.png" alt="testing left capture" width="300"
id="left_capture" /></td>
</tr>
<tr>
<td>When the test is finished, results are shown</td>
<td><img src="images/audio-framework14.png" alt="testing complete" width="300"
id="test_complete" /></td>
</tr>
<td>Press the <strong>Pass</strong> (only available if successful) or
<strong>Failed</strong> button to record the results</td>
<td><img src="images/audio-framework15.png" alt="Pass button" width="300"
id="pass_button" /><br>
<img src="images/audio-framework16.png" alt="Failed button" width="300"
id="failed_button" /></td>
</tr>
</table>
<h2 id=audio_frequency_speaker_test>Audio frequency speaker test</h2>
<p>This test uses the signal captured by an external USB reference microphone to
assess the frequency response of left (and right, if it exists) loudspeakers.</p>
<p>A reference microphone is defined as that one that delivers flat, uncolored
response. They are often used for analysis and measurement equipment. </p>
<p>There are some inexpensive USB Reference microphones (e.g., <a
href="https://minidsp.com/products/acoustic-measurement/umik-1">miniDSP USB
Measurement calibrated microphone</a>, <a
href="http://www.daytonaudio.com/index.php/umm-6-usb-measurement-microphone.html">Dayton
Audio UMM-6 USB Measurement Microphone</a>), mostly used for the home theater
enthusiasts to calibrate their setups.</p>
<p>Minimum recommended reference microphone characteristics:<br>
Flat Frequency response on range 100 Hz - 20 kHz: +/- 2 dB<br>
S/N ration 70 dB (A-weighted)<br>
THD Ratio @ 1000 Hz less than 1 % at 127 dB SPL<p>
<table>
<tr>
<td width="50%">Start CTS Audio Frequency Speaker Test</td>
<td width="50%"><img src="images/audio-framework17.png" alt="start speaker test" width="300"
id="start_speaker" /></td>
</tr>
<tr>
<td>Summary of instructions is displayed</td>
<td><img src="images/audio-framework18.png" alt="instructions" width="300"
id="summary_instructions" /></td>
</tr>
<tr>
<td>Connect a USB reference microphone (see <a
href="#audio_frequency_speaker_test">Audio frequency speaker test</a>)<br>
Press <strong>USB REFERENCE MICROPHONE READY</strong></td>
<td><img src="images/audio-framework19.png" alt="mic ready" width="300"
id="mic_ready" /></td>
</tr>
<tr>
<td>Set up DUT (Device Under Test) in a quiet room and USB microphone 20cms
perpendicular to center of screen</td>
<td><img src="images/audio-framework20.png" alt="device under test" width="300"
id="dut" /></td>
</tr>
<tr>
<td>Press <strong>TEST</strong></td>
<td><img src="images/audio-framework21.png" alt="click test" width="300"
id="click_test" /></td>
</tr>
<tr>
<td>Wait several seconds while the frequency tests are performed</td>
<td><img src="images/audio-framework22.png" alt="test underway" width="300"
id="right_capture" /></td>
</tr>
<tr>
<td>When the test is finished, results are shown</td>
<td><img src="images/audio-framework23.png" alt="test complete" width="300"
id="test_complete" /></td>
</tr>
</tr>
<td>Press the <strong>Pass</strong> (only available if successful) or
<strong>Failed</strong> button to record the results</td>
<td><img src="images/audio-framework24.png" alt="Pass button" width="300"
id="pass_button" /><br>
<img src="images/audio-framework25.png" alt="Failed button" width="300"
id="failed_button" /></td>
</tr>
</table>
<h2 id=audio_frequency_microphone_test>Audio frequency microphone test</h2>
<p>This test is more involved than the previous ones. It requires the use of both:
External speakers for a white noise sound source, and a USB reference
microphone to use as a reference for the sound. Although this process is more
involved, it can be performed with affordable, easy to get, hardware</p>
<p>External speakers positioned 40cm from the device are used to deliver a white
noise sound source. These speakers don’t need to have a “Flat” frequency
response, but need good coverage from low frequencies (100 hz) to high
frequencies (20khz) is expected which is usually met by portable or medium size
self powered speakers (e.g. Sony SRS-X5 portable speakers) </p>
<p>The key element here is that a step for calibration (using the USB reference
microphone) is performed, to estimate the actual response of the speakers, thus
have a solid reference to compare the built in microphone against.</p>
<table>
<tr>
<td width="50%">Start CTS Audio Frequency Microphone Test</td>
<td width="50%"><img src="images/audio-framework26.png" alt="start mic test" width="300"
id="start_mic_test" /></td>
</tr>
<tr>
<td>Summary of instructions is displayed</td>
<td><img src="images/audio-framework27.png" alt="instructions" width="300"
id="summary_instructions" /></td>
</tr>
<tr>
<td>Set up DUT in a quiet room<br>
Position the speakers 40cm perpendicular to the center of the screen
of the DUT (see <a href="#audio_frequency_microphone_test">Audio
frequency microphone test </a>)</td>
<td><img src="images/audio-framework28.png" alt="device under test" width="300"
id="device_position" /></td>
</tr>
<tr>
<td>Report if the device has a headset port:<br>
<strong>YES</strong> if the device under test has a physical headset port<br>
<strong>NO</strong> if there is no headset port</td>
<td><img src="images/audio-framework-mic-port.png" alt="audio microphone test" width="300"
id="mic_port_check" /></td>
</tr>
<tr>
<td>If the answer was <strong>NO</strong> in the previous step, press
<strong>Pass</strong> (green check) on the bottom of the test and finish</td>
<td><img src="images/audio-framework-pass.png" alt="mic headset pass button" width="300"
id="mic_port_pass" /></td>
</tr>
<tr>
<td>If the answer was <strong>YES</strong> in the previous step, continue
to connect external speakers.<br>
Connect external speakers using the headphone/line out connector
(remember to unplug any USB microphone)<br>
Press <strong>EXTERNAL SPEAKERS READY</strong></td>
<td><img src="images/audio-framework29.png" alt="external speakers ready" width="300"
id="speakers_ready" /></td>
</tr>
<tr>
<td>Press <strong>TEST 1</strong></td>
<td><img src="images/audio-framework30.png" alt="no USB device" width="300"
id="no_usb_device" /></td>
</tr>
<tr>
<td>Wait several seconds for test 1 to complete.</td>
<td><img src="images/audio-framework31.png" alt="testing underway" width="300"
id="testing_incomplete" /></td>
</tr>
<tr>
<td>When test 1 is completed, results for the built in microphone are shown.</td>
<td><img src="images/audio-framework32.png" alt="test results" width="300"
id="testing_complete" /></td>
</tr>
<tr>
<td>Connect a USB Reference microphone (see <a
href="#audio_frequency_speaker_test">Audio frequency speaker test
</a>)<br>
Press <strong>USB REFERENCE MICROPHONE READY</strong></td>
<td><img src="images/audio-framework33.png" alt="microphone ready" width="300"
id="mic_ready" /></td>
</tr>
<tr>
<td>Position USB microphone right next to built-in microphone in DUT,
pointing towards external speakers</td>
<td><img src="images/audio-framework34.jpg" alt="device position" width="300"
id="device_position" /><br>
<img src="images/audio-framework35.png" alt="mic position" width="300"
id="mic-position" /></td>
</tr>
<tr>
<td>Press <strong>TEST 2</strong></td>
<td><img src="images/audio-framework36.png" alt="USB detected" width="300"
id="usb-detected" /></td>
</tr>
<tr>
<td>Wait several seconds while the test 2 runs</td>
<td><img src="images/audio-framework37.png" alt="test running" width="132"
id="test_running" /></td>
</tr>
<tr>
<td>When test 2 is completed, results for the USB reference microphone are
shown.</td>
<td><img src="images/audio-framework38.png" alt="testing completed" width="300"
id="testing_completed" /></td>
</tr>
<tr>
<td>Press the <strong>Pass</strong> (only available if successful) or
<strong>Failed</strong> button to record the results.</td>
<td><img src="images/audio-framework39.png" alt="Pass button" width="300"
id="pass_button" /><br>
<img src="images/audio-framework40.png" alt="Failed button" width="300"
id="failed_button" /></td>
</tr>
</table>