Pete-
Try to separate a poor connection in the horn button (not providing a good ground) from poor contact inside the horn motor at the brushes by opening the horn cover and carefully connecting a temporary ground wire from the ground side of the horn connectors to a clean ground under the hood (head stud, for example).
Be very careful and certain that you are connecting the ground jumper (alligator clip) to the ground wire of the horn, not the power feed wire.
See if the horn blows well when given a direct ground. If so, the problem is the horn rod and/or horn button. Some corrosion, rust, poor connection inside the light switch is not allowing the horn to get full power.
But if the horn still does not blow, with the ground jumper, then the problem is bad connections in the motor at the brushes. With the horn cover off, clean the contacts where the brushes rub. Once you get it to blow, just running the motor will often clean the brush surfaces up more.
Hope that helps.
Remember, when taking the horn cover off, the wires in there are hot all the time. Don't touch the wires with the cover as it goes off and on. Or temporarily disconnect power (pull the fuse, etc.).