nashNET | MIVI



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 industry-standard specification.

   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.


chapter 1 introduction

chapter 2 review

chapter 3 system architecture

chapter 4 instrument models

chapter 5 interactive subsystem

chapter 6 evaluation

chapter 7 conclusion

appendix A General MIDI voice list

appendix B introduction to OpenGL

appendix C implementation source code


All content, including code and media, (c) Copyright 2002 Chris Nash.