(以下の記事は、say/ tell, speak/talkの使い分け(再度考える)により詳しく説明されています。そちらを参照してください)

sayとtellの違い

「話す」という意味の動詞にはいくつかあります。ここでは、say, tell, speak, talkについて考えてみましょう。動詞のsayは言葉を発するために声を出したことを強調しています。動詞の目的語にあたるのは、発話した音声そのものになります。例えば、Say “Cheese.”ではCheeseという音声自体を出しなさいと述べています。あるいは、飲み物を注いでいるときにSay when.(止めるところで言って)に対する答えはwhenと言うことになります。つまり、sayは言葉の内容に重点をおきます。そこで言葉そのものを目的語にすることができるのです。

He said, “No comment.” (彼はノーコメントと言った)
He said the information itself was wrong.(彼は情報そのものが間違っていると言った)

一方のtellですが、伝える相手を意識するので、聞き手が必要になります。つまり、誰かに何かを伝えるときに用いられる動詞です。誰が相手であるかを示す間接目的語が必要となります。「内容を誰かに伝える」というように、情報を誰かに伝達したことに力点を置いています。また、tellがSVOO構文で使われたときは、間接目的語は相手を示しますが、直接目的語は話した内容を示します。
Did you tell him how you felt about him?(彼についての自分の気持ちを彼に伝えましたか)
I will tell you what. (こうしましょう)

練習問題1

次の(  )の中にsayまたはtellを入れて意味を述べなさい。
(1) You have to ( ) hello to your friends.
(2) I will ( ) a story.
(3) You shouldn’t ( ) a lie.
(4) You have to ( ) “yes” or “no” clearly.
(5) Can you ( ) “Good morning” in Japanese?
(6) ( ) me the truth.
(7) I will ( ) a prayer today.

speakとtalkの違い

speakとtalkはともに、「話す」という意味です。speakは声を出すという意味が強いのですが、talkは話す相手がいて、「双方向のやりとり」を前提にするという違いがあります。
I want to talk to you. (あなたとお話がしたい)
I want to speak to you. (あなたに言いたい)
People were talking while the lecturer was speaking. (講演者が話しているときに、聴衆は互いに私語をしていた)
上の例文が示すように、speakを使うと一方的に話しているという意味になりますが、talkでは互いに話しあうという意味になります。また、speakには公式に、talkには非公式に(話し合う)というニュアンスもあります。公的な場での講演はspeechになりますが、そのあとのパーティでは人々はくだけた雰囲気でtalkをします。

いろいろな例

Please speak more clearly. (もっとはっきりと声を出して話して)
She has a nice speaking voice. (彼女はとても良い声をしている)
Speaking. (私です。→電話で「声を出しているのがその人である」との意味があります)
My baby can talk now.(赤ちゃんはもうお話が出来ます)
summit talks (サミット会談)
a talk show (トークショウ)
He and his wife spoke sometimes, but seldom talked. (夫婦の一方が一方に話しかけることはあっても、おしゃべりに発展することはめったになかった。)

練習問題2

次の文の意味を述べなさい。
(1) Ken has been speaking almost in a whisper.
(2) Uncle George went on talking, in a low voice.
(3) It is my turn to speak.
(4) Several parents spoke to me expressing their grave concern.
(5) They were finishing lunch and talking loudly.

これらの違いを一言で言えば、tellは「相手に伝達した」、sayは「ある内容の音を発した」、talkは「相手と双方向でやりとりした」、speakは「一方向からだけ話をした」ことを示しています。相手がいなくてもspeakが成り立ちます。

I told you. だから、言ったでしょう。そんな人とつきあうなと
Please say “yes.” イエスと言って。
I talk to her. 彼女と話し合った。対話をした。あの人はトークが上手だ。
A strange man suddenly spoke to me. 突然、声を掛けてきた。