با توجه به دشواری اندازهگیری تأخیر ورودی یا خروجی به صورت جداگانه با سختافزار سفارشی، تأخیر صوتی به صورت تأخیر رفت و برگشت اندازهگیری میشود که نشاندهنده تأخیر ترکیبی ورودی و خروجی است.
تکنیک
مراحل زیر توسط نرمافزار تست به صورت خودکار انجام میشود:
- این نرمافزار با استفاده از انفجارهای کوتاه نویز سفید با طولهای مختلف، یک تُن پیچیده تولید میکند و ساختاری را ایجاد میکند که به راحتی قابل تشخیص است.
- مسیر خروجی صدای دستگاه، تُن را پخش میکند.
- این تست، خروجی صدا را به یک ورودی صدا برمیگرداند.
- برای مسیرهای بلندگو و میکروفون، هیچ سختافزار اضافی مورد نیاز نیست زیرا میکروفون داخلی صدای پخش شده از بلندگوی داخلی را ضبط میکند.
- جکهای آنالوگ ۳.۵ میلیمتری از یک دانگل حلقهبک صوتی سفارشی استفاده میکنند.
- پورتهای USB یا از یک آداپتور USB به جک ۳.۵ میلیمتری به همراه دانگل loopback یا از یک رابط صوتی USB با کابلهایی که خروجی را به ورودی متصل میکنند، استفاده میکنند.
- نرمافزار تست، صدای تکرارشونده را ضبط میکند.
- نرمافزار تست از یک جریان کاملاً دوطرفه برای همگامسازی و ضبط همزمان جریانهای صوتی خروجی و ورودی استفاده میکند.
شکل زیر تنظیمات آزمایش را نشان میدهد:

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

شکل ۲. محاسبه تأخیر رفت و برگشت.
برای اطلاعات بیشتر در مورد سختافزار loopback به لوازم جانبی صوتی CTS Verifier مراجعه کنید.
برنامههای آزمایشی
این بخش دو برنامه اصلی برای اندازهگیری تأخیر را شرح میدهد. هر دو از تکنیکهای یکسانی استفاده میکنند و انتظار میرود نتایج قابل مقایسهای ارائه دهند.
ابوا تستر
OboeTester، یک مجموعه تست طراحی شده برای کتابخانه Oboe، تستهای ارزشمندی از جمله اندازهگیری تأخیر رفت و برگشت را ارائه میدهد.
شما میتوانید OboeTester را از یکی از دو روش زیر تهیه کنید:
- برنامه را از روی سورس کد که در گیتهاب موجود است، بسازید.
- برنامه را از فروشگاه گوگل پلی نصب کنید.
برای اندازهگیری تأخیر در برنامه OboeTester، این مراحل را دنبال کنید:
- برنامهی OboeTester را اجرا کنید.
- روی تأخیر رفت و برگشت ضربه بزنید.
- روی اندازهگیری ضربه بزنید.
- مقدار
latency.msecرا برای تأخیر رفت و برگشت بررسی کنید.
شما میتوانید این تست را با استفاده از یک Intent for Continuous Integration اجرا کنید.
تأییدکننده CTS
برای تعیین اینکه آیا تأخیر رفت و برگشت با الزامات CDD مطابقت دارد یا خیر ، به آزمون تأخیر حلقه برگشتی صوتی CTS Verifier مراجعه کنید.