USB audio CTS Verifier tests

Several Android Compatibility Test Suite (CTS) tests for Android USB audio require the physical connection of USB audio peripherals. For these, additional CTS Verifier tests have been implemented.

Nomenclature

Throughout this page, the term "device" and "peripheral" are used in a very precise manner:

  • Device refers to the Android device.
  • Peripheral refers to an external USB audio peripheral connected to the Android device.

Use the following peripherals for the USB audio CTS Verifier Tests.

USB audio interface

One of these peripherals is required to conduct the USB Audio Peripheral Attributes test. They can also be used for the Play test and Record test.

A USB audio interface (A PreSonus AudioBox 96). USB audio interface

USB headset

CTS Verifier tests use audio loopback to measure the latency of Android devices equipped with USB headsets and to detect issues in USB data paths.

Due to higher latency and an automatic echo cancellation feature that blocks the loopback signal,cmany USB adapters in the market are unsuitable for CTS Verifier testing. See USB audio adapter recommendations for more information.

The CTS Verifier USB Audio Buttons Test does not require a specific USB headset peripheral. It can be any of the following:

  • A USB headset peripheral that supports the Android USB headset accessory specification. These headset peripherals are often indicated by the manufacturer as "Made for Android".
  • An analog headset that supports the Android USB Headset Accessory Specification , connected to a USB-to-analog audio converter such as the Google USB-C digital to 3.5 mm headphone adapter.

    Known examples of compatible analog headset peripherals include the Bose SoundSport in-ear headphones – Samsung and Android devices, and the UrbanEars Reimers Black Belt made for Android headsets. These analog headsets must be connected to the device USB port with a USB-to-audio converter.

Note that in either case, the button must produce virtual key codes for all three of the required buttons (volume up, volume down, play/pause) for the test to succeed. Refer to the Software mapping section in Android USB Headset Accessory Specification for the virtual key codes.

A USB headset. USB headset

Required additional hardware

Patch cables (for loopback) two short ¼" male to ¼" male patch cables to connect the outputs to the inputs of the USB

¼" male to ¼" male patch cables. patch cables

USB peripheral cable

This cable (which typically comes with the peripheral), connects the USB audio peripheral to the host device. peripheral cable

USB "On The Go" (OTG) adapter

A USB "On The Go" (OTG) adapter is required to physically connect the peripheral to the Android device and indicate to the Android device that it should assume the role of "host". OTG adapter

Analog headphones to monitor the output of the USB audio interface for the Play test.

Set of analog headphones. analog headphones

Tests

In each test, indicate test success by tapping the test pass (check mark) button. Otherwise, indicate test failure by clicking the test fail (exclamation point) button.

Attributes test

Abstract

This test verifies that the attributes including supported sample rates, channel configurations, and sample formats match the set of a-priori known attributes of the device.

Process

After invoking the test from the main menu, connect a USB audio peripheral. If the attributes match, the test pass (check mark) button is enabled.

Select USB Audio Peripheral Attributes Test. attributes test
Summary of instructions is displayed. attributes summary
Pre-connect screen. attributes preconnect
USB audio peripheral connected to Android device with peripheral cable and OTG adapter. attributes connected
Post-connect screen. attributes post connection

Play test

Abstract

This test verifies that audio playback is functioning. It does this by generating a 1 KHz test tone and presents it in stereo (two channels) to the USB audio peripheral.

Process

After invoking the test from the main menu, connect the USB audio interface, including the analog headset, to the headset output jack on the interface for monitoring.

Press the PLAY button. If the test tone is heard in both channels of the headset, indicate test pass by clicking the test pass (check mark) button. If either or both of the channels don't play the tone, indicate test failure by clicking the test fail (exclamation point) button.

Notes

Select USB Audio Peripheral Play Test. play test
Summary of instructions is displayed. play summary
Pre-connect screen. play preconnect
Connect the USB audio peripheral to the Android device.

The headphones are connected to the headphone output jack on the USB audio interface for monitoring.

play connected
Post-connect screen. play post connection

Record (loopback) test

Abstract

This test verifies that audio recording is functioning by generating a tone at the outputs of the USB audio interface, which is then routed through patch cords to the inputs of the USB audio peripheral.

Process

After invoking the test from the main menu, connect the USB audio interface. Connect the analog outputs to the analog inputs with patch cables. Press the RECORD LOOPBACK button. If both the channels of the recorded test tone are shown in the view below, indicate test pass by clicking the test pass (check mark) button. If either or both of the channels isn't displayed, indicate test failure by clicking the test fail (exclamation point) button.

Notes

Ensure positive connection of both input and output jacks on the peripheral. Adjust the input levels to correctly display the recorded signal.

Select USB Audio Peripheral Record Test. record test
Summary of instructions is displayed. record summary
Pre-connect screen. record preconnect
USB audio Interface with loopback connected to Android device. record connected
Connections on the back of the USB audio interface. record connected in back
Connections on the front of the USB audio interface. record connected in front
Post-connect screen. record post connection
Post-connect screen, with record test running. record postconnect running

Headset buttons test

Abstract

This test verifies that the media/transport buttons on the recommended headset are correctly recognized.

Process

After invoking the test from the main menu, connect the USB headset peripheral. Press each media/transport (play, pause, volume up, and volume down) button on the headset. As each is recognized, it will be recognized in the test panel. When all buttons have been recognized, the test pass (check mark) button is enabled. Click the test pass button to indicate success. If the full set of buttons isn't recognized, indicate test failure by clicking the test fail (exclamation point) button.

Notes

The USB headset peripheral connected to the Android device.

Note the OTG adapter.

buttons connected
Select USB Audio Peripheral Buttons Test. buttons test
Summary of instructions is displayed. buttons summary
Peripheral connected, but no buttons recognized (yet).

Note that the expected (buttons that are known to the device profile) are indicated with white text; those that aren't part of the test peripheral are displayed in gray text.

buttons not recognized
Peripheral connected, and expected buttons recognized. buttons recognized

USB audio adapter recommendations

This section lists the recommended USB-C to 3.5 mm adapters, which are tested for functionality with OboeTester and CTS Verifier tests.

Manufacturer Vendor ID Product ID Store
Google

Note that the Google USB adapter is no longer manufactured and isn't available in the Google Play Store.

0x18D1 0x5034 Walmart
google-adapter-back google-adapter-box
Xumee 0x0BDA 0x4BE2 Amazon
xumee-adapter
Moshi 0x282B 0x0033 Amazon, Moshi
moshi-adapter
Anker

When measuring latency using the CTS Verifier tests, the Anker adapter has a latency of 3.23 milliseconds higher than the Google device.

0x0572 0x1B08 Amazon
anker-adapter
TTGK Realtek ALC5686 0x0BDA 0x4BD1 Amazon
realtek-adapter