对于预先从MIDI中提取的每个音符,我有一个变量列表,其中包括银行编号、补丁编号、音符编号、长度和速度,我想使用SoundFont根据这些变量从每个音符生成正确的样本,因此SoundFont +变量会输出一个样本。我只需要wave数据,并且我有NAudio库。我可以使用FluidSynth为我生成示例吗?我看到有用于FluidSynth的.net包装器,但我不知道如何实现它。
我试着自己编写读取SoundFont的代码,但它没有获得正确的样本,并且缺少许多调制器和效果。它真的很糟糕,我几乎不能让它工作。
SoundFont sf2 = new SoundFont(path);
WaveStream wave = ImportFromSoundFont(args, sf2);发布于 2019-08-15 02:55:37
SF2的SoundFont支持将简单地告诉你一个NAudio文件中有什么。它没有实现一个软件采样器,这就是FluidSynth。因此,您需要为FluidSynth使用.NET包装器,或者,您也可以创建单音符MIDI文件,然后生成一个命令行来通过FluidSynth to WAV渲染整个midi文件,并加载所需的SoundFont。我认为这可能是实现你想要的最简单的途径。
https://stackoverflow.com/questions/57446044
复制相似问题