MIDI programming in scheme: supported by an Emacs environment

  • Authors:
  • Kurt Nørmark

  • Affiliations:
  • Aalborg University, Denmark

  • Venue:
  • Proceedings of the 7th European Lisp Workshop
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

A Scheme representation of Standard MIDI Files is proposed. The Scheme expressions are defined and constrained by an XML-language, which in the starting point is inspired by a MIDI XML event language made by the MIDI Manufactures Association. The representation of Standard MIDI Files in Scheme makes it possible to carry out systematic modifications and transformations of MIDI contents with use of pure functional programming. Side by side with the XML-inspired MIDI language, the paper describes an Emacs-based, textual programming environment that supports the MIDI programming process. The programming environment also supports a variety of interactive features - similar to MIDI sequencers - but restricted to a textual representation of the music. The main contributions of the work are considered to be (1) An accumulated MIDI function library, which can transform MIDI files in many nontrivial ways; (2) A proposed working process alternating between creative mode and programmatic editing mode within a MIDI programming environment; and (3) A textual MIDI programming environment with embedded support of many interactive, MIDI-related functionalities.