GarageBand is an application that allows users to create and mix music. Includes many types of instruments and you can play with them then record your music.
Designed mainly for beginners and amateurs, GarageBand it comes with a set of lessons that will teach you how to sing at piano or guitar.
But also professionals can use it, because it supports to plug-in your instrument and a microphone and record what you sing. You can apply different effects, add drummers, fix rhythm automatically, use visual equalizers and more.
Allows to import MIDI files and edit pitch, amplitude and duration.