2012-01-03 119 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/