【问题标题】:Sound synthesis with C#使用 C# 进行声音合成
【发布时间】:2012-02-01 11:31:08
【问题描述】:

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

【问题讨论】:

标签: c# .net audio signals synthesis


【解决方案1】:

在 GitHub 上查看 NAudio

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

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

【讨论】:

  • 谢谢!我会检查它的来源。
【解决方案2】:

这是我写的关于 how to create a sine wave with NAudio 的博文。显然,这只是制作完整合成器的第一步,因为您还需要创建其他波形、ADSR 包络、滤波器等,但至少应该让您开始。

【讨论】:

  • 谢谢,这篇文章很有用!
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

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

    披露:我是 FLooping 的开发者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2021-04-21
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多