Retrofitting a virtual instrument DSL with programming abstractions

Loading...
Thumbnail Image

Date issued

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Reuse License

Description of rights: CC-BY-4.0
Item type: Item , BuchbeitragAccess status: Open Access ,

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

Relationships

Collections

Endorsement

Review

Supplemented By

Referenced By