Most likely this function.
In your :sequencer
live_loop, you play several samples, sleep for 0.25, and repeat.
However, your :drums_sn_play
function wraps a sample in a :reverb
fx.
Reverb is one of the sorts of fx that need to be used carefully, as they can quickly use up system resources if too many are triggered at once. Here, the :drums_sn_play
is being called fairly frequently, with very little time in between for each reverb to terminate. The result is that the stacking up of the reverb fx would cause the system to struggle to keep up.