The conversion code is located in the "ConvertToSMB1.cs" file. The noise conversion code is located in the "ConvertNoteNoise" function at the way bottom... To date, the function is 40 lines of code.
To debug it, use breakpoints...
If you want to test note conversion quickly, call the noise function at line 27.
I'm not sure there is an issue with the NOI encoding . . .
I've looked at the output of your test file for channel 03 which was;
11 90 21 90 21 51 21 90 90 90
I think you are probably trying to match to the ROM at address 7B2A which is;
31 90 31 90 31 71 31 90 90 90
Looking at your test file, and working back from the w7n guide, it seems like some of the kick notes were hats or snares which doesn't align to the original ROM. I have updated the test file to NOI and as far as I can see it now aligns to the ROM. And checking the expected error, these are correct to what they are respectively representing i.e. 8th note snare/ko is showing as 21 etc.
I've put an update to the FTM file SMB1-Update.ftm
So I think this is the input rather than your code but please review to see if you come to the same conclusion.
Edit - I've tested on another file, not sure if these help for reference, but the output from the converter for the NOI is what I would expect to see had I done this manually with the w7n guide.
FTM and output ZIP