Android audio subsystem (thirteen) ------audio audio test tool

Hello! Here is Kite's blog,

Welcome to communicate with me.


When testing audio delay, it is generally most accurate to use WALT to test. He uses external hardware to capture audio signals. It is sold on a certain treasure
walt
. …

Google has a cts testing tool: CtsVerifier.apk, which is specially designed for compatibility testing, including audio testing.
cts
Cts tool download link: https://source.android.com/docs/compatibility/cts/downloads?hl=zh-cn

However, CtsVerifier.apk is not a special audio tool. Recently, I found a very useful tool for testing audio.
You can download it in the google store: OboeTster.

Oboe is a C++ library that makes it easy to build high-performance audio applications on Android. It is primarily intended to allow developers to target a simplified API that spans multiple API levels back to API level 16 (Jelly Bean)
Download address: https://apkpure.com/tw/oboetester/com.mobileer.oboetester/download

Open the APK, there are several test items available:
oboe

  • TEST OUTPUT: Test playback
  • TEST INPUT: test recording
  • TAP TO TONE Latency: Test playback delay
  • ROUND TRIP Latency: test playback + recording round-trip delay
  • ECHO INPUT TO OUTPUT: echo test
  • RECORD AND PLAY: record and play
  • GLITCH TEST: glitch test
  • AUTO GLITCH TEST: automatic glitch test
  • TEST DISCONNECT: Disconnect test?
  • DEVICE REPORT: Device information
  • DATA PATHS: data path
  • EXTRAS TEST: additional tests

Each TEST item has very detailed test data to view.
I mainly focus on two test items: TAP TO TONE Latency and ROUND TRIP Latency
are both testing latency. Latency is a very important indicator of audio. Speaker delay, digital headset delay, analog headset delay, Bluetooth headset Delay greatly affects the user experience.

TAP TO TONE Latency

In TAP TO TONE Latency, test the time delay between clicking the screen to play and the sound of the device:
taptotone
after clicking START, you can test, and tap the green area at the bottom of the screen with your fingernail and fingertip to test the playback latency.
Parameters can use default parameters, such as aaudio, here my device does not support aaudio, MMAP is also gray.
I will not play the latency to avoid leakage. After the aaudio is turned on, the external playback can achieve a latency of 20ms.
The three circles below the bufferSize belong to the period count, set the setting to 2.
That is, bufferSize = 256 * 2 = 512.

Device can choose the test device, digital headset, analog headset or Bluetooth headset, speaker, all are fine.

ROUND TRIP Latency

In ROUND TRIP Latency, you can test playback + recording round-trip delay.
round trip
MEASURE is a single measurement, and AVERAGE is an average of five measurements.

Here the input burst is 128, the output burst is 256, and the bufferSize is still 512.

Latency mainly depends on latency.msec. Regarding timestamp.latency, it is just timestamp information, so you don’t need to pay attention.
I saw someone raised an issue: Why the “latency.msec” is not equals to input's “timestamp.latency” plus output’s “timestamp.latency” in “Round Trip Latency”

There are other TEST items that are not listed one by one, such as DEVICE REPORT:
I plug in a Huawei digital headset and there is an information report.
huawei
It can be seen that this Huawei digital headset supports up to 96K playback and other information.

Finally, the oboe source code can also be found on GitHub: https://github.com/google/oboe

Guess you like

Origin blog.csdn.net/Guet_Kite/article/details/129668116