There's a brilliant training book called "The Perfect Puppy" which is sold everywhere, including Pets At home, and is sponsored by the RSPCA. It helps with this sort of thing, and I can't recommend it enough. The yelping thing definitely works a treat, but maybe you should keep the pup away from the baby, just until pup has learned to inhibit his bite?
One comment I would make is that dogs are very, very status driven. They have a clear role in packs, they know exactly where they stand in it. Your puppy may well think the baby, being less developed, is junior to it. That's a problem. Personally, I'd keep a baby that small apart from floor play - you need to have the baby on your lap and the puppy on the floor, because height = status to a dog, and all being on the ground is a signal for rough playtime. You can also control matters better if you are in the same place as the baby, so to speak - and also, it makes it clear to the dog that the baby comes first.
I'd ask your vet about a good (positive reinforcement, not punishment-based) dog training class. The trainer will be able to offer you great advice. Dogs can be nightmares if not handled firmly but kindly from day one, and cockers are working dogs, which means brains but also sometimes wilfulness.
Good luck!