Для активных целей шумоподавления, как бы я генерировал противофазный сигнал с использованием Novocaine? То есть, в пределах NovocaineOutputBlock
, как создать выход, который на 180 градусов не соответствует фазе с входом?Активное шумоподавление с помощью Novocaine
Вот мой код до сих пор:
__weak AppDelegate * wself = self;
self.ringBuffer = new RingBuffer(32768, 2);
self.audioManager = [Novocaine audioManager];
[self.audioManager setInputBlock:^(float *data, UInt32 numFrames, UInt32 numChannels)
{
wself.ringBuffer->AddNewInterleavedFloatData(data, numFrames, numChannels);
}];
[self.audioManager setOutputBlock:^(float *data, UInt32 numFrames, UInt32 numChannels)
{
wself.ringBuffer->FetchInterleavedData(data, numFrames, numChannels);
for (int i=0; i < numFrames; ++i)
{
for (int iChannel = 0; iChannel < numChannels; ++iChannel)
{
// Within here do noise cancellation. How?
}
}
}];
@omygaudio любые идеи? – Marco