Spectrum in 1/3 octave bands from FFT
It seems like you’ve by and large got it, but I did notice a couple things. You’ll probably want to include support for windowing and the corresponding correction factor as shown by APs article on FFT noise.  Rectangular windows aren’t great for RMS type measurements (at least in my opinion) for all the side lobe type explanations that are common with windows.  Second, I’m pretty sure you need to sum from 1 to N, not N/2.  You may have realized that because the input signal is real, that there is redundant data that doesn’t need to be calculated twice. That is true, with the exception of the 0 and N/2 (if N is even) bins.  Granted this probably wouldn’t make the output too wrong, but it would be off a bit.
Edit:  you know what, AP may have designed those coefficients so that windowing either isn’t necessary, or would do more harm than good.  You may still want to try it, since it’s easy enough to support, but it may not help.  Also, I don’t see how this would be more computationally efficient than doing the calculations directly in the time domain.