如何链接多个NAudio ISampleProvider效果
问题描述:
我在ISampleProvider模型中编写了一些DSP效果。要应用一个效果,我这样做,它工作正常。如何链接多个NAudio ISampleProvider效果
string filename = "C:\myaudio.mp3";
MediaFoundationReader mediaFileReader = new MediaFoundationReader(filename);
ISampleProvider sampProvider = mediaFileReader.ToSampleProvider();
ReverbSampleProvider reverbSamplr = new ReverbSampleProvider(sampProvider);
IWavePlayer waveOutDevice.Init(reverbSamplr);
waveOutDevice.Play();
如何将多个效果同时应用于同一个输入文件? 例如,如果我有混响效果和失真效果提供程序,如何将它们链接在一起以将它们同时应用于一个输入文件?
答
效果可以通过传递一个作为下一个的“源”链接在一起。所以如果你想让你的音频首先通过混响,然后失真,你可能会这样做,将原始音频传递到混响效果,混响输出到失真效果,然后发送失真到waveOut设备。
var reverb = new ReverbSampleProvider(sampProvider);
var distortion = new DistortionSampleProvider(reverb);
waveOutDevice.Init(distortion);
(注:n音讯不附带内置混响/失真效果 - 你必须让这些自己或从其他地方采购他们)
哈,这么容易。它是完美的。谢谢Mark,ISampleProvider框架是Genius。 –