Синхронизация воспроизведения караоке (проблема с задержкой Android) - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь реализовать простой сценарий караоке: пользователь может записывать свой голос (без наушников) с одновременным воспроизведением и воспроизведением.Затем он может применить некоторые фильтры, добавить воспроизведение, смешать его и сохранить в файл.Я использую SuperpoweredRecorder вместе с SuperpoweredAdvancedAudioPlayer и затем SuperpoweredDecoder / createWAV.Окончательная запись состоит из 2 дорожек: 1) голос пользователя с воспроизводимым воспроизведением и некоторыми фильтрами 2) чистое воспроизведение.Моя проблема в том, что воспроизведение, которое было записано с голосом пользователя, не синхронизировано с воспроизведением, смешанным в автономной обработке.Это разумно - его нужно сгенерировать, пройти через выход (динамик), обработать и записать обратно через вход (микрофон).Это хорошо описывается как «проблема задержки Android 10ms».После некоторого анализа я обнаружил, что задержка варьируется в зависимости от устройства, и это нормально, но также меняется в каждой записи на одном устройстве.Я прикрепляю экраны и значения (я использовал метроном в тихой комнате, чтобы вычислить его)

(тик воспроизведения) [мс] - (тик воспроизведения записи) [мс] (задержка [мс])

Samsung S8

Samsung

40 - 112 (62)
52 - 117 (65)
40 - 92 (52)
52 - 107 (55)
40 - 97 (57)

Huawei

Huawei

40 - 216 (176)
40 - 219 (176)
40 - 226 (186)

Эта задержка для меня не проблема, поскольку, как я объяснил, я могу сдвинуть ее во время автономной обработки.Однако я не знаю, как рассчитать (или даже оценить) задержку.У вас есть идеи, как это сделать?Тестирование всех возможных устройств и получение среднего значения на Android не представляется возможным и, вероятно, не слишком точным.

Заранее спасибо!

1 Ответ

0 голосов
/ 12 февраля 2019

Извините, но модераторы удалили мой полностью полезный ответ, потому что у них была абсолютно нулевая идея.Давайте продолжим обсуждение по электронной почте.

...