This page includes PDF downloads of various peer-reviewed open access articles related to Kronos.
Please note that much of what is documented here is of theoretical interest. Some papers discuss experimental features that are not yet present in the release version, and some, especially older papers may have obsolete or deprecated syntax. However, the present-day Kronos technology is based on the ideas presented here.
Veneer: Visual and Touch-based Programming for Sound
New Interfaces for Musical Expression 2019, Porto Alegre, Brazil
This paper presents Veneer, a visual, touch-ready programming interface for the Kronos programming language. The challenges of representing high-level data flow abstractions, including higher order functions, are described. The tension between abstraction and spontaneity in programming is addressed, and gradual abstraction in live programming is proposed as a potential solution. Several novel user interactions for patching on a touch device are shown. In addition, the paper describes some of the current issues of web audio music applications and offers strategies for integrating a web-based presentation layer with a low-latency native processing backend.
Kronos : Reimagining Musical Signal Processing
Doctoral Thesis, 2016
Musical signal processing is an avenue of creative expression as well as a realm for commercial innovation. Composers require unheard digital instruments for creative purposes, sound engineers apply novel algorithms to further the recording arts, musicologists leverage exotic mathematics for sophisticated music information retrieval, while designers and engineers contribute exciting products to the vibrant scene of amateurs and autodidacts. Signal processor design is luthiery in the digital age. Design of signal processors by musicians is a topic that has attracted a lot of research since the seminal MUSIC III in the 1960s. The activity in this field suggests that the related questions are not satisfactorily resolved. This study presents Kronos, a programming language based on the paradigms of metaprogramming and reactive multirate systems, aimed for expressive, streamlined description of digital musical instruments and sonic transformations.
Kronos: a Declarative Metaprogramming Language for Digital Signal Processing
Computer Music Journal 39(4)
Kronos is a signal-processing programming language based on the principles of semifunctional reactive systems. It is aimed at efficient signal processing at the elementary level, and built to scale towards higher-level tasks by utilizing the powerful programming paradigms of "metaprogramming" and reactive multirate systems. The Kronos language features expressive source code as well as a streamlined, efficient runtime. The programming model presented is adaptable for both sample-stream and event processing, offering a cleanly functional programming paradigm for a wide range of musical signal-processing problems, exemplified herein by a selection and discussion of code examples.
Kronos Meta-Sequencer: from UGens to Orchestra, Score and Beyond
Sound and Music Computing 2016, Limassol, Cyprus
This article discusses the Meta-Sequencer, a circular combination of an interpreter, scheduler and a JIT compiler for musical programming. Kronos is a signal processing language focused on high computational performance, and the addition of the Meta-Sequencer extends its reach upwards from unit generators to orchestras and score-level programming. This enables novel aspects of temporal recursion – a tight coupling of high level score abstractions with the signal processors that constitute the fundamental building blocks of musical programs.
Kronos VST: the Programmable Effect Plugin
DAFx Digital Audio Effects 2013, Maynooth, Ireland
This paper introduces KronosVST, an audio effect plugin conforming to the VST 3 standard that can be programmed on the ﬂy by the user, allowing entire signal processors to be deﬁned in real time. A brief survey of existing programmable plugins or development aids for audio effect plugins is given. Kronos VST includes a functional just in time compiler that produces high performance native machine code from high level source code. The features of the Kronos programming language are brieﬂy covered, followed by the special considerations of integrating user programs into the VST infrastructure. Finally, introductory example programs are provided.
A Type-Based Approach to Generative Parameter Mapping
International Computer Music Conference 2013, Perth, Australia
This paperpresentsatype-basedstrategyforautomating parameter mapping. It approaches the problem of integrating a disparate set of control signals into a musical application while minimizing the amount of boilerplate code the user has to write in order to connect control signals to unit generators. The method is based on polymorphic mapper components and signal metadata that allows typed connections. Concepts for a semantically meaningful parameter mapping system for musical applications are explored and implemented in the Kronos programming language.
Kronos as a Visual Development Tool for Mobile Applications
International Computer Music Conference 2012, Ljubljana, Slovenia
Kronos is a programming language and a compiler suite, recently enhanced with a visual front end. It is designed to facilitate programming of digital signal processors for music. Kronos patches can be compiled either for real time playback or into an intermediate language such as C++, for integration in several third party frameworks. This paper introduces the visual patcher for Kronos alongwithproductivity-boostingaspectsoffunctionalprogramming and metaprogramming that are unique in the visual domain. Higher order functions, closures and captured variables are examined pertaining to visually programmed signal processors. As a case study, a resonator bank synthesizer is built in the Patcher and subsequently exported as a component for iOS SDK.
Visualization of Signals and Algorithms in Kronos
DAFx Digital Audio Effects 2012, York, United Kingdom
Kronos is avisual-oriented programming language and a compiler aimed at musical signal processing tasks. Its distinctive feature is the support for functional programming idioms like closures and higher order functions in the context of high performance real time DSP. This paper examines the visual aspect of the system. The programming user interface is discussed, along with a scheme for building custom data visualization algorithms inside the system.
Designing Synthetic Reverberators in Kronos
International Computer Music Conference 2011, Huddersfield, United Kingdom
Kronos is a special purpose programming language intended for musical signal processing tasks. The central aim is to provide an approachable development environment that produces industrial grade signal processors. The system is demonstrated here in the context of designing and building synthetic reverberation algorithms. The classic Schroeder-Moorer algorithm is presented, as well as a feedback delay network, built with the abstraction tools afforded by the language. The resulting signal processors are evaluated both subjectively and in raw performance terms.
Introducing Kronos: a Novel Approach to Signal Processing
Linux Audio Conference 2011, Maynooth, Ireland
This paper presents an overview of Kronos, a software package aimed at the development of musical signal processing solutions. The package consists of a programming language speciﬁcation as well JIT Compiler aimed at generating high performance executable code. The Kronos programming language aims to be a functional high level language. Combining this with run time performance requires some unusual tradeoﬀs, creating a novel set of language features and capabilities. Case studies of several typical musical signal processors are presented and the suitability of the language for these applications is evaluated.
Beauty is Truth, Truth Beauty
This essay discusses some aspects of philosophy and aesthetics applied to computer science. In particular, what makes programs ugly or beautiful, and how that relates to the philosophical traditions of aesthetics.