What's the difference between a psalm, a hymn, and a spiritual song? Is the difference between a psalm, a hymn, and a spiritual song/song from the Spirit defined anywhere in scripture or church tradition?

Paul said this to the Ephesians:


  Ephesians 5:18-20 Do not get drunk on wine, which leads to debauchery. Instead, be filled with the Spirit, speaking to one another with psalms, hymns, and songs from the Spirit. Sing and make music from your heart to the Lord, always giving thanks to God the Father for everything, in the name of our Lord Jesus Christ. (NIV)
Paul's Greek was ψαλμοις, υμνοις and ωδαις πνευματικαις.

Thayer's Greek Lexicon (via Blue Letter Bible) has




  ύμνος, -ου, ο, in Greek writing from Homer down, a song in praise of gods, heroes, conquerors, [cf. Trench as below, p297], but in the Scriptures of God; a sacred song, hymn.


Thayer quotes Richard Chevinix Trench's Synonyms of the New Testament:


  ύμνος, ψαλμός, ωδή: ωδή is the generic term; ψαλμός and ύμνος are specific, the former designating a song which took its general character from the Old Testament "Psalms" (although not restricted to them, see 1 Cor 14:15, 26), the latter a song of praise. "While the leading idea of ψαλμός is a musical accompaniment, and that of ύμνος praise the God, ωδή is the general word for a song, whether accompanied or unaccompanied, whether of praise or on any other subject. Thus it was quite possible for the same song to be at once ψαλμός, ύμνος, and ωδή" (Bishop Lightfoot on Col 3:16). The words occur together in Colossians 3:16 and Ephesians 5:19. See Trench, Synonyms §78.


Psalm: a song from the Book of Psalms, often accompanied
Hymn: a song of praise, often unaccompanied
Song: any song