How does Songify work?
Songify seems use Prosodic Modification (Pitch, Time) for monophonic signals:


First you need get the pitch contour and pitch duration from musics you want to follow
(use one pitch track for monophonic signal like YIN,
AMDF, Auto-Correlation)
Split your imput signal in voiced/unvoiced
Apply Pitch Scale Modification in voiced parts to match your extracted pitch contour (you can use PSOLA technique here)      
Apply Time stretch to match your extracted pitch duration (you can use PSOLA technique here)