Computer-Aided Algorithmic Composition