You can speak, just not about privileged information. With non-competes the most honorable thing they can claim is that they don't want you taking expertise they probably helped pay for you to get (either on-the-job or otherwise) and have someone else benefit from it. But really I think most of us would agree that restricting someone's right to use their own qualifications is overly broad. A better solution to that concern would be that they pay for training, if necessary, and you pay some of it back based on how much longer you remain in their employ, similar to some relocation agreements.
Not discussing confidential material shared with you on condition of your employer with an NDA is quite similar IMO to not sharing material information about a company's health days before their public earnings call. 1st amendment rights are not absolute. I'm not allowed to engage in libel, yell "Fire!" in a crowded theater, etc. I think abiding by NDA's about internal, confidential information is analagous and helps promote real, fair competition.