Я сам таким не занимался, но вот создавал музыку. Вообще можно взять за параметр громкость вывода звука через OS, ну и вообще можно было бы песню поделить на частоты которые выводятся, на основе их генерить волну. Ну еще я знаю что можно песню поделить на каналы и тем самым в каждом канале будет частота вывода, от туда тоже в принципе можно сделать