Как рассчитать дрейф часов звуковой карты?
Я рассчитываю дрейф звуковой карты по причинам подавления акустического эха. Мой алгоритм:
drift = samples_played - sampled_recorded
Где *samples_played* увеличивается на 1, когда аудио-кадр размером 320, 640 или 1920 байт отправляется на устройство воспроизведения, а *samples_recorded* увеличивается на 1, когда аудио-кадр размером 320, 640 или 1920 байт выводится устройством захвата.,
Описание того, чего я пытаюсь достичь, предоставлено WebRTC следующим образом:
WebRtc_Word16 skew Разница между количеством сэмплов, проигрываемых и записываемых на звуковой карте (для компенсации перекоса тактового сигнала).
Мой вопрос состоит из двух частей:
- Является ли алгоритм правильным?
- Является ли приращение правильным?