Pengukuran latensi audio

Latensi adalah metrik performa sistem yang penting. Meskipun ada banyak jenis metrik latensi audio, salah satu metrik yang berguna dan dipahami dengan baik adalah latensi bolak-balik, yang didefinisikan sebagai waktu yang diperlukan sinyal audio untuk memasuki input perangkat seluler, diproses oleh aplikasi yang berjalan di prosesor aplikasi, dan keluar dari output.

Latensi audio bolak-balik di
perangkat

Gambar 1. Latensi audio bolak-balik di perangkat: Toutput - Tinput

Halaman ini memberikan pengukuran latensi audio bolak-balik untuk perangkat Nexus/Pixel tertentu dan versi platform Android.

Alasan kami mengukur latensi

Google mengukur dan melaporkan latensi sehingga developer aplikasi Android memiliki data yang mereka perlukan untuk membuat keputusan yang tepat tentang latensi yang tersedia di perangkat yang sebenarnya. Dengan membagikan angka latensi untuk perangkat Nexus dan Pixel tertentu, kami berharap dapat mendorong seluruh komunitas Android untuk mengukur, memublikasikan, dan mengurangi latensi di semua perangkat Android. Bergabunglah dengan kami dalam komitmen kami untuk mengurangi latensi audio.

Dampak aplikasi terhadap latensi

Pemrosesan sinyal dapat menambahkan jenis penundaan berikut ke latensi:

  • Algoritmis. Penundaan ini bersifat melekat dan tidak bervariasi dengan CPU. Contohnya adalah penundaan yang ditambahkan oleh filter finite impulse response (FIR).
  • Komputasi. Penundaan ini terkait dengan jumlah siklus CPU yang diperlukan. Misalnya, atenuasi sinyal biasanya dilakukan oleh operasi perkalian yang memerlukan jumlah siklus yang bervariasi, bergantung pada CPU.

Cara kami mengukur

Kami melakukan pengukuran yang tercantum di halaman ini menggunakan dongle loopback audio Dr. Rick O'Rang dan pengujian masukan audio (efek Larsen). Pengukuran mengasumsikan bahwa pemrosesan sinyal aplikasi menambahkan latensi algoritma nol dan latensi komputasi mendekati nol.

Kami mengukur latensi bolak-balik melalui konektor headset karena beberapa alasan:

Latensi bolak-balik
melalui konektor headset

Gambar 2. Latensi bolak-balik melalui konektor headset: Toutput - Tinput

  • Aplikasi musik penting (seperti pemrosesan gitar dan suara) menggunakan konektor headset.
  • Mengukur latensi bolak-balik mikrofon dan speaker di perangkat dapat merepotkan, karena sulit untuk menjaga loop masukan di udara terbuka agar tidak masuk ke dalam osilasi yang tidak terkontrol.
  • Transduser di perangkat berukuran kecil dan mengorbankan respons frekuensi untuk mencapai ukuran kecilnya. Untuk mengimbanginya, pemrosesan sinyal digital diterapkan, tetapi meningkatkan penundaan algoritme untuk jalur di perangkat.

Ada kasus saat latensi mikrofon dan speaker di perangkat berpengaruh, tetapi biasanya untuk satu arah, bukan bolak-balik. Teknik untuk mengukur latensi searah dijelaskan di Mengukur Latensi Output dan Mengukur Latensi Input.

Contoh pengukuran

Pengukuran yang tercantum di bawah ini khusus untuk nomor build. Perangkat dicantumkan dalam urutan perkiraan rilis awal dan menurut versi platform; Anda juga dapat melihat latensi dalam diagram. Aplikasi pengujian menggunakan API audio native Android berdasarkan OpenSL ES.

Model Versi
platform
Nomor
build
Frekuensi sampel
(Hz)
Ukuran buffer
(frame)
Ukuran buffer
(ms)
Latensi
bolak-balik (md)
± satu buffering
Nexus One 2.3.6 GRK39F 44100 768 17,4 345
Nexus S 2.3.6 GRK39F 44100 1024 23,2 260
Nexus S 4.0.4 IMM76D 44100 1024 23,2 260
Nexus S 4.1.2 JZO54K 44100 880 20 210
Galaxy Nexus 4.0.1 ITL41D 44100 976 22.1 270
Galaxy Nexus 4.3 JWR66Y 44100 144 3.3 130
Nexus 4 4.2.2 JDQ39E 48000 240 5 195
Nexus 4 5.1 LMY47O 48000 240 5 58
Nexus 10 5.0.2 LRX22G 44100 256 5,8 36
Nexus 10 5.1 LMY47D 44100 256 5,8 35
Nexus 7
2013
4.3 JSR78D 48000 240 5 149
Nexus 7
2013
4.4 KRT16S 48000 240 5 85
Nexus 7
2013
5.0.2 LRX22G 48000 240 5 64
Nexus 7
2013
5.1 LMY47O 48000 240 5 55
Nexus 7
2013
6.0 MRA58K 48000 240 5 55
Nexus 5 4.4.4 KTU84P 48000 240 5 95
Nexus 5 5.0.0 LRX21O 48000 240 5 47
Nexus 5 5.1 LMY47I 48000 240 5 42
Nexus 5 6.0 MRA58K 48000 192 4 38
Nexus 9 5.0.0 LRX21L 48000 256 5.3 35
Nexus 9 5.0.1 LRX22C 48000 256 5.3 38
Nexus 9 5.1.1 LMY47X 48000 256 5.3 32
Nexus 9 6.0 MRA58K 48000 128 2.6 15
Nexus 6 5.0.1 LRX22C 48000 240 5 65
Nexus 6 5.1 LMY47I 48000 240 5 42
Nexus 6 6.0 MRA58K 48000 192 4 33
Nexus 5X 6.0 MDA89E 48000 192 4 18
Nexus 5X 8.0.0 OPR4.170623.020 48000 192 4 18
Nexus 5X 8.1.0 OPM2.171019.029.C1 48000 192 4 18
Nexus 6P 6.0 MDA89D 48000 192 4 18
Nexus 6P 8.0.0 OPR5.170623.014 48000 192 4 18
Nexus 6P 8.1.0 OPM5.171019.019 48000 192 4 18
Pixel 7.1.2 NHG47L 48000 192 4 18
Pixel 8.0.0 OPR3.170623.013 48000 192 4 18
Pixel 8.1.0 OPM1.171019.021 48000 192 4 18
Pixel XL 7.1.2 NHG47L 48000 192 4 18
Pixel XL 8.0.0 OPR3.170623.013 48000 192 4 18

Gambar 3. Latensi bolak-balik