如何在不使用 wav 文件的情况下组合多个信号以在 NAudio 中同步播放?

How do I combine multiple signals for synchronous playback in NAudio without using wav files?

我想合并多个信号进行播放,而不必先写入 wav 文件。换句话说,一个基本的加法合成器。

我在 "Play Sine Wave" 演示 (https://github.com/naudio/NAudio/blob/master/Docs/PlaySineWave.md) 中注意到,我可能可以在嵌套的 using 语句中调用多个信号发生器的 Play 方法。但是,我不确定在不引入信号之间延迟的情况下我可以调用其中的多少。即使只有两个信号,这看起来也像是一种粗略的方法。

那么我还有其他选择吗?我将如何实施它们?

您应该使用 MixingSampleProvider 并添加任意数量的信号发生器作为输入(最好减少它们的输出音量,这样您就不会出现削波)。

然后直接从MixingSampleProvider播放。