2011-01-24 49 views
6

在我的高中,我們可以參加一門課,我們基本上可以自己學習一門課,一學期。我想我想了解「聲音編程」,但是我意識到我不知道這會帶來什麼。例如,我有興趣瞭解合成器的工作原理,如何編寫VSTi,以及聲音如何在計算機科學中發揮作用。這是一個可行的主題?有沒有對這個完全陌生的人有任何好的教程?任何提示或建議將不勝感激。我想做一個關於聲音編程的項目,但我不知道從哪裏開始

編輯:This是諸如此類的事情,我很感興趣,

+0

聽起來對我來說(沒有雙關語意思),就像你對音頻工程領域感興趣一樣。你的學校是否有Stagecraft計劃?結合編程課,看起來似乎是一個好的開始。 – aqua 2011-01-24 05:34:58

+0

你有什麼計算機操作系統可以訪問,你知道哪些編程語言(如果有的話)? – Phrogz 2011-01-24 05:36:12

+0

aqua-No,我的學校不提供「Stagecraft」程序,或者就此而言,任何編程類 Phrogz-Windows/Ubuntu和C++ – ahota 2011-01-24 05:56:24

回答

2

VST插件通常用C++編寫。但也可以使用其他語言。用C++構建VST插件是一個相當複雜的項目。如果沒有預先存在的經驗,對於一個學校項目來說可能太多了。另外,您可能會花費盡可能多的時間來實現VST零件和GUI,因爲您將會進行實際的聲音編程。

然而,還有其他方法來創建一個VST插件,仍然讓你的手髒編寫代碼。

SynthEdit是用於創建合成器和效果的模塊化環境。模塊(如振盪器,信封等)通過導線與視覺連接。修補程序可以導出爲VST插件。 SynthEdit允許使用C++對其他模塊進行編程。

SynthMaker是另一種類似於SynthEdit的選項。它具有一個代碼模塊,它允許您編寫DSP代碼,而不需要使用其他語言編譯模塊的困難。

在您的情況下使用SynthEdit或SynthMaker的優點是您可以將您的編程工作集中在特定區域,例如創建濾波器或振盪器模塊。 SynthEdit/SynthMaker可以處理其他區域(GUI,語音邏輯等)。

使用SynthEdit或SynthMaker還可以讓您更快地創建想法原型。因此,在爲您的學校項目完成某些任務之前,您將有更多時間來嘗試不同的合成器或效果架構。

DSP的理論可能會涉及到很多,數學很重,但是這一點不應該讓你失望。根據你想要做什麼,對數字音頻原理和代數水平數學的基本理解可能足以讓你感到驚訝很長。

1

你可以嘗試尋找在DSP(數字信號處理)和/或音頻信號處理資源。編程本身(除非您正在尋找現有的音頻庫)可能比編程密集型的數學密集程度更高,因此可能非常適合查詢math.stackexchange.com

0

有一個非常靈活和強大的音頻應用程序,稱爲Plogue Bidule。您可以使用它來了解音頻處理和合成,通過使用低級數學和邏輯構建模塊創建您自己的「bidule」或組。有一個現有的用戶社區,我很難找到它可以做的限制。你不會用這個工具做任何代碼,但是它對於音頻處理和綜合基礎的性能和學習非常有用。

相關問題