пишеш приложение аудиозахвата. полученные кусочки прогоняешь через преобразование фурье (если я ничего не напутал) получаешь частоты (ноты, их то ты знаешь раз играешь на гитаре), выделяешь доминирующию ноту^W пардон частоту и красишь экран в нужный цвет. ну или соответсвенно делаешь смешение цветов в соответстви с уровнем частот.
где затык? в С++? берешь книжку и делаешь.