Как различить рисунок тишины и звуковой сигнал в звуковых сигналах в iPhone OS - PullRequest
1 голос
/ 10 февраля 2010

Я делаю тест на задержку звука. мое устройство будет получать либо звуковой сигнал, либо сигнал молчания. Как я могу различить эти сигналы. Пожалуйста, помогите мне. Заранее спасибо ..

Ответы [ 3 ]

3 голосов
/ 10 февраля 2010

Посмотрите примерно на 10 мсек выборок (например, 441 выборок на частоте 44,1 кГц) и измерьте энергию в этом буфере. Если он выше некоторого порога, это сигнал, а если он ниже порога, значит, тишина.

Чтобы измерить энергию, просто сложите квадрат каждого значения в буфере и разделите на количество образцов.

1 голос
/ 10 февраля 2010

Это зависит. Если цифровое аудио было сгенерировано синтетически (например, с помощью другой функции), и вы можете рассчитывать на тот факт, что в одном случае вы получите истинное цифровое молчание (обнуленные сэмплы), тогда решение состоит в том, чтобы просто проверить на обнуленные сэмплы над окном измерений. Все, кроме нуля, не является тишиной.

Я бы предположил, однако, что вы имеете дело с реальным звуком, записанным, скажем, с микрофона. Если это так, то измерение энергии во временном окне и сравнение ее с порогом действительно имеет смысл. Вам нужно будет определить два параметра:

  1. Пороговый уровень энергии
  2. Длина временного окна

Если пороговое значение слишком низкое, уровень ложных срабатываний будет слишком высоким; фоновый шум, который не является звуковым сигналом, может интерпретироваться как звуковой сигнал. И наоборот, если ваш порог слишком высок, ваша система может классифицировать звуковой сигнал как шум. К счастью, если вы делаете звук с достаточно низким фоновым шумом, ваша производительность не будет очень чувствительной к этому порогу.

Более длинная длина окна уменьшит эти ложные положительные / отрицательные значения, что сделает вашу систему более надежной, но ее использование может ухудшиться из-за слишком длинных окон. Например, автоматизированные телефонные системы классифицируют нажатия клавиш для помощи в навигации по меню. Если бы ему потребовалось, чтобы пользователь держал каждую клавишу по три секунды за раз, точность улучшалась бы, но за счет почти всего удобства использования.

Я призываю вас НЕ принимать решение, основываясь исключительно на одной максимальной выборке, как предложил Пол. Это полностью подрывает сопротивление ложным срабатываниям, обеспечиваемое длиной окна выборки.

0 голосов
/ 10 февраля 2010

Что, если они используют метод обратной петли, учитывает ли шум? Например, если они посылают звуковой сигнал на второе устройство, выполняют обратную связь и отправляют его обратно отправителю, отправляют пакет молчания и делают то же самое, не могут ли они измерить задержку на уровне отправителя (при условии, что они знают фактическую задержку сети) .

...