跳轉到內容

ZynAddSubFX/PADsynth/實現

來自華夏公益教科書

展示簡單實現的公共領域 C/C++ 程式碼

[編輯 | 編輯原始碼]

我編寫了一些基本演算法和擴充套件演算法的 C/C++ 實現。"c_basic" 目錄包含基本演算法,"c_extended" 包含擴充套件演算法,而 "c_simple_choir" 是使用基本演算法實現簡單合唱的效果。這些實現易於理解,並未針對速度進行最佳化。您可以在 Linux 上執行 ./compile.sh 指令碼進行測試。建議安裝 snd,以便能夠將結果以 wav 檔案的形式播放。當然,您也可以將結果匯入您的樂器,因為這些波形是完美迴圈的(將第一個迴圈點設定為 0,第二個迴圈點設定為 wav 檔案的結尾)。我將原始碼置於公共領域,但它依賴於 FFTW3_library,因此,如果您想要在您的產品中使用它,您必須使用自己的 IFFT 例程來避免 FFTW 庫的許可問題。

實現演算法的公共領域 C++ 類(可直接使用)

[編輯 | 編輯原始碼]

為了便於在您的專案或產品中使用此演算法,我製作了一個可直接使用的 C++ 類。您只需要提供一個 IFFT 例程即可。請閱讀標頭檔案以獲取詳細資訊。

C/C++ 實現的原始碼可以在 此處 獲取。

您也可以在這裡檢視 C++ 類:CPP 實現

華夏公益教科書