The difference is what comes after each of them.
"Say" introduces a direct or indirect quotation, but doesn't tell you who is listening.
He said, "I'm tired" or he said that he was tired.
"Tell" introduces an indirect quotation (although the quotation may be understood, not stated) and mentions the hearer.
He told his wife he was tired.
I told you so.
An exception would be "tell a story"/"tell a lie"--but in that case it's usually clear that someone's listening.
"Speak" is usually intransitive, or at least not specific about what is being said--the point is that and HOW something is being spoken.
He speaks clearly.
She speaks Russian.
You always speak out of turn.