از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
اندازه گیری تاخیر صوتی
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
تأخیر یک معیار مهم عملکرد سیستم است. در حالی که انواع مختلفی از معیارهای تأخیر صوتی وجود دارد، یکی از معیارهای مفید و قابل درک، تأخیر رفت و برگشت است که به عنوان زمانی که طول می کشد تا سیگنال صوتی وارد ورودی دستگاه تلفن همراه شود، توسط برنامه ای که روی پردازنده برنامه اجرا می شود پردازش شود و از خروجی خارج شود، تعریف می شود.

شکل 1. تأخیر صوتی رفت و برگشت در دستگاه: خروجی T - ورودی T
این صفحه اندازهگیری تاخیر صوتی رفت و برگشت را برای دستگاههای Nexus/Pixel منتخب و نسخههای پلتفرم Android ارائه میدهد.
چرا تاخیر را اندازه می گیریم
Google تأخیر را اندازهگیری و گزارش میکند تا توسعهدهندگان برنامه Android دادههای مورد نیاز خود را برای تصمیمگیری آگاهانه درباره تأخیر موجود در دستگاههای واقعی داشته باشند. با اشتراکگذاری اعداد تأخیر برای دستگاههای Nexus و Pixel منتخب، امیدواریم کل جامعه Android را تشویق کنیم تا تأخیر را در همه دستگاههای Android اندازهگیری، انتشار و کاهش دهند. لطفاً در تعهد ما برای کاهش تأخیر صدا به ما بپیوندید!
تاثیر اپلیکیشن بر تاخیر
پردازش سیگنال می تواند انواع تاخیر زیر را به تاخیر اضافه کند:
- الگوریتمی . این تاخیر ذاتی است و با CPU متفاوت نیست. به عنوان مثال تاخیر اضافه شده توسط فیلتر پاسخ ضربه محدود (FIR) است.
- محاسباتی . این تاخیر به تعداد سیکل های مورد نیاز CPU مربوط می شود. به عنوان مثال، تضعیف یک سیگنال معمولاً توسط یک عملیات ضرب انجام می شود که بسته به CPU تعداد چرخه های متفاوتی را طی می کند.
چگونه اندازه گیری می کنیم
ما اندازه گیری های فهرست شده در این صفحه را با استفاده از دانگل حلقه بک صوتی دکتر ریک اورنگ و تست بازخورد صوتی (اثر لارسن) انجام دادیم. اندازهگیریها فرض میکنند که پردازش سیگنال برنامه، تاخیر الگوریتمی صفر و تاخیر محاسباتی نزدیک به صفر را اضافه میکند.
ما تاخیر رفت و برگشت را از طریق کانکتور هدست به چند دلیل اندازه گیری می کنیم:

شکل 2. تاخیر رفت و برگشت از طریق کانکتور هدست: خروجی T - ورودی T
- برنامه های مهم موسیقی (مانند گیتار و پردازش صدا) از رابط هدست استفاده می کنند.
- اندازهگیری تأخیر رفتوآمد میکروفون و بلندگوی روی دستگاه میتواند دشوار باشد، زیرا حفظ یک حلقه بازخورد در هوای آزاد از ورود به نوسان کنترلنشده دشوار است.
- مبدل های روی دستگاه کوچک هستند و پاسخ فرکانسی را برای دستیابی به اندازه کوچک خود قربانی می کنند. برای جبران، پردازش سیگنال دیجیتال اعمال می شود اما تاخیر الگوریتمی را برای مسیر روی دستگاه افزایش می دهد.
مواردی وجود دارد که تأخیرهای میکروفون و بلندگوی روی دستگاه اهمیت دارند ، اما معمولاً برای یک جهت هستند، نه رفت و برگشت. تکنیکهای اندازهگیری تأخیر یک جهته در اندازهگیری تأخیر خروجی و اندازهگیری تأخیر ورودی توضیح داده شده است.
اندازه گیری های نمونه
اندازه گیری های ذکر شده در زیر مختص یک شماره ساخت هستند. دستگاه ها به ترتیب تقریبی انتشار اولیه و بر اساس نسخه پلت فرم فهرست شده اند. همچنین می توانید تاخیرها را در نمودار مشاهده کنید . برنامه آزمایشی از API صوتی بومی اندروید مبتنی بر OpenSL ES استفاده می کند.
مدل | پلت فرم نسخه | ساخت شماره | نرخ نمونه (هرتز) | اندازه بافر (قاب) | اندازه بافر (اماس) | رفت و برگشت تأخیر (ms) ± یک بافر |
---|
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 |
پیکسل | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
پیکسل | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
پیکسل | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |
پیکسل XL | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |
پیکسل XL | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |
شکل 3. تاخیرهای رفت و برگشت
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-03-26 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-03-26 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Audio latency measurements\n\n[Latency](http://en.wikipedia.org/wiki/Latency_%28engineering%29)\nis an important system performance metric. While many kinds of\n[audio latency](/docs/core/audio/latency/latency) metrics exist, one useful and\nwell-understood metric is\n[round-trip latency](/docs/core/audio/latency/measure#measuringRoundTrip),\ndefined as the time it takes for an audio signal to enter the input of a mobile\ndevice, be processed by an app running on the application processor, and exit\nthe output.\n\n**Figure 1.** Round-trip audio latency on\ndevice: T~output~ - T~input~\n\nThis page provides round-trip audio latency measurements for select\nNexus/Pixel devices and Android platform versions.\n\nWhy we measure latency\n----------------------\n\nGoogle measures and reports latency so Android application developers have\nthe data they need to make informed decisions about available latency on actual\ndevices. By sharing latency numbers for select Nexus and Pixel devices, we hope\nto encourage the entire Android community to measure, publish, and reduce\nlatency on *all* Android devices. Please join us in our commitment to\nreducing audio latency!\n\nApp impact on latency\n---------------------\n\nSignal processing can add the following types of delay to latency:\n\n- **Algorithmic** . This delay is inherent and does not vary with the CPU. An example is the delay added by a [finite impulse\n response](http://en.wikipedia.org/wiki/Finite_impulse_response) (FIR) filter.\n- **Computational**. This delay is related to the number of required CPU cycles. For example, attenuation of a signal is usually done by a multiplication operation that takes a varying number of cycles depending on the CPU.\n\nHow we measure\n--------------\n\nWe made the measurements listed on this page using the\n[Dr. Rick O'Rang audio loopback dongle](/docs/core/audio/latency/loopback) and an\n[audio feedback (Larsen effect)\ntest](/docs/core/audio/latency/measure#larsenTest). Measurements assume the application signal processing adds zero\nalgorithmic delay and near-zero computational delay.\n\nWe measure round-trip latency via the headset connector for several reasons:\n\n**Figure 2.** Round-trip latency via headset\nconnector: T~output~ - T~input~\n\n- Important music applications (such as guitar and voice processing) use the headset connector.\n- Measuring round-trip latency of the on-device microphone and speaker can be cumbersome, as it is difficult to keep a feedback loop in open air from entering uncontrolled oscillation.\n- On-device transducers are small and sacrifice frequency response to achieve their small size. To compensate, digital signal processing is applied but increases algorithmic delay for the on-device path.\n\nThere are cases where on-device microphone and speaker latencies *do*\nmatter, but they are usually for one direction, not round-trip. Techniques for\nmeasuring unidirectional latency are described at\n[Measuring Output Latency](/docs/core/audio/latency/measure#measuringOutput)\nand\n[Measuring Input Latency](/docs/core/audio/latency/measure#measuringInput).\n\nExample measurements\n--------------------\n\nThe measurements listed below are specific to a\n[build number](/docs/setup/build-numbers). Devices are listed in\napproximate order of initial release and by platform version; you can also\n[view latencies in a chart](#chart). The test application uses the\nAndroid native audio API based on OpenSL ES.\n\n| Model | Platform version | Build number | Sample rate (Hz) | Buffer size (frames) | Buffer size (ms) | Round-trip latency (ms) ± one buffer |\n|--------------|------------------|--------------------|------------------|----------------------|------------------|--------------------------------------|\n| Nexus One | 2.3.6 | GRK39F | 44100 | 768 | 17.4 | 345 |\n| Nexus S | 2.3.6 | GRK39F | 44100 | 1024 | 23.2 | 260 |\n| Nexus S | 4.0.4 | IMM76D | 44100 | 1024 | 23.2 | 260 |\n| Nexus S | 4.1.2 | JZO54K | 44100 | 880 | 20 | 210 |\n| Galaxy Nexus | 4.0.1 | ITL41D | 44100 | 976 | 22.1 | 270 |\n| Galaxy Nexus | 4.3 | JWR66Y | 44100 | 144 | 3.3 | 130 |\n| Nexus 4 | 4.2.2 | JDQ39E | 48000 | 240 | 5 | 195 |\n| Nexus 4 | 5.1 | LMY47O | 48000 | 240 | 5 | 58 |\n| Nexus 10 | 5.0.2 | LRX22G | 44100 | 256 | 5.8 | 36 |\n| Nexus 10 | 5.1 | LMY47D | 44100 | 256 | 5.8 | 35 |\n| Nexus 7 2013 | 4.3 | JSR78D | 48000 | 240 | 5 | 149 |\n| Nexus 7 2013 | 4.4 | KRT16S | 48000 | 240 | 5 | 85 |\n| Nexus 7 2013 | 5.0.2 | LRX22G | 48000 | 240 | 5 | 64 |\n| Nexus 7 2013 | 5.1 | LMY47O | 48000 | 240 | 5 | 55 |\n| Nexus 7 2013 | 6.0 | MRA58K | 48000 | 240 | 5 | 55 |\n| Nexus 5 | 4.4.4 | KTU84P | 48000 | 240 | 5 | 95 |\n| Nexus 5 | 5.0.0 | LRX21O | 48000 | 240 | 5 | 47 |\n| Nexus 5 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |\n| Nexus 5 | 6.0 | MRA58K | 48000 | 192 | 4 | 38 |\n| Nexus 9 | 5.0.0 | LRX21L | 48000 | 256 | 5.3 | 35 |\n| Nexus 9 | 5.0.1 | LRX22C | 48000 | 256 | 5.3 | 38 |\n| Nexus 9 | 5.1.1 | LMY47X | 48000 | 256 | 5.3 | 32 |\n| Nexus 9 | 6.0 | MRA58K | 48000 | 128 | 2.6 | 15 |\n| Nexus 6 | 5.0.1 | LRX22C | 48000 | 240 | 5 | 65 |\n| Nexus 6 | 5.1 | LMY47I | 48000 | 240 | 5 | 42 |\n| Nexus 6 | 6.0 | MRA58K | 48000 | 192 | 4 | 33 |\n| Nexus 5X | 6.0 | MDA89E | 48000 | 192 | 4 | 18 |\n| Nexus 5X | 8.0.0 | OPR4.170623.020 | 48000 | 192 | 4 | 18 |\n| Nexus 5X | 8.1.0 | OPM2.171019.029.C1 | 48000 | 192 | 4 | 18 |\n| Nexus 6P | 6.0 | MDA89D | 48000 | 192 | 4 | 18 |\n| Nexus 6P | 8.0.0 | OPR5.170623.014 | 48000 | 192 | 4 | 18 |\n| Nexus 6P | 8.1.0 | OPM5.171019.019 | 48000 | 192 | 4 | 18 |\n| Pixel | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |\n| Pixel | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |\n| Pixel | 8.1.0 | OPM1.171019.021 | 48000 | 192 | 4 | 18 |\n| Pixel XL | 7.1.2 | NHG47L | 48000 | 192 | 4 | 18 |\n| Pixel XL | 8.0.0 | OPR3.170623.013 | 48000 | 192 | 4 | 18 |\n\n**Figure 3.** Round trip latencies"]]