나는 과거에 스펙트럼 플럭스를 사용했으며 잘 작동하는 것 같습니다. 기본 아이디어는 관심있는 대역에 걸쳐 신호의 스펙트로 그램을 생성하는 것입니다. 우리가 당신의 주파수가 y 축에 있고, 시간이, x 축에 있다고 가정 해 봅시다 과 같이 .
이것은 스펙트로 그램이 행렬임을 의미합니다. 각 열은 신호 시점에서 한 번의 스냅 샷에 대한 FFT의 절대 값을 나타내고 각 행은 시간에 따라 한 대역의 에너지가 어떻게 변하는지를 나타냅니다.
이제는 단순히 열의 차이를 고려하십시오. 즉, 열을 가져 와서 그 이전의 열을 빼고 모든 열에 대해 수행하십시오. (시작 열을 분명히 남겨두고). 그런 다음 모든 밴드를 합산하십시오. 즉, 모든 행을 합산하십시오.
신호 발생 을 체계화하는 1D 신호로 끝납니다. . 음성이 어디서 시작되는지 알려줍니다.
편집하다:
이제 발병을 감지 했으므로 반대를 감지하려면 (즉, 신호가 활동에서 없음으로 이동하는 경우) 스펙트럼 플럭스는 실제로 해당 정보를 제공합니다. 발병이있는 곳이면 양의 정점을 갖게되고, 더 나은 단어가없는 곳에서 '망상'이있는 곳이면 음의 정점을 갖게됩니다.
신호의 총 시작 및 중지 시간을 표시하기 위해 첫 번째 양의 피크와 마지막 음의 피크를 간단히 사용합니다.