MIDI Programming in Scheme: Supported by an Emacs environment

Kurt Nørmark

Research output: Contribution to book/anthology/report/conference proceedingArticle in proceedingResearchpeer-review

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 non-trivial 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.
Translated title of the contributionMIDI Programmering i Scheme: Understøttet af en Emacs omgivelse
Original languageEnglish
Title of host publicationELW '10 Proceedings of the 7th European Lisp Workshop
Number of pages12
PublisherAssociation for Computing Machinery
Publication date22 Jun 2010
ISBN (Electronic)978-1-4503-0534-1
DOIs
Publication statusPublished - 22 Jun 2010
EventEuropean Lisp Workshop - Maribor, Slovenia
Duration: 22 Jun 201022 Jun 2010

Workshop

WorkshopEuropean Lisp Workshop
Country/TerritorySlovenia
CityMaribor
Period22/06/201022/06/2010

Keywords

  • Applicative (Functional) Programming in Lisp and Scheme, Sound and Music Computing, Markup Languages.

Fingerprint

Dive into the research topics of 'MIDI Programming in Scheme: Supported by an Emacs environment'. Together they form a unique fingerprint.

Cite this