오디오 파일의 피크를 어떻게 감지하나요?

오디오 파일의 피크를 어떻게 감지하나요?

몇 분 동안의 Wave 파일이 있고 반규칙적인 간격으로 짧은 클릭이 있는 경우 각 클릭의 밀리초 타임스탬프를 어떻게 얻을 수 있습니까? 나는 노력한다1초 타이머의 정확성 확인. 셸, Python, Ruby 또는 기타 표준 *nix 도구를 사용하는 것이 가장 좋습니다.

답변1

sox옵션일 수도 있습니다 .

다음과 같이 호출하세요.

sox sound.wav sound.dat

textual representation of the sample data파일 에 를 씁니다 sound.dat. 옵션에 따라 다음 내용이 포함된 파일을 얻을 수 있습니다.시작 이후 시간내부에열 1그리고정규화된 표본 크기존재하다2열,예를 들어:

; Sample Rate 44100
; Channels 1
               0     -0.026428223 
   2.2675737e-05     -0.022186279 
   4.5351474e-05     -0.022186279 
   6.8027211e-05     -0.022827148 
   9.0702948e-05     -0.022491455 
   0.00011337868     -0.025756836 
   0.00013605442     -0.021850586 
   0.00015873016     -0.026428223 
    0.0001814059      -0.02545166 
   0.00020408163     -0.023162842 
   0.00022675737      -0.02545166 
   0.00024943311     -0.018249512 
   0.00027210884     -0.018249512 
   0.00029478458     -0.019226074 
   0.00031746032      -0.01663208 
   0.00034013605     -0.013702393 
   0.00036281179     -0.014984131 
   0.00038548753     -0.015319824 

약간의 awk타임스탬프가 표시된 모습이 드러납니다.

$ awk '$2 > 0.6 { print }' < sound.dat
; Sample Rate 44100
; Channels 1
       1.1002721       0.64196777 
       1.1004762       0.65371704 

man sox그리고 man soxformat더 많은 정보가 제공되어야 합니다.

관련 정보