Учитывая сложность измерения задержки ввода или вывода изолированно с помощью специального оборудования, задержка звука измеряется как задержка приема-передачи , которая представляет собой объединенную задержку ввода и вывода.
Техника
Тестовое программное обеспечение автоматизирует следующие шаги:
- Программное обеспечение генерирует сложный тон с помощью коротких импульсов белого шума различной длительности, создавая легко узнаваемую структуру.
- Выходной аудиотракт устройства воспроизводит тон.
- Тест возвращает аудиовыход на аудиовход.
- Для каналов динамика и микрофона не требуется никакого дополнительного оборудования, поскольку встроенный микрофон записывает звук, воспроизводимый встроенным динамиком.
- Аналоговые разъемы 3,5 мм используют специальный аудиоадаптер обратной связи .
- Для подключения USB-портов используется либо адаптер USB - 3,5 мм в сочетании с петлевым ключом, либо USB-аудиоинтерфейс с кабелями, соединяющими выход со входом.
- Тестовое программное обеспечение записывает зацикленный звук.
- Тестовое программное обеспечение использует полнодуплексный поток для синхронизации и одновременной записи как выходного, так и входного аудиопотоков.
На следующем рисунке показана схема испытания:

Рисунок 1. Измерение задержки звука.
Задержка приема-передачи определяется путем измерения смещения времени между выходом и входом с использованием алгоритма нормализованной корреляции для определения местоположения выходного тона во входном потоке.
На следующем рисунке показано, как рассчитывается задержка приема-передачи:

Рисунок 2. Расчет задержки приема-передачи.
Дополнительную информацию об оборудовании обратной связи см. в разделе «Аудиопериферийные устройства CTS Verifier» .
Тестовые приложения
В этом разделе описаны два основных приложения для измерения задержки. Оба используют идентичные методы и, как ожидается, дадут сопоставимые результаты.
OboeTester
OboeTester — тестовый набор, разработанный для библиотеки Oboe, предлагает ценные тесты, включая измерение задержки при передаче туда и обратно.
Вы можете получить OboeTester двумя способами:
- Создайте приложение из исходного кода, который можно найти на GitHub .
- Установите приложение из Google Play Store .
Чтобы измерить задержку в приложении OboeTester, выполните следующие действия:
- Запустите OboeTester.
- Нажмите ЗАДЕРЖКА ПЕРЕДАЧИ В ТУДА И ВСЮДУ .
- Нажмите ИЗМЕРИТЬ .
- Проверьте значение
latency.msec
для задержки приема-передачи.
Вы можете запустить этот тест, используя Intent for Continuous Integration .
CTS-верификатор
Чтобы определить, соответствует ли задержка приема-передачи требованиям CDD, см. тест задержки обратного сигнала CTS Verifier.