Random speed on mass objects?

I have a scene where I have hundreds of small objects going through a tube, however, the only way to get them all to move down en masse is to select them all and key them at the same time, but this leaves me with a very ugly block of objects moving at exactly the same speed. So I’m wondering if there’s a way to randomize the speed of the objects without having to do it by hand, which would take a huge amount of tedious work and time. In this case the physics engine wouldn’t work, I’ve already thought of that and tried it.

Any python scripts or features I don’t know about?