Someone told me to use keys, similar to the coins in a soda can. When Milo started getting in the habit of barking I tossed the keys next to him (not AT him!)...it scared him a lot though. Ever since, when he barks all I have to do is take the keys out of my bag and he will stop. Oddly enough when I take the keys out of my bag when he is NOT barking, he's not frightened of them. He distinguishes between the 2 purposes somehow... them be some smart doggies
Also, when they are in that growling stage, like before they are going to bark at someone outside, I just say 'no' very sternly, and the second he stops I say 'good boy,' then 'NO' again if starts again, etc, etc. You end up sounding like sybil, but I think its a common fault on our part to try to soothe them when they are upset/barking, which only reinforces the undesired behavior.