I'll preface my response by saying that it probably won't be too helpful for you, since our circumstances are probably very different...
My son is on the autism spectrum. He is eight years old and has almost no expressive language abilities. It is difficult to determine just how much he understands, although it is obvious to me that he takes in far more than a casual observer would give him credit for. He definitely understands things like "If you change into your day clothes, we can go to the playground." But I don't think he understands terminology for abstract concepts like anger. I also don't think he has a sufficient concept of mind or ability to empathize that my saying anything like, "I am angry" would have any meaning for him. (Don't get me wrong, I do discuss emotions with him just in case I am underestimating him. But I just don't rely on the discussions to be sufficient.)
Subtle discouragements like frowns or calm requests to desist are lost on him. Therefore, I do raise my voice with him on a fairly regular basis; mainly in one of the following situations:
1) When he puts himself in danger or is about to do so. (He likes doing things like climbing bookcases, putting his leg over the railing of the stairs in our house, etc. So this is a fairly frequent reason for me to raise my voice.)
2) When he hurts, or is about to hurt, someone. (Hair pulling, hitting, etc.)
3) When he intentionally destroys or damages property. (e.g., Tearing pages out of books.)
I will say that my reaction to these behaviours also depends on what I believe his motivation for doing them is. If I can tell that he is doing these things to get a rise out of me, then, to the extent possible consistent with keeping everyone safe, I will not react in any way whatsoever. The non-reaction response is designed to extinguish unwanted behaviours.
As I said, our situations are very different. But FWIW, this is what I do. I hope it helps at least a little.
cheers,
Lynn