I have a 3D spline with points $p_0,p_1,...,p_n$ and tangents $m_0,m_1,...,m_n$. I'm using the formula described in this page.
$p(t) = (2t^3-3t^2+1)p_0+(t^3-2t^2+t)m_0+(-2t^3+3t^2)p_1+(t^3-t^2)m_1$, where $t \in [0,1]$.
It seems that this spline doesn't have a constant speed, and the distances between uniformly sampled points are not uniform.
Is there anyway to make this interpolation uniform?
No. The only polynomial curves that have constant speed are straight lines. For details, see this paper by Rida Farouki.