2016-12-06 14 views
0

동일한 주파수로 생성 된 두 개의 유사한 톤을 포함하는 오디오를 몇 초 동안 녹음했습니다. 그들은 몇 초 정도 떨어져 있습니다. 제가하고 싶은 것은 첫 번째 톤의 끝과 두 번째 톤의 시작 부분을이 오디오 파일에 대해 얼마나 많은 샘플을 뽑아 놓았는지를 감지하는 것입니다. 48KHz 오디오에서 16 비트 부호있는 PCM을 가정하고 원시 오디오를 나타내는 바이트 배열을 가정합니다.원시 오디오 (PCM)의 특정 주파수/톤 감지

나는 이것을 어떻게 알아낼 수 있는지 고심하고있다.

a) 피크 알아낼 두 톤 든, 가장 큰 때문에 계조

b)의 ​​특정 주파수의 발생을 검출하기 위해 DFT를 실행하고 두 톤에 대한 시작/끝 위치를

c) I은 잠재적으로 가장 간단한 방법은 무엇 어레이

두 줄 또는 두 비제 세그먼트 끝날 모든 다른 주파수를 필터링하는 대역 통과 필터를 통해 상기 오디오 파일을 실행 (다른 기술을 제안 할 자유롭게)?

답변

0

Fast Fourier Transform을 통해 샘플을 실행하고 일정한 허용 오차 내에서 예상되는 주파수와 일치시킨 다음 일치하지 않을 때 사이의 샘플 개수를 계산 하시겠습니까?

+0

이것은 기본적으로 http://stackoverflow.com/questions/17429407/get-frequency-wav-audio-using-fft-and-complex-class의 응답/리소스를 사용하고 있습니까? 감사합니다 –

+0

정말. 나는 너를 가능한 방향으로 밀어 넣기를 바랄 뿐이었다. –

+0

필자는 위에 제공된 링크에서 신호를 실행하는 FFT를 얻을 수있었습니다. 이것은 실수/허수의 배열입니다. 나는 주파수 당 강도를 발견 할 수있다. FFT 배열과 절대 신호가 주어지면 샘플 번호를 기반으로 주파수 정보를 어떻게 추론 할 수 있습니까? –