【发布时间】:2012-02-01 11:31:08
【问题描述】:
是否有可能在 C# 中生成声音?我的意思不仅仅是哔哔声或打开并播放波形文件。我的意思是使用不同类型的波(正弦波、锯齿波等)及其选项(频率、幅度等)构建信号
【问题讨论】:
标签: c# .net audio signals synthesis
是否有可能在 C# 中生成声音?我的意思不仅仅是哔哔声或打开并播放波形文件。我的意思是使用不同类型的波(正弦波、锯齿波等)及其选项(频率、幅度等)构建信号
【问题讨论】:
标签: c# .net audio signals synthesis
在 GitHub 上查看 NAudio。
NAudio 是一个开源的 .NET 音频和 MIDI 库,包含数十个有用的音频相关类,旨在加快 .NET 中音频相关实用程序的开发。它自 2001 年以来一直在开发中,并且已经发展到包括各种各样的功能。虽然库的某些部分相对较新且不完整,但更成熟的功能已经过广泛的测试,可以快速用于将音频功能添加到现有的 .NET 应用程序中。
您可以直接使用该库,也可以查看它的源代码以了解它在低级别是如何工作的。
【讨论】:
这是我写的关于 how to create a sine wave with 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 的开发者。
【讨论】: