2015-11-19 57 views
1

我開始使用VST SDK和Juce製作我自己的VST的過程。'樣本'在VST中有什麼樣的信息?

我是一名程序員,所以我對C++和計算機科學原理(如整數和浮點數如何存儲在二進制文件中)有了很好的理解。

我能夠直接跳到代碼,並且基本瞭解發生了什麼,但是我不能爲我的生活弄清楚究竟是什麼樣的樣本。

在代碼中,單個樣本是一個浮點值,它似乎代表不同場景中的音高或幅度。

我不太瞭解DSP,所以我希望有人能指引我尋找正確信息的正確方向。

在閱讀關於DSP的知識時,我能找到的是關於浮點值和二進制的東西,他們有一些更多的數學內容,但沒有涉及數字值如何表示模擬值ETC,以及如何操作數字值模擬真實生活中的事情,比如簡單的延遲。

謝謝!

編輯:

好吧,我想我現在就買下,完善的保存只有幅度和頻率。

樣本僅僅表示幅度,然後頻率將是幅度隨時間如何變化,因爲樣本是週期性且均勻地處理的。

+1

正常情況下(時域)它是振幅,而在頻域它是特定頻率(=音高)*的振幅。 https://en.wikipedia.org/wiki/Fourier_transform,通常通過https://en.wikipedia.org/wiki/Fast_Fourier_transform實施) –

+0

謝謝@KarolyHorvath!什麼區分時域和頻域?通過讀取代碼,看似只有'進程'功能,其中輸入緩衝區被賦予處理方法,並且可以修改輸出緩衝區。如果我想在C++中創建自己的VST效果,你會推薦學習關於FFT的所有知識嗎?或者是否存在對DSP/VST更適用的信息的劃分?我不害怕數學,只是懶惰,試圖從小開始:) –

+1

他們是同一件事的不同表示。某些效果需要處理特定域中的信號。 http://learn.juce.com/doc/classFFT.php –

回答

1

鑑於計算機無法存儲連續的幅度波,因此會在離散點處收集信息。這些離散點稱爲樣本,它們從連續波形中獲取的速率稱爲樣本速率(因此消費者知道如何將樣本組合成連續波形)。