gpt4 book ai didi

c# - 使用 SoundFonts 和 NAudio 播放 MIDI 文件

转载 作者:行者123 更新时间:2023-11-30 15:31:28 26 4
gpt4 key购买 nike

我正在尝试创建一个简单的程序,使用 Soundfont 中的预设播放一些音符。为此,我尝试使用 NAudio .到目前为止,我已经能够成功打开一个 SoundFont,并获取所有乐器、预设等的名称:

NAudio.SoundFont.SoundFont sf = new NAudio.SoundFont.SoundFont("SoundFont.sf2");
MessageBox.Show(sf.Presets[0].Name); //Just looking at the first name

现在我希望能够使用这些声音字体播放声音,最后从 midi 播放,但现在,只是一个音符。我玩过一些东西,但到目前为止还没有想出任何东西。

最佳答案

NAudio 可以从 SoundFont 文件中读取信息,但它不包含 SoundFont 引擎。为此,您需要一个好的音调变换算法、一些滤波器和一些语音管理,以及一个音序器(如果您想播放 MIDI 文件)。

我最接近于构建这样的东西是我为我的 NAudio Pluralsight 制作的演示。当然,我在其中基于一些钢琴音符录音构建了一个简单的采样钢琴。如果您是订阅者,您可以免费使用它。我使用的技术是将样本加载到内存中,将 RawSourceWaveStream 连接到它,将其转换为样本提供程序,然后通过移调器样本提供程序传递它,基于我为 this open source project 移植到 C# 的那个。 .

关于c# - 使用 SoundFonts 和 NAudio 播放 MIDI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20624321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com