Article

An Overview of PWGL, a Visual Programming Environment for Music

If you want to read the PDF, try requesting it from the authors.

Abstract

The PatchWork Graphical Language (PWGL) is a visual programming that is a free Lisp-based cross-platform which can be used for computer-aided composition, music analysis, and sound synthesis. PWGL is a programmed ANSI Common Lisp that is compatible to source-code across several different operating systems that includes Macintosh OS X, Microsoft Windows, and Linux. PWGL has the ability to integrate several programming paradigms which include functional, object-oriented, and constrained-based one with high-level visual representation of data while also having the capability of solving a wide range of musical problems. A comparison between PWGL and two other Lisp-based composition environments has been made while the text-based and visual programming in general have also been compared to determine how PWGL is positioned within these categories. The main visual components of the system is then presented while the primary principles which allow users to manipulate a visual patch while the programming interface allows the extension of the system with user libraries, boxes, and menus. Finally, a short survey of the PWGL Tutorial concept has been given that can be used for demonstrations, pedagogical purposes and even for private study.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... We can uniquely identify each leaf in a tree with a list of the indices of the branches taken to reach it. In the tree below, the leaf containing z is indexed by the integer list [3,0]. We call this representation of a leaf's location a path. ...
... This is modeled by specifying the rhythm for the entire slice, and then creating a branch between the two groups of measures. The measures in the left hand are identical except for the first note, which is modeled by a partition between measure 0 and measures [1,3]. This outline of Phrase A exemplifies our organizational philosophy for the Waltz. ...
... Abjad [7], a music notation format implemented in Python, achieves this by directly mapping its internal music representation to an output score. OpenMusic [1] and PWGL [3] provide more programmatic visualizations of music; both frameworks use a display of interconnected boxes to illustrate the musical outputs of functions and chart the flow of data through them. Our language would benefit from either a score-based or code-based visualization. ...
Conference Paper
Tonal music contains repeating or varying patterns that occur at various scales, exist at multiple locations, and embody diverse properties of musical notes. We define a language for representing music that expresses such patterns as musical transformations applied to multiple locations in a score. To concisely represent collections of patterns with shared structure, we organize them into prefix trees. We demonstrate the effectiveness of this approach by using it to recreate a complete piece of tonal music.
... In parallel, composers have increasingly made use of computer sketching tools not only to produce work with an electronic component, but also work that will take an instrumental form. This includes programs designed specifically for the purpose of computer-assisted composition (CAC) like OPENMUSIC [2], PWGL [3], or the BACH package for MAX [4,5]. It also includes programs designed primarily for other uses, like Digital Audio Workstations (DAWs), repurposed by composers to collage and model instrumental samples with an acoustic score-based goal. ...
... CATART is released as free open source software. 3 There is also a standalone application version of CATART available, 4 and a new version based on the MUBU library 5 for MAX [10]. ...
... The basic idea behind BACH is that symbolic score generation and modification is not necessarily an out-of-time activity: it can follow the composer's discovery process in real-time and adapt accordingly. BACH's hierarchic representation of data is directly inspired by the most common Lisp-based CAC environments such as OPENMUSIC [2] or PWGL [3]. BACH's nested lists, where hierarchies are defined via levels of parentheses, are indeed called lllls, an acronym for Lisplike linked lists; see Figure 1 for an example. ...
... Systems based on the algorithmic manipulation of musical structures (e.g. OpenMusic (Assayag, Rueda, Laurson, Agon, & Delerue, 1999) or PWGL (Laurson, Kuuskankare, & Norilo, 2009)). The historical distinction between these approaches is slowly disappearing today. ...
... Musical constraint solvers are today implemented in various computer music environments. OM-Clouds (Truchet, Assayag, & Codognet, 2003 ) and PWGL- Constraints (Laurson et al., 2009) are such examples. Orchideé uses global constraints on the music symbolic variables (e.g. ...
Article
Full-text available
In this paper we first introduce a set of functions to predict the timbre features of an instrument sound combination, given the features of the individual components in the mixture. We then compare, for different classes of sound combinations, the estimated values of the timbre features to real measurements and show the accuracy of our predictors. In the second part of the paper, we present original musical applications of feature prediction in the field of computer-aided orches-tration. These examples all come from real-life composi-tional situations, and were all produced with Orchideé, an innovative framework for computer-aided orchestra-tion recently designed and developed at IRCAM, Paris.
... Pure Data shares the pedigree of Max. [24] PWGL [14] is a visual programming surface built on top of Common Lisp, integrating a visual score editor. [12] Myers suggests that the spatial capabilities of the human brain are suited for visual programming. ...
... One possibility for a front-end integration is PWGL, a Lisp-based visual programming environment sharing the pedigree with Kronos. [14] ...
Conference Paper
Full-text available
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.
... Based on Fred Brooks An experiment in musical composition [5] To implement the model and run simulations the use of a Computer-Assisted Composition environment (CAC) is of great help. Those include OpenMusic [4], PWGL [15], and Common Music / Grace [28,29,30] environments. Those offer a large set of ready-to-use functions performing these categories of tasks and where new routines can be constructed from them. ...
... In the midicent system, one semitone is equal to 100 and one octave is equal to 1200 midicents (see Figure 4). It is used in CAC environments such as OpenMusic [4] and PGWL [15]. In some cases, as in the model of James Tenney's piece [21] and most of spectral music, the representation in hertz is needed for some calculations. ...
Article
Full-text available
Based on previous experiments the article presents the most basic principles of a computational approach for musical analysis that through deterministic algorithms aims to reconstruct and then simulate neighboring variants (called instances) of existing musical scores. For that, adequate numerical representations are required, and their use in Computer-Aided Composition (CAC) systems are presented. Numerical sequences mapping to musical elements such as pitches, durations, and articulations may be computed or hardcoded for subsequent transformation, concatenation, and superimposition. They allow the reconstruction of the segments of a given musical score. The rhythmic pattern of Clapping Music can be modeled as a group of beats being progressively deprived of one beat, each group being separated by a rest, and the sequence concatenated with its retrograde. The sequence is subsequently transformed by the successive application of "phase shifts". A graphical interpretation of the piece is introduced using barcodes. Variations are envisaged by manipulating parameter values, each different value corresponding to a specific instance. Usually, parameters reflect compositional choices, but completely arbitrary models are possible. Such is the case of an alternative model of Clapping Music where a number is converted to binary representation and then mapped to rests and beats of eighth-notes. The manipulation of strong parameters modifies structural features of the musical score while weak parameters may only change the way the score is notated. The set of possible simulations gives rise to a space of instances. It can be analyzed through diachronic analysis, where a small group of variations is compared to the original piece, or achronic analysis, where variations are seen as single points in the space.
... The syntax of functional languages is ideally suited for visualization; this match is demon- strated by another source of inspiration, Faust [6]. Even- tually, Kronos aims to combine the ease of use and ap- proachability of graphical environments like Pure Data [7] and PWGL [3] with the abstraction and rigour typical of functional programming languages. ...
... Kronos is still in development into a versatile tool, to allow real time processing as well as export to languages such as C. Graphical user interface is forthcoming. Kro- nos is also going to be used as the next-generation synthe- sizer for the PWGL [3] environment. Interested parties are invited to contact the author should they be interested in implementing their signal processing algorithms in Kro- nos. ...
Conference Paper
Full-text available
Kronos is a special purpose programming language in-tended for musical signal processing tasks. The central aim is to provide an approachable development environ-ment that produces industrial grade signal processors. The system is demonstrated here in the context of de-signing and building synthetic reverberation algorithms. The classic Schroeder-Moorer algorithm is presented, as well as a feedback delay network, built with the abstrac-tion tools afforded by the language. The resulting signal processors are evaluated both subjectively and in raw per-formance terms.
... The SUM tool [1] is a user library with a graphical user interface within the computer-aided composition environment of PWGL [2]. Initially designed for the sonification of images, through a user-defined mapping process, it also allows a graphical approach to computer-aided composition. ...
Article
This paper will explore the potential for the SUM tool, intended initially for the sonification of images, as a tool for graphical computer-aided composition. As a user li-brary with a graphical user interface within the computer-aided composition environment of PWGL, SUM has the potential to be used as a graphical approach towards com-puter-aided composition. Through the re-composition of the graphic score of Ligeti's Artikulation, we demonstrate how SUM can be used in the generation of a graphic score. Supporting spatio-temporal timepaths, we explore alterna-tive ways of reading this score. Furthermore, we investi-gate the claim of certain visual artworks to be 'visual mu-sic', by sonifying them as graphic scores in SUM.
... To whatever degree possible, ManuScore was designed to help composers explore musical ideas as gestalts, and to represent them accordingly in their compositional task environment. This approach connects ManuScore to programs like PatchWork (or PWGL [139]) and OpenMusic [10], which also help composers interact directly with musical concepts, though its focus on notational elements (i.e., leaving aside numerical operations) in the user interface clearly sets ManuScore apart. ...
Thesis
Full-text available
Music composition is a complex, multi-modal human activity, engaging faculties of perception, memory, motor control, and cognition, and drawing on skills in abstract reasoning, problem solving, creativity, and aesthetic evaluation. For centuries musicians, theorists, mathematicians—and more recently computer scientists—have attempted to systematize composition, proposing various formal methods for combining sounds (or symbols repre- senting sounds) into structures that might be considered musical. Many of these systems are grounded in the statistical modelling of existing music, or in the mathematical formal- ization of the underlying rules of music theory. This thesis presents a different approach, looking at music as a holistic phenomenon, arising from the integration of perceptual and cognitive capacities. The central contribution of this research is an integrated cognitive architecture (ICA) for symbolic music learning and generation called MusiCog. Inspired by previous ICAs, MusiCog features a modular design, implementing functions for perception, working memory, long-term memory, and production/composition. MusiCog’s perception and memory modules draw on established experimental research in the field of music psychology, integrating both existing and novel approaches to modelling perceptual phe- nomena like auditory stream segregation (polyphonic voice-separation) and melodic seg- mentation, as well as higher-level cognitive phenomena like “chunking” and hierarchical sequence learning. Through the integrated approach, MusiCog constructs a representa- tion of music informed specifically by its perceptual and cognitive limitations. Thus, in a manner similar to human listeners, its knowledge of different musical works or styles is not equal or uniform, but is rather informed by the specific musical structure of the works themselves. MusiCog’s production/composition module does not attempt to model explicit knowl- edge of music theory or composition. Rather, it proposes a “musically naïve” approach to composition, bound by the perceptual phenomena that inform its representation of musical structure, and the cognitive constraints that inform its capacity to articulate its knowledge through novel compositional output. This dissertation outlines the background research and ideas that inform MusiCog’s design, presents the model in technical detail, and demonstrates through quantitative testing and practical music theoretical analysis the model’s capacity for melodic style imitation when trained on musical corpora in a range of musical styles from the West- ern tradition. Strengths and limitations—both of the conceptual approach and the spe- cific implementation—are discussed in the context of autonomous melodic generation and computer-assisted composition (CAC), and avenues for future research are presented. The integrated approach is shown to offer a viable path forward for the design and implementa- tion of intelligent musical agents and interactive CAC systems.
... The model has been implemented in two systems that are both based on constraint programming, but are otherwise very different. On the one hand, it is implemented as part of Cluster Rules, 1 a collection of predefined rules for the music constraint system Cluster Engine (a successor of PWMC [8]), which in turn is an extension library for the visual programming environment PWGL [9]. On the other hand, the music constraint system Strasheela 2 [10] implements this model. ...
Conference Paper
Full-text available
This paper presents a computational model of durational accents, where users control the metric (or more generally temporal) position of accents in the generated music. Several examples demonstrate the flexibility of the model in different rhythmic situations, including regular metric accents, accents shifted with respect to the meter, and irregular cyclic accent patterns. The examples also demonstrate the effect of different definitions of durational accents. The model is based on constraint programming, and it can be complemented by arbitrary other constraints on the rhythm (e.g., syncopations). It has been implemented in two different systems: the PWGL library Cluster Engine, and Strasheela.
... In addition to Max, Pure Data is a primary example. Other examples include OpenMusic (Assayag et al. 1999) and PWGL, which pioneered musical scores integrated into dataflow patches Laurson, Kuuskankare, and Norilo 2009). ...
Article
Full-text available
This article presents a method for programming musical signal-processing circuits visually, using expressive idioms and abstractions from functional programming. Special attention is paid to the creative workflow, framing the education in a constructionist context. Our aim is to empower musicians in signal processing: The claim was tested in a university workshop for relatively inexperienced programmers. The participants were able to study and implement signal-processing algorithms from literature and integrate them into their preexisting workflow, and appeared to gain self-confidence while doing so.
... The tools presented in Sections 4-6 (i.e. the constraint solver, the music notation based control system, and the sound synthesis engine) are all inside our visual programming environment PWGL [6]. ...
Conference Paper
Full-text available
This paper presents our research efforts to synthesize complex in-strumental gestures using a score-based control scheme. Our spe-cific goal is to simulate the rasgueado technique that is popular es-pecially in flamenco music. This technique is also used in the clas-sical guitar repertoire. Rasgueado is especially challenging as or-dinary music notation is not adequate to represent the dense stream of notes required for a convincing simulation. We will take two approaches to realize our task. First, we use the practical knowl-edge of how the actual performance is accomplished by the human player. A second, complementary, approach is to analyze an ex-cerpt from real guitar playing. Our main focus here is to extract the onset times and the amplitudes of the recoded gesture. Next we combine the results from the two analysis steps using a constraint-based approach to find possible pitch and fingering sequences. Fi-nally we translate the findings to our macro-note scheme that al-lows us to fill algorithmically a musical score.
... Since commonly used digital representation formats such as MIDI and MusicXML are limited towards notating instrument performances, new notation methods and transmission protocols were proposed such as the Expressive Notation Package (ENP) [12], the PatchWork Graphical Language (PWGL) [18], the Music Parameter Description Language (MPDL) [19], or the Guitar Control Language [20]. ...
... Similar limitations and distinctions are present in PWGL [4], the origin of this research. The main system consists of a Lisp- based patching environment, but for audio processing, a separate, less capable domain language called PWGLSynth was implemented for performance reasons. ...
Conference Paper
Full-text available
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.
... Pure Data [7] offers a visual front end but is simplistic as a programming language. PWGL [3] features a proper language and visual interface, but the signal processing component is limited. ...
Conference Paper
Full-text available
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 along with productivity-boosting aspects of functional pro-gramming and metaprogramming that are unique in the visual domain. Higher order functions, closures and cap-tured variables are examined pertaining to visually pro-grammed signal processors. As a case study, a resonator bank synthesizer is built in the Patcher and subsequently exported as a component for iOS SDK.
... PWConstraints [Laurson 1996; Rueda et al. 1998] was originally developed as a library on top of PatchWork [Laurson 1996; Assayag et al. 1999] , a visual programming language for computer-aided composition implemented in Common Lisp. PatchWork meanwhile developed into PWGL [Laurson et al. 2009] and the library is now called PWGLConstraints. Nevertheless, this paper uses the old name PW- Constraints to refer to both versions of the system because from the user's point of view these systems are very similar. ...
Article
Full-text available
Draft available for download. Constraint programming is well suited for the computational modeling of music theories and composition: its declarative and modular approach shares similarities with the way music theory is traditionally expressed, namely by a set of rules which describe the intended result. Various music theory disciplines have been modeled, including counterpoint, harmony, rhythm, form, and instrumentation. Because modeling music theories “from scratch” is a complex task, generic music constraint programming systems have been proposed that predefine the required building blocks for modeling a range of music theories. After introducing the field and its problems in general, this survey compares these generic systems according to a number of criteria such as the range of music theories these systems support.
... PWGL [10] is a visual music programming language written in Common Lisp, CLOS (Common Lisp Object System) and OpenGL. Its primary focus is on computerassisted composition in an integrated environment with music notation, software synthesis and music theory and analysis tools. ...
Conference Paper
Full-text available
... Computer-assisted composition (CAC) systems ( [1], [2], [3]) have not focused on advanced playback facilities. Users can typically audition scores and other musical raw-material through basic MIDI playback routines that support simple note-on, note-off, pitch and velocity data. ...
Article
This paper presents a novel system that allows the user to customize playback facilities in our computer-assisted envi- ronment, PWGL. The scheme is based on a class hierarchy. The behavior of an abstract root playback class containing a set of methods can be customized through inheritance. This procedure is demonstrated by a subclass that is capable of playing MIDI data. This playback device allows to realize automatically multi-instrument and micro-tonal scores by using pitchbend setups and channel mappings. Also contin- uous control information can be given in a score by adding dynamics markings and/or special Score-BPF expressions containing break-point functions. We give several complete code examples that demonstrate how the user could further change the playback behavior. We start with a simple play- back device that allows to override channel information. Next we discuss how to implement the popular keyswitch mechanism in our system. This playback device is capable of mapping high-level score information with commercial orchestral database supporting keyswitch instruments. Our final example shows how to override the default MIDI out- put and delegate the play events to an external synthesizer using OSC.
... Each approach and paradigm employs specific literature and commonly has led to domain-specific software for each practice. Some of the commonly used softwares include OpenMusic (Assayag, Rueda, et al. 1999) or PWGL (Laurson et al. 2009) for CAO; digital waveguides (Smith 1992) or Modalys (Eckel et al. 1995) for physical modeling of sound synthesis; PureData (Miller Puckette 1997) or Max (Cycling74 2012) for realtime event and signal processing; SuperCollider (McCartney 1996) or CSound (Vercoe 1993) for sound synthesis; Faust (Orlarey et al. 2009) for DSP programming;ChucK (G. Wang 2009), SuperCollider, or Impromptu (A. ...
Article
Full-text available
My research and supervision activities since my PhD defense in October 2008 lies at the intersection and union of real-time machine listening and real-time synchronous music computing, two disjoint literatures whose conjunction is more than obvious in interactive computer music practices and whose coupling has rarely been addressed. It aims at fostering research in each respective domain and providing tools to composers and artists to elevate their music-making and performance capabilities with computers to that of their human counterparts. The first aspect of any interactive music system is the act of machine listening or formally speaking, online music information retrieval. I attempted to focus my work on application-driven approaches such as real-time polyphonic pitch detection and real-time alignment techniques on one hand, and theoretical by attempting to address fundamental problems in representational frontends of such systems. Within the first aspect, we proposed two state-of-the-art approaches for the aforementioned application domains renown by their use by the artistic community and their recognition within the MIR community. The second aspect deals with the fundamental problem of quantification and qualification of information content as they arrive incrementally into a system using methods of information geometry. The second and more recent aspect of my work focuses on reactive synchronous programming coupled to machine listening systems or the formalization of reactions in interactive systems to artificial perceptions in real-time. Our approach is motivated by current practices in digital arts for authoring or programming and their real-time evaluation in interaction with a changing environment. The major incarnation of this approach is the Antescofo system and language, running publicly since 2009, which has established itself worldwide within the mixed music repertoire. Authoring of time and interaction and attempting to assure their correct and timely execution in real-time with human performers (through machine perception) pose challenging problems to computer science and system designers that will be the focus of my work in the years to come, under the auspice of Cyber-Physical Music Systems. Coupling of machine listening with computer languages requires augmenting current approaches with formal models of time, leveraging the dominating functional approach with reaction and execution requirements and a possible re-thinking of widely accepted audio processing methods and systems with regards to time.
... In visual CAM environments such as OpenMusic (OM) [7,8] and PWGL [30], both based on Common Lisp (CL), algorithms are visually represented in the form of patches. "Boxes" may represent functions, data-types (lists, integers, floating-point numbers, strings, etc.), methods or classes that are interconnected by "chords" to create more complex computational procedures. ...
Conference Paper
Full-text available
The paper presents a new OpenMusic library that implements a Genetic Programming method of Symbolic Regression on sets of input data-points and seeks for a Common Lisp function (S-expression) that can be used either to create mathematical models that could potentially help to understand the mathematical behavior of the input data or to generate parameters in computer-aided composition. Stressing that a number of issues must still be addressed to improve the proposed library, the paper presents some of the strategies to do this and to make Symbolic Regression a practical tool in computer-assisted music composition and analysis.
... MK uses PWGL Laurson et al. (2009), a visual programming environment, where he has implemented several composition elements, e.g., composition rules and transformations. His goal is to reuse them on a paper interface (Figure 4.8) to create a new musical piece. ...
Article
This thesis focuses on the design of interactive paper interfaces for supporting musical creation. Music composition has been deeply influenced by the computational power brought by computers but despite the use of software to create new sounds or work with symbolic notation, composers still use paper in their creative process. Interactive paper creates new opportunities for combining expression on paper and computation. However, designing for highly individual creative practitioners who use personal musical representations is challenging. In this thesis, I argue that composers need personal and adaptable structures on paper in which they can express and explore musical ideas. I first present three field studies (Chapter 3) with contemporary composers that examined the use of paper and the computer during the composition process and how linking the two media supports exploration of musical ideas. I then describe a participatory design study that investigates the use of formal musical representations (Chapter 4) for creating new paper interfaces that extend computer-aided composition tools. I introduce Paper Substrates (Chapter 5), interactive paper components that provide modular structures for interacting with personal representations of computer-based musical data. I detail tools that we created to develop paper applications with the Paper Substrates approach. Several examples illustrate the creation of personal structures and musical content that can still be interpreted by computer-aided composition software. I then describe a structured observation study with 12 composers who used Polyphony to compose a short electroacoustic piece (Chapter 6). Polyphony is a unified user interface that integrates interactive paper and electronic user interfaces for composing music. The study allowed us to systematically observe and compare their compositional processes. Finally, I report on a research and creation project with the composer Philippe Leroux during the composition of his piece Quid sit musicus (Chapter 7). Several work sessions with the composer and a musical assistant lead to the design of new paper- based interfaces for generating composition material, synthesizing sounds and controlling the spatialization from handwritten gestures from calligraphic gestures over an old manuscript.
... It started in 1956 with the Musicomp 3 language of Lejaren Hiller and Robert Baker (both chemists at that time) at the University of Illinois using an Illiac I [Baker and Hiller 1963; Hiller and Baker 1964]. Main CAC languages include PatchWork [Laurson and Duthen 1989], Common Music [Taube 1991], Haskore [Hudak et al. 1996], Elody [Orlarey et al. 1997], OpenMusic [Assayag et al. 1999] and PWGL [Laurson et al. 2009]. The digital audio synthesis branch is mostly focused on the sound paradigm, using signal processing and physical modeling approaches; the overall goal here is to synthesize files or streams of audio samples, while moving in the mid-1980s to a more " real-time " paradigm better fitted to live performances. ...
Article
Full-text available
The adequacy of a programming language to a given software project or application domain is often considered a key factor of success in software development and engineering, even though little theoretical or practical information is readily available to help make an informed decision. In this article, we address a particular version of this issue by comparing the adequacy of general-purpose synchronous programming languages to more Domain-Specific Languages (DSLs) in the field of computer music. More precisely, we implemented and tested the same lookup table oscillator example program, one of the most classical algorithms for sound synthesis, using a selection of significant synchronous programming languages, half of which designed as specific music languages —Csound, Pure Data, SuperCollider, ChucK, Faust— and the other half being general synchronous formalisms —Signal, Lustre, Esterel, Lucid Synchrone and C with the OpenMP Stream Extension (Matlab/Octave is used for the initial specification). The advantages of these two approaches are discussed, providing insights to language designers and possibly software developers of both communities regarding programming languages design for the audio domain.
... Students model their own music theories and that way shape their music by freely combining rules, and by customising the effect Journal of Pedagogic Development Volume 6, Issue 1 of these rules with rule parameters. The prototype rule collection is called Cluster Rules, which complements the music constraint system Cluster Engine, a successor of PWMC (Sandred, 2010); all these systems are libraries of the visual programming system PWGL (Laurson et al. 2009). 1 ...
Article
Full-text available
This paper presents software suitable for undergraduate students to implement computer programs that compose music. The software offers a low floor (students easily get started) but also a high ceiling (complex compositional theories can be modelled). Our students are particularly interested in tonal music: such aesthetic preferences are supported, without stylistically restricting users of the software. We use a rule‐based approach (constraint programming) to allow for great flexibility. Our software Cluster Rules implements a collection of compositional rules on rhythm, harmony, melody, and counterpoint for the new music constraint system Cluster Engine by Örjan Sandred. The software offers a low floor by observing several guidelines. The programming environment uses visual programming (Cluster Rules and Cluster Engine extend the algorithmic composition system PWGL). Further, music theory definitions follow a template, so students can learn from examples how to create their own definitions. Finally, students are offered a collection of predefined rules, which they can freely combine in their own definitions. Music Technology students, including students without any prior computer programming experience, have successfully used the software. Students used the musical results of their computer programs to create original compositions. The software is also interesting for postgraduate students, composers and researchers. Complex polyphonic constraint problems are supported (high ceiling). Users can freely define their own rules and combine them with predefined rules. Also, Cluster Engine’s efficient search algorithm makes advanced problems solvable in practice.
... Graphical representation of imperative programs, as well as integration to GUI tools, including PWGL and ENP [20] remain compelling. ...
Conference Paper
Full-text available
This article discusses the Meta-Sequencer, a circular combination of an interpreter, scheduler and a 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 re-cursion – a tight coupling of high level score abstractions with the signal processors that constitute the fundamental building blocks of musical programs.
... Graphical representation of imperative programs, as well as integration to GUI tools, including PWGL and ENP [20] remain compelling. ...
Article
Full-text available
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.
... Many music systems have been designed as libraries of the visual composition systems PWGL (Laurson, Kuuskankare, and Norilo 2009), and OpenMusic (Assayag et al. 1999 provides direct access to powerful tools such as score editors, and export functionality to commercial music notation software. It also allows for the combination of constraint programming with other algorithmic composition paradigms. ...
Chapter
Full-text available
This chapter surveys music constraint programming systems, and how composers have used them. The chapter motivates why and explains how users of such systems describe intended musical results with constraints. This approach to algorithmic composition is similar to the way declarative and modular compositional rules have successfully been used in music theory for centuries as a device to describe composition techniques. This systematic overview highlights the respective strengths of different approaches and systems from a composer’s point of view, complementing other more technical surveys of this field. This text describes the music constraint systems PMC, Score-PMC, PWMC (and its successor Cluster Engine), Strasheela, and Orchidée-most are libraries of the composition systems PWGL or OpenMusic. These systems are shown in action by discussions of the composition processes of specific works by Jacopo Baboni Schilingi, Magnus Lindberg, Örjan Sandred, Torsten Anders, Johannes Kretz, and Jonathan Harvey.
... This paper presents the latest developments in our visual synthesis environment PWGLSynth [1] which is situated in PWGL [2]. PWGLSynth has been controlled either by using our score-based scheme, or directly at patch level by using real-time sliders and/or MIDI controllers. ...
Article
Full-text available
PWGLSynth has already a long history in controlling physics-based 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 infor-mation, 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 musi-cal textures. The user can improvise with various compositional ideas, adjust parameters, and listen to the results in real-time ei-ther 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.
... PWGL [109] is another descendant of PatchWork, based on CommonLisp, which features a reworked user interface design. Like OpenMusic, execution in a PWGL environment is demand-driven: that is, the author requests the execution of a particular node of a program, which produces an output by recalling the dependent expressions recursively. ...
Thesis
Interactive media design is a field which has been researched as soon as computers started showing audio-visual capabilities. A common research theme is the temporal specification of interactive media objects: how is it possible to create multimedia presentations whose schedule takes into account events external to the system.This problem is shared with another research field, which is interactive music and more precisely interactive scores. That is, musical works whose performance will evolve in time according to a given score.In both cases, it is necessary to specify the medias and musical data orchestrated by the system: this is the subject of the first part of this thesis, which presents a model tailored for the design of multimedia applications. This model allows to simplify distributed access and remote control questions, and solves documentation-related problems.Once this model has been defined, we construct by inspiration with well-known data-flow systems used in music programming, a computation structure able to control and orchestrate the applications defined previously, as well as handling audio-visual data input and output.Specifically, a notion of permanent environment is introduced in the data-flow model: it simplifies multiple use cases common when authoring interactive media and music, and improves performance when comparing to a purely node-based approach.Finally, a temporal graph structure is presented: it allows to score parts of the data graph in time. Especially, nodes of the data graph are studied in the context of both synchronous and delayed cases.A visual edition language is introduced to allow for authoring of interactive scores in a graphical model which unites the previously introduced elements.The temporal structure is then studied from the distribution point of view: we show in particular that it is possible to earn an additional expressive power by supposing a concurrent execution of specific objects of the temporal structure.Finally, we expose how the system is able to recreate multiple existing media systems: sequencers, live-loopers, patchers, as well as new multimedia behaviours.
... fig-2 revision of the solver PWMC (Sandred, 2010). Both these solvers are libraries of the visual programming and composition environment PWGL (Laurson, Kuuskankare & Norilo, 2009). The constraint problems consist of only three notes with the middle note as the dissonance and surrounding rests as padding so that these notes can occur freely on any beat. ...
Article
Full-text available
We describe a method for automatically extracting symbolic compositional rules from music corpora. Resulting rules are expressed by a combination of logic and numeric relations, and they can therefore be studied by humans. These rules can also be used for algorithmic composition, where they can be combined with each other and with manually programmed rules. We chose genetic programming (GP) as our machine learning technique, because it is capable of learning formulas consisting of both logic and numeric relations. GP was never used for this purpose to our knowledge. We therefore investigate a well understood case in this study: dissonance treatment in Palestrina’s music. We label dissonances with a custom algorithm, automatically cluster melodic fragments with labelled dissonances into different dissonance categories (passing tone, suspension etc.) with the DBSCAN algorithm, and then learn rules describing the dissonance treatment of each category with GP. Learning is based on the requirement that rules must be broad enough to cover positive examples, but narrow enough to exclude negative examples. Dissonances from a given category are used as positive examples, while dissonances from other categories, melodic fragments without dissonances, purely random melodic fragments, and slight random transformations of positive examples, are used as negative examples.
... Comme une librairie dans PWGL [3], environnement visuel de composition assistée par ordinateur basé sur LISP, SUM peut aussi être utilisé comme un outil de composition graphique. ENP [4], l'éditeur de notation musicale interne de PWGL, permet strictement la description de partitions graphiques à base d'objet, plutôt que l'exploration pixel-par-pixel d'une partition comme une image. ...
Conference Paper
RÉSUMÉ Cet article porte sur le développement de l'outil SUM, une bibliothèque utilisateur avec une interface graphique au sein de l'environnement de composition assistée par ordinateur PWGL, visant à l'intégration de l'image et du son. Nous allons détailler sa structure interne, constituée de couches d'images, de convertisseurs et de chemins. Nous allons présenter le processus de sonification, l'extraction des données graphiques et leur traduction dans les paramètres audio. Enfin, nous discuterons des applications possibles de SUM, de la sonification d'image à la composition assistée par ordinateur, résultant de cette structure.
Article
Full-text available
This paper will give an overview of the author's experience in using rule-based computing in music composition. After discussing both imposed and voluntary constraints in existing music, a very short description of a rule-based computer system will be given. The concept of musical dimensions will be discussed, and used to illustrate the complexity of implementing musical structures into a computer system. A central section in the article will focus on different approaches to the design of musical rules. This will be followed by a discussion of the relationship between pitch and rhythm, and the role of motifs and gestures. Finally, two examples from one of the author's compositions will illustrate how rules can be used to formalize music.
Article
The focus of attention of this paper is a music notation application, the Expressive Notation Package or ENP, conceived by Mika Kuuskankare. We explore some important design issues, through examples dealing with user interface design, music representation, and semantics. Our applications relate closely to computer-assisted composition. In this paper we deal particularly with contemporary music notation. The notational examples, all of which are based on real contemporary scores, attempt to illustrate several important, and at times unusual, design decisions. All of these scores share a common underlying representation, a hierarchical model for music representation that aims for the combination of representational simplicity, notational flexibility, and extensibility. The ENP system aims to let composers make their own aesthetic decisions—including decisions affecting music notation.
Conference Paper
Full-text available
ManuScore is a music notation-based, interactive music composition application, backed by a cognitively-inspired music learning and generation system. In this paper we outline its various functions, describe an applied compo-sition study using the software, and give results from a study of listener evaluation of the music composed during the composition study. The listener study was conducted at a chamber music concert featuring a mixed programme of human-composed, machine-composed, and computer-assisted works.
Article
Full-text available
This paper presents an overview of Kronos, a soft-ware package aimed at the development of musical signal processing solutions. The package consists of a programming language specification as well JIT Compiler aimed at generating high performance ex-ecutable code. The Kronos programming language aims to be a functional high level language. Combining this with run time performance requires some unusual trade-offs, creating a novel set of language features and capabilities. Case studies of several typical musical signal pro-cessors are presented and the suitability of the lan-guage for these applications is evaluated.
Article
Full-text available
Draft available at http://cmr.soc.plymouth.ac.uk/tanders/publications/Anders-Microtonal-PNM2011/MicrotonalHarmony.html That draft makes the research reproducible by presenting the full source code for all its examples. This paper presents a computational model for microtonal music theories and composition based on the constraint programming paradigm. The fundamental layer of this model is its pitch representation, which introduces variables for pitches, pitch classes, and (chord or scale) degrees, as well as their their dependencies. Constrainable representations for higher level pitch-related concepts such as chord and scale objects are defined. The model has been implemented in Strasheela, so that this model can be used together with other Strasheela feature (e.g., temporal score object hierarchies). This paper demonstrates the proposed model in a number of case studies that implement microtonal theories of harmony, melody and counterpoint. These case studies also showed how the model supports various equal temperaments. We modeled a diatonic cadence in 12-tone equal temperament (12-TET); a 7-limit harmony progression in 31-TET and adaptive just intonation; a chord figuration of a chord from La Monte Young's The Well-Tuned Piano in 41-TET; and finally first a melody and and then harmonic counterpoint with Paul Erlich's static symmetrical major scale in 22-TET. The presented model supports equal temperaments only; we are currently working on an extension for arbitrary regular temperaments including just intonation.
Article
In this article, we introduce an original approach to computerized music analysis within the graphical computer-assisted composition environment called PWGL. Our aim is to facilitate real-time analysis of interactive scores written in common Western music notation. To this end, we have developed a novel library that allows us to analyze scores realized with the help of ENP, and to visualize the results of the analysis in real-time. ENP is the native music notation tool of PWGL able to produce automatically typeset and interactive music notation. Here, it is extended to support the display of analytical information that can be drawn on top of the score as an overlay. The analysis backend is realized with the help of our built-in musical scripting language. The language is based on pattern-matching and allows for a rich access of score information. The results of the analysis are presented directly as a part of the original score leveraging the extensible and interactive visualization capabilities of ENP.
Conference Paper
This paper presents an image-based system for the algorithmic control of sound synthesis. Our system allows for the superimposing of multiple spatio-temporal trajectories (paths) on top of layered images. The color data retrieved from the images can be converted into, and interpreted as, control information for controlling the parameters of a synthesis algorithm. The work is conducted within the PWGL visual programming environment, within which we have developed a new user-library called SUM. The SUM tool is aimed at the integration of image and sound and was originally developed for the sonification of urban maps and the analysis of urban structure. Lately, SUM has been developed towards a more general image-based compositional tool. Unlike most image-to-sound toolkits, which are limited to a single horizontal time axis, SUM allows for the access of the image data from multiple, user-definable spatio-temporal perspectives and the mixing of both vector and raster images. In this paper, as a purely technical example, we build an image-based 'mixer' to control the parameters of a granular synthesizer. Granular synthesis has a long history in the field of computer music and it is frequently used as both a synthesis technique and a compositional method.
Conference Paper
This paper presents the latest developments of the SUM tool, aimed at the integration of image and sound. A user library within the PWGL visual programming environment, it allows both image sonification and graphical computer-aided composition. Initially developed for the sonification of graphic urban maps, in which MIDI data is generated from graphics, the SUM process can now be reversed, with MIDI being the generator of the graphics themselves. We present three new developments which allow this: the ability to import MIDI into SUM to generate spatio-temporal vector time-paths; the ability to access the temporal structure of these paths through its points; and the ability to draw vector objects and develop a custommade object library. These functions will allow us to generate graphics from music, which may form the basis of future works of 'visual music' as well as the musicalgeneration of graphical designs.
Conference Paper
This paper presents rhythm reading, one of the elementary ear training exercises, as a pedagogical software application of PWGL. We use different kinds of stochastic and mathematical models to generate a rhythmic database. The database is divided into several categories, including, binary or ternary, euclidian, afro-cuban, corpus-based, and contemporary. Our musical constraints systems is used to define a rule set, which, in turn, can be used to automatically generate graded rhythm reading exercises. The user is then presented with a musical score, and he or she can perform a reading with any percussive instrument or voice and a microphone connected to a computer. Our novel signal processing system is utilized to analyze the reading. Finally, visual feedback and statistics are displayed directly as a part of the exercise. In this paper we present our rhythm reading application, and discuss the details of its implementation.
Conference Paper
In this paper we introduce a prototype of 'meta-score', a novel visual editor in PWGL, aimed at defining the structural, temporal and procedural properties of a musical composition. Meta-score is a music notation editor, thus, the score can be created manually by inputting the information using a GUI. However, meta-score extends the concept of a musical score so that the musical content can be defined not only manually but also procedurally. The composition is defined by placing scores (hence the name meta-score) on a timeline, creating dependencies between the objects, and defining the compositional processes associated with them. Meta-score presents the users with a three-stage compositional process beginning from the sketching of the overall structure along with the associated harmonic, rhythmic and melodic material; continuing with the procedural description of the composition and ending with the automatic production of the performance score. In this paper, we describe the present state of meta-score. Copyright © 2012, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved.
Article
This paper presents two large-scale compositional projects that have been realized using a Lisp-based visual computer-assisted composition environment. As such, the system does not force the composer to use a predetermined aesthetic framework. In order to meet the specific needs of individual composers, a user-library scheme is provided that allows one to augment the kernel part of the system with modular software packages. In our first case study, dealing with the realization of the pitch material for Lindberg's orchestral work Engine, we discuss the constraints system used by the composer. In the second case study we present the underlying user-library 'Viuhka' that was used to realize a 15-part electroacoustic work for tape by Heininen. We end with a discussion that lists some of the experiences that the composers came across during the compositional process.
Article
A software synthesizer, also known as a softsynth or virtual instrument is a computer program for digital audio generation. Softsynths can be cheaper and more portable than dedicated hardware. In this paper we proposed a scheme in which a dedicated hardware musical keyboard is developed which sends only MIDI notes. A keyboard is interfaced to PC through USB.A synthesizing of musical notes is done by PC to produced sound. Synthesis is done by comparing different physical modeling technique. This is the low cost solution towards dedicated hardware synthesizers. The paper aims towards using existing use of processing power of PC with existing memory system to process MIDI notes to play different instruments through general purpose PC. Also it makes easy for keyboard player to play music with dedicated hardware keyboard. Associated with the electronic music movement, a synthesizer is an electronic instrument, sometimes accessed through a keyboard, that creates and combines waveforms used stored acoustic instrumental samples, called wavetable synthesis, or electronically, using FM synthesis.Synthesis is done by comparing different physical modeling technique. Proposed system aimed at developing a synthesizer system using computer devices where all the processing done by computer system. Main idea behind project is to avoid using readymade synthesizer IC and utilization of computer processing to get maximum computer power. The physical model is usually formulated as a partial differential equation resulting from a mechanical analysis. The resulting synthesis algorithms consist of a parallel arrangement of second order digital filters [2]. Their coefficients are obtained by analytic expressions directly from the parameters of the physical model. More elaborate computational models include nonlinearities and excitation mechanisms. The resulting algorithmically models are suitable for real-time implementation on modern desktop or laptop computers and mobile devices. Low-delay algorithms permit control from sequencer programs or haptic devices. A VST-plug-in demonstrates the capabilities for real-time synthesis and parametric control.
Article
This paper presents a description and some developments on Perle’s theory and compositional system known as Twelve-Tone Tonality, a system that, because of its characteristics and fundamentals, is currently associated with Schoenberg dodecaphonic system. Some research has been made in the last few decades in order to develop his model in a Computer Assisted Composition (CAC) environment. After some efforts in order to analyse these prototypes, we realize that in general they were discontinued or outdated. A three-scope proposal is so outlined: Firstly, to simplify the grasp of a system that presents an easily understandable starting premise but afterwards enters a world of unending lists and arrays of letters and numbers; Secondly, to present the implementation process already started using PWGL [1] (see Laurson, 1996; Laurson, 2003; Laurson, 2009). Finally, the model is applied in a short original compositional work, and it is presented and analysed emphasizing the standpoints properties of the system. Some further considerations were made regarding the continuity of this project where the construction of a dedicated PWGL library of Perle’s model reveals a pre-compositional necessary tool. PWGL software was selected due to its specific fitting features: it is based on Common Lisp - perfectly powerful and suitable to process lists of integers — and it is specialized in CAC.
Chapter
This chapter briefly overviews the history of computer music languages and related systems, mainly focusing on those developed in the research community (hence, less focus is put on those commercial computer music software such as digital audio workstation (DAW) software or sound editor software). As is often seen in other surveys of computer music history, the historical development of computer music languages and systems is divided into several overlapping eras in this chapter. The division between the eras of non-real-time computer music systems and real-time computer music systems is particularly emphasized, as it gave a significant impact on both creative practices by artists and musicians and the design of computer music languages and systems by researchers and engineers. While the evolution of computer music languages has been largely supported by the advance of computer technology and the achievement of the related research in computer science and audio engineering, it should be also noted that issues found in creative practices also have given significant influences to the development of computer music languages and systems throughout its history. Along with the technical advancement, the synergy between technology and creativity in computer music is also highlighted when appropriate in this chapter, as such a perspective can be beneficial to reconsider the relationship between computer technology and artistic creativity in our decades.
Chapter
This chapter briefly overviews the history of computer music languages and related systems, mainly focusing on those developed in the research community (hence, less focus is put on those commercial computer music software such as digital audio workstation (DAW) software or sound editor software). As is often seen in other surveys of computer music history, the historical development of computer music languages and systems is divided into several overlapping eras in this chapter. The division between the eras of non-real-time computer music systems and real-time computer music systems is particularly emphasized, as it gave a significant impact on both creative practices by artists and musicians and the design of computer music languages and systems by researchers and engineers. While the evolution of computer music languages has been largely supported by the advance of computer technology and the achievement of the related research in computer science and audio engineering, it should be also noted that issues found in creative practices also have given significant influences to the development of computer music languages and systems throughout its history. Along with the technical advancement, the synergy between technology and creativity in computer music is also highlighted when appropriate in this chapter, as such a perspective can be beneficial to reconsider the relationship between computer technology and artistic creativity in our decades.
Chapter
This chapter briefly overviews the history of computer music languages and related systems, mainly focusing on those developed in the research community (hence, less focus is put on those commercial computer music software such as digital audio workstation (DAW) software or sound editor software). As is often seen in other surveys of computer music history, the historical development of computer music languages and systems is divided into several overlapping eras in this chapter. The division between the eras of non-real-time computer music systems and real-time computer music systems is particularly emphasized, as it gave a significant impact on both creative practices by artists and musicians and the design of computer music languages and systems by researchers and engineers. While the evolution of computer music languages has been largely supported by the advance of computer technology and the achievement of the related research in computer science and audio engineering, it should be also noted that issues found in creative practices also have given significant influences to the development of computer music languages and systems throughout its history. Along with the technical advancement, the synergy between technology and creativity in computer music is also highlighted when appropriate in this chapter, as such a perspective can be beneficial to reconsider the relationship between computer technology and artistic creativity in our decades.
Thesis
Full-text available
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.
Article
Full-text available
This paper is concerned with the creative process involved in making a "computer assisted composition". It follows the relationship to the technologies used, from the point of view of the communication between composer and electronic machine. It offers a perspective on the relation between the act of "programming" and the act of "composing". From this point of view, it compares the current state of the creative process with the situation at the time of the first computer-assisted realizations.
Book
Musical Cities represents an innovative approach to scholarly research and dissemination. A digital and interactive 'book', it explores the rhythms of our cities, and the role they play in our everyday urban lives, through the use of sound and music. Sara Adhitya first discusses why we should listen to urban rhythms in order to design more liveable and sustainable cities, before demonstrating how we can do so through various acoustic communication techniques. Using audio-visual examples, Musical Cities takes the ‘listener’ on an interactive journey, revealing how sound and music can be used to represent, compose, perform and interact with the city. Through case studies of urban projects developed in Paris, Perth, Venice and London, Adhitya demonstrates how the power of music, and the practice of listening, can help us to compose more accessible, inclusive, engaging, enjoyable, and ultimately more sustainable cities.
Article
Full-text available
This paper introduces Kronos, a vectorizing Just in Time com-piler 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 transpar-ent vectorization of the machine code.
Conference Paper
Full-text available
cote interne IRCAM: Schwarz00a
Article
Full-text available
There has been a great interest recently in systems that use graphics to aid in the programming, debugging, and understanding of computer programs. The terms “Visual Programming” and “Program Visualization” have been applied to these systems. Also, there has been a renewed interest in using examples to help alleviate the complexity of programming. This technique is called “Programming by Example.” This paper attempts to provide more meaning to these terms by giving precise definitions, and then uses these definitions to classify existing systems into a taxonomy. A number of common unsolved problems with most of these systems are also listed.
Conference Paper
Full-text available
Article
Full-text available
The increasing influence of visual technology on language environments that has resulted from the increasing availability of workstations is discussed. An evolution that began with the relatively straightforward translation of textual techniques into corresponding visual techniques and has progressed to uses of visual techniques that have no natural parallel using purely textural techniques is traced. Visual user interfaces, visual editing, and visual languages are surveyed.< >
Article
Full-text available
new classes have been added to OpenMusic in order to handle the big amount of parameters involved in the control of synthesis.
Article
Scitation is the online home of leading journals and conference proceedings from AIP Publishing and AIP Member Societies
Conference Paper
Conference Paper
This paper gives an overview of how boxes are created in PWGL. PWGL is a visual language based on Common Lisp, CLOS and OpenGL. PWGL boxes can be categorized as follows. Simple boxes define the basic interface between PWGL and its base-languages Common Lisp and CLOS. Visual editors constitute another important subcategory of PWGL boxes. Finally, more complex boxes can be used to create PWGL applications ranging from simple ones to complex embedded boxes that can contain several editors and other types of input-boxes. We discuss the components of a PWGL box, how boxes are constructed and give some remarks on how to define the layout of a PWGL box.
Conference Paper
This paper presents PWGL that is a free cross-platform visual language based on Common Lisp, CLOS and OpenGL, specialized in computer aided composition and analysis, and sound synthesis. It integrates several programming paradigms (functional, object-oriented, constraint-based) with high-level visual representation of data and it can be used to solve a wide range of musical problems. PWGL provides a direct access to its base languages, Common Lisp and CLOS in a form of a visual box. Besides a library of basic boxes (arithmetic, lisp functions, list handling, loops, abstractions, and conversion), PWGL contains several large-scale applications, such as: Expressive Notation Package (ENP, represented in PWGL by Score-editor and Chord-editor), 2D-Editor, PWGLSynth, and PWGLConstraints.
Article
(Introduction) Although one may consider music composition to be an important issue in any computer music research or development, the term
Book
cote interne IRCAM: Bresson08a
Article
Common Lisp (Steele 1990) and the Common Lisp Object System (Bobrow 1988) provide an environment uniquely suited to the exploratory and incremental process of musical composition. Common Music is a high-level music composition language built in Common Lisp and CLOS designed to support computer composition in a variety of score formats through a common protocol. Initially prototyped on a Symbolics Lisp machine, the system runs under most Common Lisp environments found on standard computers such as Apple Macintosh and NeXT machines. Common Music is currently offered at CCRMA as part of course work for computer music classes and workshops. It is available through anonymous file transfer (ftp) on the machine ccrma-ftp in the file named /pub/cm.tarfile.Z.
Article
From the Publisher:OpenGL is a powerful software interface used to produce high-quality computer generated images and interactive applications using 2D and 3D objects and color bitmaps and images. The OpenGL Programming Guide, Third Edition, provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. This book discusses all OpenGL functions and their syntax shows how to use those functions to create interactive applications and realistic color images. You will find clear explanations of OpenGL functionality and many basic computer graphics techniques such as building and rendering 3D models; interactively viewing objects from different perspective points; and using shading, lighting, and texturing effects for greater realism. In addition, this book provides in-depth coverage of advanced techniques, including texture mapping, antialiasing, fog and atmospheric effects, NURBS, image processing, and more. The text also explores other key topics such as enhancing performance, OpenGL extensions, and cross-platform techniques. This third edition has been extensively updated to include the newest features of OpenGL, Version 1.2, including: 3D texture mapping Multitexturing New pixel storage formats, including packed and reversed (BGRA) formats Specular lighting after texturing The OpenGL imaging subset New GLU routines and functionality Numerous code examples are provided to practical programming techniques. The color plate section illustrates the power and sophistication of the newest version of OpenGL. The OpenGL Technical Library provides tutorial and reference books for OpenGL. The library enables programmers to gain a practical understanding of OpenGL and shows them how to unlock its full potential. The OpenGL Technical Library was originally developed by SGI and continues to evelove under the auspices of the Architecture Review Board (ARB), an industry consortium responsible for guiding the evolution of OpenGL and related technologies. The OpenGL ARB is composed of industry leaders, such as 3Dlabs, Compaq, Evans & Sutherland, Hewlett-Packard, IBM, Intel, Intergraph, Microsoft, NVIDIA, and SGI. The OpenGL Programming Guide, Third Edition was written by Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner.
Conference Paper
This paper presents recent developments in our synthesis environment PWGLSynth. We introduce two programming tools that allow the user to extend PWGLSynth with new C++ modules. In the first one the user operates with ordinary textual C++ programming. The system also allows to reuse in the code any existing synthesis modules. In the second tool the user first defines visually a synthesis patch with the help our abstraction scheme. The abstraction is then automatically translated to a binary file that represents the new synthesis box. The Appendix gives three C++ examples that demonstrates the syntax that is used by the developer kit.
Article
This paper presents some of the main concepts behind PWGL editors. PWGL is an OpenGL based visual pro-gramming language specialized in computer aided com-position and sound synthesis. Editors have a central role in PWGL as they allow to investigate and manipulate com-plex objects. We first describe some of the general de-sign issues behind PWGL editors. We will use one of the main editors, the 2D-editor, as a case study. The 2D-editor allows to combine and synchronize visually various 2D-objects within one editor.
Article
This paper describes a method which simulates the timbre of the human voice through the orchestration of instrumental ensembles for classical music. The spectral envelope of speech is used as a model for the orchestration. The idea of this method is to synthesise the spectral envelope of a phoneme using the spectral envelopes of different sounds of music instruments. Large instrumental databases with standardised intensities like the Virtual Orchestra are required. For each sound of the database, an average spectral envelope is calculated. An error minimisation algorithm optimises the similarity of the orchestration's envelope in relation to the phoneme. Among other pieces, this method was applied in the orchestra piece Nicanor, premiered 1999 in Stuttgart. A considerable similarity of the respective orchestral sequence to the sound of the whispered word is perceived.
Article
We present in this paper our recent developments dealing with constraint-based programming. Our focus is in a new syntax that extends the pattern-matching part of our rule system. The syntax allows to refer to more high-level entities in a score than before, resulting in compact rules that use only a minimal set of primitives. The system can be used to define a wide range of cases ranging from melodic, harmonic and voice-leading rules. The compiler can be extended to support new score accessor keywords by special compiler methods. The new syntax is explained and demonstrated with the help of a large number of rule examples.
Conference Paper
Abstract Berkeley DB is an Open Source embedded,database system with a number of key advantages over comparable,systems. It is simple to use, supports concurrent access by multiple users, and provides industrial-strength transaction support, including surviving system and disk crashes. This paper describes the design and technical features of Berkeley DB, the distribution, and its license.
Article
Expressive Notation Package (ENP) is a music notation program developed to meet the requirements of computer-aided composition, music analysis and synthesis control. It is designed to produce automatic, reasonable musical typesetting according to common practices. ENP allows one to analyze, modify, view and annotate scores in many different ways; a text-based format can be used to generate scores algorithmically;, it is possible to modify data contained by the objects in a score by using a scripting language. Typically, a mensurally notated ENP score contains a number of parts; each part contains voices; each voice contains measures and each measure can contain any number of beats. ENP contains such concepts underlying data representation as expression scheme, ENP-score-notation format and the ENP-Script Language. ENP-Expressions are multipurpose visualization devices that can be used to represent complex dynamic Lisp-based objects as part of a muscial texture. ENP allows users to describe scores in a special text-based format called ENP-score-notation. It offers a large subset of notational attributes. Finally, ENP-Script is a scripting language that uses a pattern-matching syntax. The use of the pattern-matching language offers advantages such as complex musical patterns can easily be defined, the syntax is compact, powerful and east to learn, typically there is no need to write any control structures.
Article
This paper demonstrates that the CLOS metaobject protocol approach to defining and implementing an object model is very powerful. CLOS is an object-oriented language that is based on Common Lisp and is in the process of being standardized. Implementations of CLOS are themselves object-oriented with all major building blocks of the language being instances of system classes. A metaobject protocol provides a framework for CLOS implementations by specifying the hierarchy of these classes and the order and contents of the communication among their instances. This design has made CLOS both flexible and portable, two design goals that traditionally conflict. In support of this suggestion we present a detailed account of how we added object persistence to CLOS without modifying any of the language 's implementation code.
PATCHWORK: A Visual Programming Language and Some Musical Applications
  • M Laurson
Laurson, M. 1996. "PATCHWORK: A Visual Programming Language and Some Musical Applications." PhD thesis, Sibelius Academy, Helsinki.
High Level Musical Control of Sound Synthesis in OpenMusic
  • C Agon
  • M Stroppa
  • G Assayag
Agon, C., M. Stroppa, and G. Assayag. 2000. "High Level Musical Control of Sound Synthesis in OpenMusic." Proceedings of the 2000 International Computer Music Conference. San Francisco, California: International Computer Music Association, pp. 332-335.