Memahami Audio Output Latency pada Android

Memahami Audio Output Latency pada Android - Hallo sahabat Download Applikasi Androit Gratis, Pada sharing Download Applikasi Androit Gratis kali ini yang berjudul Memahami Audio Output Latency pada Android, saya telah menulis review dari applikasi tersebut yang saya proleh dari berbagai sumber (www.google.co.id). mudah-mudahan isi postingan Download Applikasi Androit Gratis yang saya tulis ini dapat anda pahami. okelah, ini dia Download Applikasi Androit Gratis.

Judul : Memahami Audio Output Latency pada Android
Link : Memahami Audio Output Latency pada Android

lihat juga


Memahami Audio Output Latency pada Android


sumber : planet-h.com

Ini adalah artikel pertama dalam serangkaian mana pengembang berbicara tentang isu-isu yang berbeda mengenai membuat aplikasi audio untuk Android. Untuk mulai dengan pengembang G-Stomper Studio,akan berbicara tentang latency karena ini adalah sesuatu yang menyangkut banyak pembuat audio musik yang menggunakan Android.


menurut sumber, Latency dalam aplikasi audio mungkin salah satu yang paling dibahas dan juga salah satu masalah yang paling menjengkelkan pada platform Android
.

Artikel ini difokuskan pada output latency pada perangkat Android, tidak masukan atau round-trip latency. Mudah-mudahan suatu hari nanti Berita Audio mampu menulis tentang artikel latency juga

Output Latency, apa itu?
Singkatnya, keluaran latency adalah waktu dari saat Anda menekan tombol atau kunci piano sampai Anda mendengar suara dari speaker. Dan, keluaran latency di aplikasi audio adalah sesuatu yang kita semua ingin menyingkirkannya.

Latency keluaran lengkap dalam aplikasi musik/ audio, adalah kombinasi dari 3 faktor utama berikut:

1. Kontrol Masukan Latency (mis reaksi tampilan waktu)
2. Aplikasi Latency (segala sesuatu yang terjadi di lapisan aplikasi)
3. Audio Sistem Latency (segala sesuatu yang terjadi di lapisan sistem)

Kontrol Masukan Latency (mis reaksi tampilan waktu)

Kontrol Masukan latency adalah waktu dari saat Anda menyentuh layar (atau MIDI Keyboard eksternal) sampai sistem audio yang diberi tahu oleh OS Android untuk melakukan sesuatu. Hal ini dipengaruhi oleh berbagai faktor, yang sangat tergantung pada perangkat Anda dan versi Android. dan juga dapat bervariasi dari beberapa milidetik hingga 300ms atau bahkan lebih. 

Kontrol Masukan Latency adalah di bawah kontrol penuh dari OS Android dan hardware. Tidak ada cara untuk mengoptimalkan atau mengukurnya dari dalam aplikasi. Tapi bisa menyingkirkan bagian yang baik dari itu dengan menggunakan MIDI controller / keyboard. 

Waktu reaksi dari keyboard MIDI eksternal biasanya sekitar 30-40ms lebih cepat dari pada kontrol layar. Ini mungkin mengejutkan Anda, 

Audio Output Latency (semuanya setelah Latency Kontrol Input)

Audio Output Latency adalah waktu dari saat ketika aplikasi mulai memutar suara sampai Anda mendengar dari speaker. Audio Output Latency adalah perangkat keras, sistem operasi dan tergantung aplikasi. Sebuah bagian yang baik dari itu dapat dioptimalkan dari dalam aplikasi (selama perangkat keras dan sistem operasi memungkinkan).Audio Output Latency dapat bervariasi dari ~ 35ms hingga lebih dari 250ms. Tentu, ada aplikasi yang melaporkan latency ke 10 ms, tapi ini bukan hal yang lengkap (lebih lanjut tentang ini nanti).


"Aplikasi Latency" bukan istilah resmi. Saya menyebutnya seperti itu seperti itu karena hal itu terjadi dalam aplikasi utama, aplikasi audio. Dimaksud adalah waktu dari saat ketika aplikasi mulai memutar suara (secara teknis ketika mulai mengisi buffer audio) sampai dilewatkan (enqueued) ke sistem audio yang mendasari (audiotrack atau OpenSLES). Bagian ini berada di bawah kontrol langsung dari aplikasi audio. Hal ini tergantung pada didefinisikan sistem audio ukuran buffer utama dan penyangga internal yang aplikasi.

Aplikasi latency dapat dihitung dengan rumus sederhana:

AUDIO_SYSTEM_MAINBUFFER_LATENCY_MS
 = AudioTrackByteBufferSize * 1000 / sampleRateHz / bytesPerSample / numChannels

APP_INTERNAL_BUFFER_LATENCY_MS
= InternalFloatBufferSize * 1000 / sampleRateHz

Sekarang ambil max dari kedua nilai dan memiliki Aplikasi Latency.
Pada platform Android, nilai ini dapat bervariasi dari ~ 10 ms sampai ~ 200ms.

Audio Sistem Latency (segala sesuatu yang terjadi di lapisan sistem)

Salah satu kesalahan terbesar mengenai keluaran latency adalah kenyataan bahwa sebagian besar aplikasi di laporan hanya Aplikasi Latency. Hal ini terlihat dari kursus yang bagus (mis Nexus 7 2013 / audiotrack: 40ms), tapi itu hanya setengah kebenaran.

Saat buffer diteruskan ke audiotrack misalnya tidak sebenarnya. Tapi Anda tidak pernah tahu persis berapa banyak waktu akan berlalu sebelum buffer benar-benar akan keluar sebagai suara dari speaker. Waktu dari saat ketika buffer akan diteruskan ke sistem audio sampai Anda benar-benar mendengar dari speaker, adalah apa yang saya sebut "Audio Sistem Latency".

Audio Sistem Latency datang selain Aplikasi Latency dan sangat tergantung pada pipa sistem audio internal yang penyangga (antrian buffer, resampling, D / A konversi, dll). Mengenai latency rendah, ini adalah bagian paling penting dari rantai latency, yang mengungkapkan masalah yang jelas dari audiotrack. 

Dengan audiotrack, Anda tidak memiliki kontrol atas pipa penyangga internal, dan tidak ada cara untuk memaksa buffer untuk lulus lebih cepat. Apa yang dapat Anda lakukan adalah untuk mempersiapkan buffer sebagai final mungkin, misalnya melakukan resampling dalam aplikasi audio dan lulus buffer selalu di sistem sample rate asli. Sayangnya ini tidak mengubah latency, tetapi ia menghindari gangguan karena resampling internal yang Android.

Berasal dr! Menggunakan OpenSLES asli mengurangi Audio Sistem Latency signifikan. Bahkan jika Anda bekerja dengan ukuran buffer sama dengan audiotrack, Anda akan melihat perbedaan besar, terutama pada versi Android yang lebih baru.

Menggunakan OpenSLES tidak secara implisit berarti "latency rendah", tapi pasti memungkinkan latency rendah dari audiotrack, karena semua buffer audio ditulis langsung ke hardware audio, tanpa API audiotrack dan Dalvik / ART runtime overhead. Ini berarti pipa audio yang lebih pendek dan karena itu lebih cepat.

"The Audio Programming Blog" menyediakan tutorial yang baik mengenai integrasi OpenSLES: pada link berikut :

https://audioprograming.wordpress.com/2012/03/03/android-audio-streaming-with-opensl-es-and-the-ndk/

https://audioprograming.wordpress.com/2012/10/29/lock-free-audio-io-with-opensl-es-on-android/

https://github.com/igorski/MWEngine/wiki/Understanding-Android-audio-towards-achieving-low-latency-response

"Google I / O 2013 - High Performance Audio" presentasi memberikan gambaran yang baik tentang rendah latency audio pada Android pada umumnya.
https://www.youtube.com/watch?v=d3kfEeMZ65c
.

Satu-satunya hal yang Anda butuhkan adalah mikrofon, PC dengan audio editor grafis terpasang, dan perangkat Android. Saat merekam pada PC, memegang mikrofon dekat dengan layar, dan tekan beberapa tombol atau piano tombol pada layar Android, yang seharusnya bermain di suara. Pastikan untuk mengetuk layar cukup keras, sehingga keran terdengar. mikrofon akan merekam baik, keran jari fisik dan output audio. Kemudian, dalam editor audio pada PC, mengukur kesenjangan antara dua puncak (jari tekan dan output audio).

Pastikan untuk membuat lebih dari satu rekaman dan mengambil rata-rata dari kali diukur. Terutama tampilan waktu reaksi dapat bervariasi selama beberapa keran.

Mungkin juga ada perbedaan yang cukup signifikan antara jack telepon kepala (dengan speaker eksternal yang terhubung) dan perangkat speaker internal. Menggunakan speaker internal perangkat dapat menghasilkan latency lebih tinggi karena pengolahan pasca, yang biasanya dilakukan untuk intern (kualitas rendah) speaker.

Ini jelas bukan yang paling ilmiah dan juga bukan pendekatan yang paling tepat, tapi itu cukup tepat untuk memberikan gambaran tentang latency output riil. Anda akan terkejut dengan hasilnya.

demikianlah artikel mengenai Memahami Audio Output Latency pada Android yang berita audio kutip dari sebuah forum android musik, semoga bermanfaat.




Demikianlah Artikel Memahami Audio Output Latency pada Android

Sekian Download Applikasi Androit Gratis Memahami Audio Output Latency pada Android, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sekian postingan mengenai Download Applikasi Androit Gratis kali ini.

Anda sedang membaca artikel Memahami Audio Output Latency pada Android dan artikel ini url permalinknya adalah https://downloadapplikasiandroitgratis.blogspot.com/2016/08/memahami-audio-output-latency-pada.html Semoga artikel ini bisa bermanfaat.

0 Response to "Memahami Audio Output Latency pada Android"

Posting Komentar