So I didn’t look at this in great detail, but from a cursory look, it seems that you need to change the formulae inside the reductions, which would mean that you would need custom kernels.
That said, I think you can mostly copy-paste  the native CTC code in your own module (in part because I never got around to switching the pointwise part to TensorIterator which would it make more efficient).
Best regards
Thomas