Computer Music Instruments: Foundations, Design and Development