As Rimmer said, there is not much difference. However, there IS a subtle difference in my opinion.
If verbal communication is compared to a layered communication protocol, talk refers to the higher layers of the protocol, where ideas and opinions are articulated and understood. "Speak" signifies communication starting at ,probably, the physical layer- the utterance of words/sounds, hearing, interpreting and up. This is somewhat analogous to the difference between "Hear" and "Listen".
The Oxford dictionary partially bears this theory out when it says:
speak - The power or faculty of speech; &
Talk - The action or practice of conversing; informal oral communication; discussion, conversation.