One of my tools might provide a good foundation for this…
As long as you know roughly the cycle length, and the fundamental frequency of a sample doesn’t change over time, ZeroCrossings can do a pretty good job at extracting those cycles:
https://forum.renoise.com/t/new-tool-3-0-zerocrossings/43501
The trick is to head into the sample editor, identify a single cycle and then reduce the selection by a few samples. Next, click “Set from Selection” and hit process.
Reducing the size is necessary since cycles will not always have the exact same length in samples - setting it to a slightly smaller value will give the tool a bit of “wiggle room”.
So no, it’s not fully automated but it can extract from even the most complex, atonal-ish types of sound.