好的,這是一些數學和DSP問題。使用不同的值增加音頻音高
讓我們說我有20,000個樣本,我想以不同的音高重新採樣。例如,正常速率是正常速率的兩倍。使用Interpolate cubic method found here我會通過迭代中的i變量乘以新音高來設置我的新數組索引值(在本例中爲2.0)。這也會使我的新樣本數量達到10,000。由於插值速度加倍,所以只需要一半的時間來完成。
但是如果我想讓我的音高在整個錄音過程中發生變化呢?基本上我希望它從正常速度慢慢地增加到8倍(10,000個樣本標記),然後回到1.0。這將是一個弧。我的問題是這樣的:
如何計算最終音軌有多少個採樣?
如何創建間距值,將代表這增加,從1.0到8.0回到1.0
你要知道這是不是實況音頻輸出數組,但轉化錄製的聲音。我主要在C工作,但我不知道這是否相關。
我知道這可能是複雜的,所以請隨時要求澄清。
不管你選擇什麼功能,我認爲尼古拉斯是正確的計算新的長度。取從0到原始樣本數的音高積分,然後除以樣本數。 – AShelly 2011-04-20 20:08:13
這個解決方案的問題在於,當你遍歷數組(乘以音高)時,你會超過原始音頻緩衝區中的樣本總數。我確信基於這個想法可以找出一些東西,但是我不明白。 – 2011-04-21 10:03:08
@Eric - 你說得對,我編輯過。 – NicolasP 2011-04-21 19:47:40