Responsive image

MAIA Util: An NPM Package for Bridging Web Audio with Music-theoretic Concepts

Tom Collins, Christian Coulon
The Web Audio API and associated JavaScript packages have enabled developers to design interfaces where, to an unprecedented extent, the elements of music are at users' fingertips. When these interfaces are intended to help users to understand those musical elements, it can be useful to calculate or display manifestations of music-theoretic concepts, such as the key of an excerpt, the segmentation and labeling of chords, and melodic and harmonic intervals.The MAIA Util package contains JavaScript code for executing these calculations. The input music representations are assumed to be symbolic, coming from MIDI or MusicXML files, or having been estimated from audio. This paper introduces the contents of the package and the music-cognitive research on which some of the constituent algorithms are based.Some of the methods are of a more basic nature, such as for cyclic permutation of numeric arrays or estimation of the pitch and octave of a note given its MIDI number and surrounding context. We have found use for these methods often enough during music interface development that they are included too.The MAIA Util package is available for use from https://www.npmjs.com/package/maia-util
            
@inproceedings{2019_29,
  abstract = {The Web Audio API and associated JavaScript packages have enabled developers to design interfaces where, to an unprecedented extent, the elements of music are at users' fingertips. When these interfaces are intended to help users to understand those musical elements, it can be useful to calculate or display manifestations of music-theoretic concepts, such as the key of an excerpt, the segmentation and labeling of chords, and melodic and harmonic intervals.The MAIA Util package contains JavaScript code for executing these calculations. The input music representations are assumed to be symbolic, coming from MIDI or MusicXML files, or having been estimated from audio. This paper introduces the contents of the package and the music-cognitive research on which some of the constituent algorithms are based.Some of the methods are of a more basic nature, such as for cyclic permutation of numeric arrays or estimation of the pitch and octave of a note given its MIDI number and surrounding context. We have found use for these methods often enough during music interface development that they are included too.The MAIA Util package is available for use from https://www.npmjs.com/package/maia-util},
  address = {Trondheim, Norway},
  author = {Collins, Tom and Coulon, Christian},
  booktitle = {Proceedings of the International Web Audio Conference},
  editor = {Xambó, Anna and Martín, Sara R. and Roma, Gerard},
  month = {December},
  pages = {47--52},
  publisher = {NTNU},
  series = {WAC '19},
  title = {MAIA Util: An NPM Package for Bridging Web Audio with Music-theoretic Concepts},
  year = {2019},
  ISSN = {2663-5844}
}