License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/OASIcs.SLATE.2020.6
URN: urn:nbn:de:0030-drops-130194
Go to the corresponding OASIcs Volume Portal

da Silva, Pedro Miguel Oliveira ; Almeida, José João

Musikla: Language for Generating Musical Events

OASIcs-SLATE-2020-6.pdf (0.6 MB)


In this paper, we'll discuss a simple approach to integrating musical events, such as notes or chords, into a programming language. This means treating music sequences as a first class citizen. It will be possible to save those sequences into variables or play them right away, pass them into functions or apply operators on them (like transposing or repeating the sequence). Furthermore, instead of just allowing static sequences to be generated, we'll integrate a music keyboard system that easily allows the user to bind keys (or other kinds of events) to expressions. Finally, it is important to provide the user with multiple and extensible ways of outputing their music, such as synthesizing it into a file or directly into the speakers, or writing a MIDI or music sheet file. We'll structure this paper first with an analysis of the problem and its particular requirements. Then we will discuss the solution we developed to meet those requirements. Finally we'll analyze the result and discuss possible alternative routes we could've taken.

BibTeX - Entry

  author =	{Pedro Miguel Oliveira da Silva and Jos{\'e} Jo{\~a}o Almeida},
  title =	{{Musikla: Language for Generating Musical Events}},
  booktitle =	{9th Symposium on Languages, Applications and Technologies (SLATE 2020)},
  pages =	{6:1--6:16},
  series =	{OpenAccess Series in Informatics (OASIcs)},
  ISBN =	{978-3-95977-165-8},
  ISSN =	{2190-6807},
  year =	{2020},
  volume =	{83},
  editor =	{Alberto Sim{\~o}es and Pedro Rangel Henriques and Ricardo Queir{\'o}s},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{},
  URN =		{urn:nbn:de:0030-drops-130194},
  doi =		{10.4230/OASIcs.SLATE.2020.6},
  annote =	{Keywords: Domain Specific Language, Music Notation, Interpreter, Programming Language}

Keywords: Domain Specific Language, Music Notation, Interpreter, Programming Language
Collection: 9th Symposium on Languages, Applications and Technologies (SLATE 2020)
Issue Date: 2020
Date of publication: 16.09.2020

DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI