Verb-object compound, composed of canta (“to sing”) + favola (“fairy tale, fable”).
cantafavola f (plural cantafavole)