Retrofitting a virtual instrument DSL with programming abstractions
Loading...
Date issued
Authors
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Reuse License
Description of rights: CC-BY-4.0
Abstract
KSP is an imperative DSL in music production that enables realistic modelling of musical instruments in real-time using Kontakt as a runtime environment. Once a niche topic for hobbyists, the field has since professionalized, with Kontakt becoming an industry standard. Its scripting language, however, has not evolved much, lacking modern functional and data abstractions while remaining closed-source. This paper proposes transformations that introduce modularity and basic abstraction principles to KSP. This entails functions with parameters and return values, recursive data types, and the implementation of lexical scope to replace the current global variable management. The transformations have been implemented in a preprocessing compiler framework--preceding the actual KSP interpreter--to an extend, that allows for the new syntax elements to be used in real-world KSP scripts.
Description
Keywords
Citation
Published in
GPCE '25 : proceedings of the 24th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, Shaikhha, Amir, Erdweg, Sebastian, ACM, New York, NY, 2025, https://doi.org/10.1145/3742876.3742878
