2011-12-05 2 views
3

동영상 파일을 카메라 샷으로 분할 한 다음 어떤 샷이 다른 것보다 더 중요한지 결정하려고합니다. 샷의 중요성에서 고려중인 요소 중 하나는 영화의 해당 부분에서 볼륨이 얼마나 큰지입니다. 이렇게하려면 해당 사운드 파일을 분석합니다. 나는 WAV 파일의 데이터가 무엇을 표현하는지 완전히 이해하지 못한다고 생각하기 때문에 샷이 얼마나 큰지를 결정하는 데 어려움을 겪고 있습니다.WAV 파일에서 사운드 분석

this post에 설명 된 것과 유사한 방법을 사용하여 파일을 오디오 버퍼로 읽습니다.

이미 해당 비디오 파일을 샷으로 분할 했으므로 이제 WAV 파일에서 어떤 비디오가 다른 비디오보다 더 큰지 찾으려고합니다. 나는이 같은 파일에 각각의 샘플을 추출하여이 작업을 수행하기 위해 시도하고 :

double amplitude = (double)((audioData[i] & 0xff) | (audioData[i + 1] << 8)); 

내가 읽고 다른 게시물 중 일부는 내가 얻을 고속 푸리에이 오디오 데이터 변환을 적용 할 필요가 있음을 시사한다 진폭으로 인해 내가 추출한 값이 실제로 무엇을 나타내는 것인지 궁금하게 생각합니다. 내가 옳은 일을하고 있니? 내 사운드 파일 형식은 22,050 Hz의 샘플링 속도를 가진 16 비트 모노 PCM입니다. 내가 파일의 볼륨을 분석하려고 할 때이 22,050 값으로 뭔가를해야합니까? Other posts은 라우드니스를 평가하기 위해 Root Mean Square를 사용할 것을 제안합니다. 이것이 필요한가, 아니면보다 정확한 방법 일까?

더 많이 볼수록 더 혼란스러워집니다. 누군가 내 실수와 오해에 대해 밝힐 수 있다면 크게 감사하겠습니다.

답변

3

FFT는 볼륨과 관련이 없습니다. 주파수는 모두과 관련이 있습니다. 시끄러운 장면이 평균적으로 얼마나 큰지 알아 내려면 샘플링 된 값의 평균을 취하면됩니다. 자신의 언어로 부호가 있거나 부호가없는 값으로 데이터를 가져올 지 여부에 따라 절대 함수를 먼저 적용해야 음의 진폭이 양의 진폭을 상쇄하지는 못합니다. 예상했던 결과를 얻지 못하면 20 행의 개별 값을 추출하는 방식과 관련이 있습니다.

그렇다면 작업에 영향을 줄 수도 있고 미치지 않을 수도있는 몇 가지 세부적인 사항이 있습니다. 지각 된 음량, 진폭 및 음향 파워는 실제로 비선형 방식으로 관련되어 있지만, 오디오 신호에서 "진행되는"양을 대략적으로 추정하기 만하면 이것이 관련성이있는 것으로 생각됩니다. . 그리고 물론, 인간은 다른 주파수를 더 좋든 나쁘 든 들었습니다. 예를 들어, 박쥐가 우리에게 완전히 귀가 먹을 초음파 울부 짖음을 내뿜지만 운 좋게는 전혀들을 수 없습니다. 그러나 다시 한 번, 귀하의 업무와 관련이 있는지 의심 스럽습니다. 실제로 22kHz 이상의 주파수 (또는 44kHz는 확실하지 않음)는 사실 간단한 WAV 형식으로 표현할 수 없습니다.

+0

좋습니다. 나는 단지 내가 진폭을 적절하게 추출하지 못하는 것에 우려했다. 하지만 나처럼 들린다. 내가 FFT를 적용 할 때 진폭과 음향 파워 사이의 비선형 관계에 관심이 있다면 호기심에서 벗어날 수 있을까요? – Steph

+0

해당 형식으로 표시된 진폭의 피크에서 플랫 라인 값은 플랫 라인 값 0과 똑같은 소리를냅니다. 완전히 침묵합니다. 가치를 평균하는 것은 갈 길이 아닙니다. 보다 정확한 '볼륨'값을 위해 RMS (선호하는 선택)를 사용하거나 dB 수준을 계산하십시오. –

+0

@AndrewThompson - 좋습니다. RMS가 좋은 아이디어라는 것을 확신하기 시작했습니다. 귀가 주파수와 진폭에 응답하는 방식 (예 : FFT를 사용하려는 경우)에서 비선형 성을 고려하려면 RMS와 함께 어떻게해야합니까? 아니면 RMS 대신에해야합니까? – Steph

3

나는 당신이 원하는 정확성의 수준을 모르지만, 간단한 RMS (그리고 신호의 단순한 필터링)은 많은 유사한 어플리케이션이 필요로 할 것입니다.

RMS는 피크 진폭보다 훨씬 우수합니다. 피크 진폭을 사용하는 것은 평균이 아닌 가장 밝은 픽셀을 기반으로 한 이미지의 밝기를 결정하는 것과 같습니다.

신호를 필터링하거나 소리 크기를 측정하려는 경우 샘플 속도가 필요합니다.

복잡한 주파수 분석도 수행하고 싶지 않으면 FFT가 필요하지 않습니다. 귀는 다른 진폭의 주파수에 다르게 반응합니다. 귀는 다른 주파수와 진폭의 사운드에 선형으로 반응하지 않습니다. 이 경우 FFT를 사용하여 정확도의 다른 영역에 대한 주파수 분석을 수행 할 수 있습니다.

+1

나는 알고있다. 아주 명확한 응답을 주셔서 감사합니다! – Steph

관련 문제