Download Implementing a Low Latency Parallel Graphic Equalizer with Heterogeneous Computing This paper describes the implementation of a recently introduced parallel graphic equalizer (PGE) in a heterogeneous way. The control and audio signal processing parts of the PGE are distributed to a PC and to a signal processor, of WaveCore architecture, respectively. This arrangement is particularly suited to the algorithm in question, benefiting from the low-latency characteristics of the audio signal processor as well as general purpose computing power for the more demanding filter coefficient computation. The design is achieved cleanly in a high-level language called Kronos, which we have adapted for the purposes of heterogeneous code generation from a uniform program source.
Download Recent developments in PWSYNTH PWSynth was originally a visual synthesis language situated in PatchWork. Recently our research team has started a complete rewrite of the system so that it can be adapted to our new programming environment called PWGL. In this paper we present the main differences of the old and new systems. These include switching from C to C++, efficiency issues, interface between PWGL and the synthesis engine, and a novel copy-synth-patch scheme.
Download Compositional Sketches in PWGLSynth PWGLSynth has already a long history in controlling physicsbased instruments. The control system has been score-based, i.e. the user prepares a score in advance, and by interactive listening process the result can be be refined either by adjusting score information, performance rules and/or the visual instrument definition. This scheme allows detailed control on how the instrument model reacts to control information generated from the score. This paper presents a complementary approach to sound synthesis where the idea is to generate algorithmically typically relatively short musical textures. The user can improvise with various compositional ideas, adjust parameters, and listen to the results in real-time either individually or interleaved. This is achieved by utilizing a special code-box scheme that allows any textual Lisp expression to be interfaced to the visual part of the PWGL system.
Download Audio analysis in PWGLSynth In this paper, we present an incremental improvement of a known fundamental frequency estimation algorithm for monophonic signals. This is viewed as a case study of using our signal graph based synthesis language, PWGLSynth, for audio analysis. The roles of audio and control signals are discussed in both analysis and synthesis contexts. The suitability of the PWGLSynth system for this field of applications is examined and some problems and future work is identified.
Download Visualization of Signals and Algorithms in Kronos Kronos is a visual-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.
Download A Method of Generic Programming for High Performance DSP This paper presents some key concepts for a new just in time programming language designed for high performance DSP. The language is primarily intended to implement an updated version of PWGLSynth, the synthesis extension to the visual musical programming environment PWGL. However, the system is suitable for use as a backend for any DSP platform. A flow control mechanism based on generic programming, polymorphism and functional programming practices is presented, which we believe is much better suited for visual programming than traditional loop constructs found in textual languages.
Download KRONOS ‐ A Vectorizing Compiler for Music DSP This paper introduces Kronos, a vectorizing Just in Time compiler designed for musical programming systems. Its purpose is to translate abstract mathematical expressions into high performance computer code. Musical programming system design criteria are considered and a three-tier model of abstraction is presented. The low level expression Metalanguage used in Kronos is described, along with the design choices that facilitate powerful, yet transparent vectorization of the machine code.