Я переключился на NAudio и теперь БПФ работает.Однако я мог бы найти причину (я, вероятно, не буду пытаться проверить снова): когда я создавал массив double для подачи в функцию FFT, я сделал что-то вроде:
for (int i = 0; i < buffer.Length; i+= sizeof(short))
{
samples[i] = ReadSample(buffer, i);
}
Для справки'samples' - это двойной ввод [] для fft, ReadSample - это то, что заботится о маленьких / больших порядковых числах.Сейчас я не могу вспомнить, как был написан код, но он пропускал все странные примеры.
Мои знания по математике никогда не были хорошими, но я думаю, что это вызывает некоторые шаблоны наложения, которые в конечном итоге могут привести к эффектуЯ испытал.
В любом случае, проблема обошлась, но спасибо за ваш вклад, и если вы все еще можете объяснить явление, я благодарен.