2012-01-03 76 views
4

有一些可能產生在C#中的聲音?我的意思是不只是嘟嘟聲或打開並播放波形文件。我的意思是使用不同種類的波(信號,鋸等)及其選項(頻率,振幅等)建立信號。聲音合成用C#

+1

像這樣的事情? http://channel9.msdn.com/coding4fun/articles/Generating-Sound-Waves-with-C-Wave-Oscillators – 2012-01-03 12:10:01

回答

8

在codeplex上檢出NAudio

NAudio是一個開源的.NET音頻和MIDI庫,包含許多有用的音頻相關類,旨在加速.NET中音頻相關實用程序的開發。它自2001年以來一直在發展,並且已經發展到包括各種各樣的特徵。雖然庫的某些部分相對較新且不完整,但更成熟的功能已經過廣泛的測試,可以快速用於將音頻功能添加到現有的.NET應用程序。

您可以直接使用該庫,也可以查看其源代碼以瞭解它在低級別的工作原理。

+0

謝謝!我會檢查它的來源。 – 2012-01-03 16:10:01

4

這裏有一個博客帖子我寫的關於how to create a sine wave with NAudio。顯然,這只是製作全面合成器的第一步,因爲您還希望創建其他波形,ADSR信封,濾鏡等,但至少應該讓您開始。

+0

謝謝,這篇文章非常有用! – 2012-01-03 16:10:16

0

我強烈建議你看看平臺VST .NET。這將允許您在.Net中創建自己的VST。如果你想做合成,你可能會發現創建一個VST並將其放置在你選擇的DAW中比創建一個一次性的應用更容易。這是因爲如果你創建一個VST,你不必擔心處理音頻接口驅動程序或ASIO等 https://vstnet.codeplex.com/

此外,你還需要一組用戶界面的控件。標準的Windows窗體或WPF控件可能會訣竅,但合成器愛好者通常喜歡看到漂亮的皮膚控件。我最近公佈的這些控件,它們的行爲像正常的WPF控件,但用於合成: https://bitbucket.org/MelbourneDeveloper/vst-controls-.net/