implement song data models, midi client and player.