1)
Who will sing?
1.
Radak: Yisrael and Goyim who serve Hashem. The Resha'im will perish, and I will sing.
2.
Radak (35, citing Ibn Ezra): The author.
2)
Why will he sing?
1.
Radak (35, citing Ibn Ezra): While I am alive, I am obligated to thank Hashem, who does all these Gevuros for me.
2.
Malbim: (a) I was saved and remained alive via Hashgachas Hashem. (b) He bestowed to me all good.
3)
What is "b'Odi"?
1.
Rashi: It is while I am still alive.