Кроме вышеперечисленных программ хорошо бы еще хотя бы немного знать музыкальную теорию: понимать как выстраивается мелодия и аккомпанемент, разбираться в тесситуре и ритмике. Помимо этого сильно поможет умение сведения и мастеринга (обычно этим промышляют звукорежиссеры, но, конечно, гораздо дешевле делать все это самому).
Это не сложные навыки (кое-где этому учат всего за год-полтора), но они сильно облегчат процесс создания композиций и их качество.
Fruity loops, cubase, abletone. Об этих программах знает большинство музыкантов. Можно обучаться по интернет урокам, самая интуитивно понятная программа для новичков - fl studio. Скачивайте софт и удачи в начинаниях ;=)