簡體   English   中英

使用C#進行聲音合成

[英]Sound synthesis with C#

是否有可能在C#中生成聲音? 我的意思是不僅發出嗶嗶聲或打開並播放波形文件。 我的意思是使用不同種類的波(正弦波,鋸齒等)及其選項(頻率,幅度等)構建信號

在codeplex上查看NAudio

NAudio是一個開放源代碼.NET音頻和MIDI庫,其中包含數十個有用的音頻相關類,旨在加快.NET中音頻相關實用程序的開發。 自2001年以來,它一直在開發中,並且已成長為包括多種功能。 盡管該庫的某些部分相對較新且不完整,但更成熟的功能已經過廣泛的測試,可以快速用於為現有.NET應用程序添加音頻功能。

您可以直接使用該庫,也可以查看其源代碼以了解其底層工作原理。

這是我寫的有關如何使用NAudio創建正弦波的博客文章。 顯然,這只是制作完整的合成器的第一步,因為您還希望創建其他波形,ADSR包絡,濾波器等,但這至少應該使您入門。

我強烈建議您查看平台VST .Net。 這將允許您在.Net中創建自己的VST。 如果要進行綜合,則可能會發現創建VST並將其托管在您選擇的DAW中比創建一次性應用更容易。 這是因為,如果您創建VST,則不必擔心處理音頻接口驅動程序或ASIO等。https://vstnet.codeplex.com/

另外,您還需要針對用戶界面的一組控件。 標准的Windows窗體或WPF控件可能可以解決問題,但合成器愛好者通常喜歡看到外觀精美的控件。 我最近發布了這些控件,它們的行為類似於普通的WPF控件,但它們是為綜合而設計的: https : //bitbucket.org/MelbourneDeveloper/vst-controls-.net/

您可以使用FLooping 它是一個用F#語言編寫的庫,提供了用於音頻合成的通用構件,如振盪器,包絡線,濾波器等。它目前處於實驗狀態。

披露:我是FLooping的開發人員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM