Advice & Help Please! Angry and Sensitive Husband!

So when my husband is crabby or feeling insecure he gets really mean. He shuts down or he just snaps at me and says hurtful things. For example..yeaterday we went for a walk with our dog and we were commenting on houses. He asked what I felt about houses with ponds in their back yard.. I said I have mix feelings but would worry that if we had a kid they could fall in and drown. Whenever I say the word drown for some reason it sounds like "drownd " anyway..he kinda made fun of me a little then I told him it hurts my feelings that he teases me like that cuz it makes me feel dumb. Then he snapped back "well, you are dumb if you say a word that way". Long story short...he eventually appologized a couple hours later but then he got that attitude right back later that night again!! And he just says mean things like that to hurt me and put me down. Whether he is just super sensitive or is insecure for making me speak my feelings that made him feel bad about himself...there is no reason he should put me down like this. it feels like emotional abuse. it's so immature!!! when he calms down he eventually apologized and says he's wrong and knows he needs to get better...but when will it get better!? I'm tired of this pattern.. fight, abuse , make up, sorry, fight, abuse, make up, sorry...etc. it's getting harder to forgive him or believe that "it will get better". I'm willing to work it out..what should I do? plz don't say counselling...we have done that in the past, and I'm willing to again..but he wants to fix it ourselves. So how do we do that?