Не зависящий от языка псевдокод:
- для каждого временного окна (например, 10 мс)
- вычисление среднеквадратичной мощности во временном окне
- тишина = среднеквадратичная мощность <порог молчания </li>
Для расчета среднеквадратичной мощности:
- sum_sq = 0
- для каждого семпла в окне N семплов
- RMS power = sqrt (sum_sq / N)
Возможно, вы также захотите добавить дополнительный уровень обнаружениянапример, решить, что молчание = M последовательных окон молчания, где М определяет, как долго должно быть молчание, прежде чем оно будет считаться фактическим молчанием.