Hello and thanks for taking the time. FFT is not restricted to power-of-two but it runs most efficiently that way, unless this SE thread is completely off it's O(N log N) vs O(N^2))
Good link, thanks, I knew that the optimal FFT recursively divides the frame in half, but hadn't thought about other small-integer factors. Actually I can't quite visualize how it works except for the optimal case, but I'll trust that the FFT library knows what it's doing.
It's very likely, though, that the pitch will be a non-integer number of samples. And syncing the block size to a changing pitch is likely to be... amusing.
Anyway hope you get some useful data from it.