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.
Supported peripherals
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.
- PreSonus AudioBox 96 (RECOMMENDED)
- Behringer UMC204HD
- Roland Rubix 24
A USB audio interface (A PreSonus AudioBox 96). |
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. |
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. |
USB peripheral cable
This cable (which typically comes with the peripheral), connects the USB audio peripheral to the host device. |
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". |
Analog headphones to monitor the output of the USB audio interface for the Play test.
Set of 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. | |
Summary of instructions is displayed. | |
Pre-connect screen. | |
USB audio peripheral connected to Android device with peripheral cable and OTG adapter. | |
Post-connect screen. |
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. | |
Summary of instructions is displayed. | |
Pre-connect screen. | |
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. |
|
Post-connect screen. |
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. | |
Summary of instructions is displayed. | |
Pre-connect screen. | |
USB audio Interface with loopback connected to Android device. | |
Connections on the back of the USB audio interface. | |
Connections on the front of the USB audio interface. | |
Post-connect screen. | |
Post-connect screen, with record test 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. |
|
Select USB Audio Peripheral Buttons Test. | |
Summary of instructions is displayed. | |
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. |
|
Peripheral connected, and expected 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 |
Xumee | 0x0BDA | 0x4BE2 | Amazon |
Moshi | 0x282B | 0x0033 | Amazon, Moshi |
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 |
TTGK Realtek ALC5686 | 0x0BDA | 0x4BD1 | Amazon |