1. Speedo cable has vibrated loose from the back of the speedo. Fairly common problem and easily fixed.
2. Cable snapped internally. Remove from rear of speedo, get the front wheel off the ground and spin it. If the cable shaft does not move at the speedo end, it has snapped somewhere inside the cable jacket. It's a $15 part.
3. Plastic gear assembly on rear of speedo broken. This is usually first noticed as a speedo needle that jumps around at high speed. I think the gear assembly is around $28.
4. Gear assembly at front wheel bad. These have metal gears so rarely fail, but do need to be lubed occasionally. If this failed it would be pretty noisy. Replace with a used unit from eBay.