5

是否有可能在 C# 中生成声音?我的意思不仅仅是哔哔声或打开并播放波形文件。我的意思是使用不同类型的波(正弦波、锯齿波等)及其选项(频率、幅度等)构建信号

4

4 回答 4

10

在 GitHub 上查看NAudio

NAudio 是一个开源 .NET 音频和 MIDI 库,包含数十个有用的音频相关类,旨在加速 .NET 中音频相关实用程序的开发。它自 2001 年以来一直在开发中,并且已经发展到包括各种功能。虽然库的某些部分相对较新且不完整,但更成熟的功能已经过广泛的测试,可以快速用于将音频功能添加到现有的 .NET 应用程序中。

您可以直接使用该库,也可以查看其源代码以了解它在低级别是如何工作的。

于 2012-01-03T12:17:07.157 回答
4

这是我写的一篇关于如何使用 NAudio 创建正弦波的博客文章。显然,这只是制作完整合成器的第一步,因为您还需要创建其他波形、ADSR 包络、滤波器等,但至少应该让您入门。

于 2012-01-03T15:36:11.297 回答
1

我强烈建议您查看 VST .Net 平台。这将允许您在 .Net 中创建自己的 VST。如果您想做合成,您可能会发现创建 VST 并将其托管在您选择的 DAW 中比创建一次性应用程序更容易。这是因为如果您创建 VST,则不必担心处理音频接口驱动程序或 ASIO 等。 https://vstnet.codeplex.com/

此外,您还需要一组用于用户界面的控件。标准的 Windows 窗体或 WPF 控件可能会起到作用,但合成器爱好者通常喜欢看到外观精美的控件。我最近发布了这些控件,它们的行为类似于普通的 WPF 控件,但专为综合而设计: https ://bitbucket.org/MelbourneDeveloper/vst-controls-.net/

于 2016-02-16T05:57:33.757 回答
0

您可以使用Flooping。它是一个用 F# 编写的库,为音频合成提供通用构建块,如振荡器、包络、滤波器等。目前处于实验状态。

披露:我是 Flooping 的开发者。

于 2018-05-19T09:18:30.123 回答