When you say he yells, do you mean he yells when he's angry, or just yells all the time? If he's yelling most of the time, have you checked his hearing? I'm assuming this is not the problem, though.
Make sure you have his attention before you speak. Say his name, put your hand on his shoulder, get down to his level if necessary. Speak in a calm voice. Even when administering discipline, do it in a calm voice, not angrily. Try to think about the police officer giving you a speeding ticket. He doesn't yell or say "why do you always speed? You know you're not supposed to do that? How many times do I have to give you a ticket before you learn your lesson?" lol No, he says "Do you know how fast you're going? I clocked you at 92 MPH. Here's your ticket. Have a nice day." (I've never actually had a ticket, so maybe I've just seen too many movies I don't know)
No, you shouldn't have to repeat the command, but he may need time to mentally process it and change gears. I pause, and if I don't see obedience, I begin to count. Backwards. From three. They never have a chance to think "maybe mom will count to 5 or 10 today" If I get to one, there's a consequence. This is similar to the "1-2-3 Magic" book, but I started doing this long before I read the book.
If he's really out of control on it, don't even count. Make it an immediate consequence, but you have to do it EVERY time. Whatever behavior you're working on, you can't let it slip by even one time. If you're not sure it was intentional, it doesn't matter. If you're in doubt, err on your side and give the consequence. Otherwise they will find loopholes. The more you waffle, the more they wiggle to find the boundaries.
When my first was about 3 or 4, I was frustrated because he yelled all the time. Then I realized that I yelled all the time. I told him one day that we both had a bad habit that needed to change. I got two clear plastic cups, and split a roll of quarters between them. I labeled one Mom and the other one Tim. The rule was that if we caught the other one yelling, we would take a quarter out of their cup and put it in our cup. If he could get all of mom's quarters, he could have them all. After the first few days, quarters changed cups less frequently, and at the end of 3 weeks (the time required to form or unform a habit), I let him have them all anyway.
Another trick is to speak softer the louder he gets. Usually he'll quiet down just to hear what you're saying, especially if it appears to be something pleasant.