record

Thesis Info

LABS ID
00473
Thesis Title
LC: A MOSTLY-STRONGLY-TIMED PROTOTYPE-BASED COMPUTER MUSIC PROGRAMMING LANGUAGE THAT INTEGRATES OBJECTS AND MANIPUNATIONS FOR MICROSOUND SYNTHESIS
Author
Hiroki Nishino
2nd Author
3rd Author
Degree
Ph.D.
Year
2014
Number of Pages
342
University
National University of Singapore
Thesis Supervisor
Prof. Ryohei Nakatsu
Supervisor e-mail
Ryohei Nakatsu <nakatsu.ryohei@gmail.com>
Other Supervisor(s)
Language(s) of Thesis
English
Department / Discipline
Graduate School for Integrative Sciences and Engineering
Languages Familiar to Author
English, Japanese
URL where full thesis can be found
www.scholarbank.nus.edu.sg/handle/10635/78945
Keywords
computer music, programing language, live-coding, microsound synthesis, strongly-timed programming, prototype-based programming
Abstract: 200-500 words
Through the design of LC, a new computer music programming language, this thesis contributes to solutions to three problems in today’s computer music language design: (1) the insu�cient support for dynamic modifica- tion, (2) the insu�cient support for precise timing behaviour and other desirable features with respect to time, and (3) the di�culty in microsound synthesis programming caused by the anti-pattern of abstraction inversion. As the creation process of computer music composition can be highly ex- ploratory in that musicians normally experiment with di↵erent composi- tional and sound synthesis algorithms, better support for rapid-prototyping is considered important. At the same time, recent computer music practices can even involve dynamic modification of a program at runtime, on-the-fly on stage, at both levels of compositional algorithms and sound synthesis. Nevertheless, even the latest computer music languages do not provide a terse and consistent programming model with a su�cient degree of sup- port for dynamic modification, especially at the sound synthesis level. This thesis contributes to this issue by the adoption of prototype-based program- ming, which is highly dynamic in its nature, at both levels of compositional algorithms and sound synthesis in the language design. The insu�cient support for precise timing behaviour and other desirable features with respect to time is another significant problem in many com- puter music languages. While the strongly-timed programming concept can achieve precise timing behaviour with sample-rate accuracy by the ex- plicit control of the advance of logical time, a time-consuming task that hinders the advance of logical time can easily cause the temporary suspen- sion of real-time DSP. This thesis proposes the concept of mostly-strongly- timed programming, which extends strongly-timed programming with ex- plicit switching to asynchronous context, in which a thread can be pre- empted regardless of the synchronization with the advance of logical time; thus, a mostly- strongly-timed program can avoid temporary suspension of real-time DSP by executing time-consuming tasks in the asynchronous pre- emptive context, while maintaining sample-rate accurate timing behaviour of strongly-timed programming. This thesis also discusses the benefits for integrating other desirable features with respect to time, such as timing constraints and time-tagged message communication. Microsound synthesis programs written in unit-generator languages often in- volve certain programming patterns, which complicate the implementation to compensate imprecise timing behaviour and the lack of the consideration on microsound synthesis in the abstraction of its underlying sound synthe- sis framework. Such a symptom can be assessed as abstraction inversion, an anti-pattern that occurs when high-level abstractions must be combined to express a lower-level abstraction. This thesis proposes a novel abstrac- tion for microsound synthesis that integrates objects and manipulations for microsounds in the design, which can collaborate with the traditional unit- generator concept in a complementary style. Together with precise timing behaviour supported by mostly-strongly-timed programming, the abstrac- tion makes it possible to describe microsound synthesis techniques more tersely without involving abstraction inversion. As above, this thesis contributes to three issues that computer music lan- guage research faces today, through the design of LC, a mostly-strongly- timed prototype-based programming language that integrates objects and manipulations for microsounds.