تأخیر یک معیار مهم عملکرد سیستم است. در حالی که انواع مختلفی از معیارهای تأخیر صوتی وجود دارد، یکی از معیارهای مفید و قابل درک، تأخیر رفت و برگشت است که به عنوان زمانی که طول می کشد تا سیگنال صوتی وارد ورودی دستگاه تلفن همراه شود، توسط برنامه ای که روی پردازنده برنامه اجرا می شود پردازش شود و از خروجی خارج شود، تعریف می شود.

شکل 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. تاخیرهای رفت و برگشت