How do you find a NaN with only one specific note pitch?

Bernd Scheurer
Bernd Scheurer Member Posts: 28 Member
edited November 27 in Building With Reaktor

hello community,

I'm trying to convert my extremely power-hungry primary FM synth (https://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/14617/) to core as much as possible. (The fact that the primary version barely runs on the Intel i7, but runs very well on the Apple Silicon M1, and that my current core attempt on Apple Silicon needs 10% more power than on the i7, is a different story).

I currently have a NaN problem in the core version that only occurs with a specific note pitch (52) and a specific octave position (-2) in the op1. Otherwise never and nowhere.

I'm working on op1. op2 and 3 only serve as modulation sources, the LFOs are not yet connected.
no matter how far the modulation and self-modulation (feedback) are turned up, everything works without a problem.
unless op1 is transposed by -2 octaves and I press note pitch 52 (E3). I have checked all inputs and connections within the core module of op1 and I think that the event in the mod matrix macro takes place at the input for the self-modulation. But the problem also occurs if I remove the self-modulation!
I have also tried installing the DNC module recommended in the core manual as an alternative - also without success.
how can I localize the point where the problem occurs? according to the core manual, the problem should rarely or never occur with current/newer CPUs. I am at a loss, especially since I am not that well versed in core.
Thank you very much in advance. I really appreciate the patient and competent help with my core attempts!

Comments

  • colB
    colB Member Posts: 988 Guru

    It's most likely a divide by zero.

    Maybe there is some code, that uses pitch as a parameter, with an offset of -52. And there is a division using the result… that would throw an inf with a pitch of 52. If the inf propagates, maybe via feedback, it could become a NaN (or something like that?)…

Back To Top