MIVI was a software project, at the University of York, to produce
dynamically-generated 3D musical instruments that respond to a musical
input in real-time.
That is; a software application
that takes a MIDI input (either live or sequenced) and uses it to
generate real-time visually accurate 3D simulations of real-world
musical instruments in OpenGL. These models, based on the input,
react as though a virtual performer (not rendered) were playing
the instrument and aim to be as flexible, or inflexible, as the
instruments themselves, given the MIDI framework.
Throughout the project, we focused on MIVI’s possible
applications to the field of music education, including instrument
tuition and the teaching of music literacy. However, the implementation
process also brought us close to many of the core components of
the MIDI protocol itself, enabling us to implicitly identify the
virtues, as well as explicitly isolate the shortcomings, of this
These pages constitute the online version of the project's report,
submitted as the final year project for the Degree of Computer Science
at the Department of Computer Science, University of York. The original
Microsoft Word document (in .zip format) is also available here.
Further downloads, such as source code and the MIVI program, can
be found in Appendix C.