我想分析一個電影文件,將其分解爲相機鏡頭,然後嘗試確定哪些鏡頭比其他鏡頭更重要。我在拍攝的重要性中考慮的一個因素是在該部分電影中音量有多大。爲此,我正在分析相應的聲音文件。我無法確定一個鏡頭「響亮」的聲音,因爲我不認爲我完全理解WAV文件中的數據代表什麼。在WAV文件中分析聲音
我使用類似於this post中描述的方法將文件讀入音頻緩衝區。
已經將相應的視頻文件分割成鏡頭,我現在試圖找出哪些鏡頭比WAV文件中的其他鏡頭更響亮。我想通過這樣的文件中提取每個樣品要做到這一點:
double amplitude = (double)((audioData[i] & 0xff) | (audioData[i + 1] << 8));
一些我已閱讀其他職位似乎表明我需要應用快速傅立葉變換這個音頻數據以獲得幅度,這讓我想知道我提取的值實際上代表了什麼。我做的是對的嗎?我的聲音文件格式是採樣率爲22,050 Hz的16位單聲道PCM。當我試圖分析文件的體積時,是否應該用這個22,050值做些什麼? Other posts建議使用均方根來評估響度。這是必需的,還是隻是一個更準確的方法呢?
我越看越這個,我就越困惑。如果有人能夠澄清我的錯誤和誤解,我將不勝感激!
好的,太好了。我只是擔心我沒有正確提取振幅。但這聽起來像我。出於好奇,如果我確實關心幅度和聲功率之間的非線性關係,那麼我應用FFT會怎樣? – Steph
以該格式表示的振幅峯值處的扁線值聽起來就像是一個平線值0.完全無聲。平均值不是要走的路。要麼使用RMS(我的首選),要麼計算一個dB級別,以獲得更準確的「音量」值。 –
@AndrewThompson - 好的,所以我開始相信RMS是個好主意。如果我還想考慮耳朵響應頻率和幅度的方式(即,如果我想使用FFT)的非線性,那麼我如何結合RMS來做到這一點?或者我必須這樣做而不是RMS? – Steph