Henrik Nilsson
The arpeggigon: declarative programming of a full-fledged musical application
Nilsson, Henrik; Chupin, Guerric
Authors
Guerric Chupin
Abstract
There are many systems and languages for music that essentially are declarative, often following the synchronous dataflow paradigm. As these tools, however, are mainly aimed at artists, their application focus tends to be narrow and their usefulness as general purpose tools for developing musical applications limited, at least if one desires to stay declarative. This paper demonstrates that Functional Reactive Programming (FRP) in combination with Reactive Values and Relations (RVR) is one way of addressing this gap. The former, in the synchronous dataflow tradition, aligns with the temporal and declarative nature of music, while the latter allows declarative interfacing with external components as needed for full-fledged musical applications. The paper is a case study around the development of an interactive cellular automaton for composing groove-based music. It illustrates the interplay between FRP and RVR as well as programming techniques and examples generally useful for musical, and other time-aware, interactive applications.
Citation
Nilsson, H., & Chupin, G. The arpeggigon: declarative programming of a full-fledged musical application. University of Nottingham
Book Type | Monograph |
---|---|
Deposit Date | Nov 11, 2016 |
Keywords | functional reactive programming, reactive values and relations, synchronous dataflow, hybrid systems, music |
Public URL | https://nottingham-repository.worktribe.com/output/829281 |
Related Public URLs | http://www.cs.nott.ac.uk/~nhn https://gitlab.com/chupin/arpeggigon |
Additional Information | A short version of this technical report has been accepted to PADL 2017 as an application paper. |
Files
padl2017-techreport.pdf
(379 Kb)
PDF
Downloadable Citations
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2024
Advanced Search