Skip to content
- LABS ID
- Thesis Title
- LC: A MOSTLY-STRONGLY-TIMED PROTOTYPE-BASED COMPUTER MUSIC PROGRAMMING LANGUAGE THAT INTEGRATES OBJECTS AND MANIPUNATIONS FOR MICROSOUND SYNTHESIS
- Hiroki Nishino
- hiroki.nishino AT gmail.com
- 2nd Author
- 3rd Author
- Number of Pages
- National University of Singapore
- Thesis Supervisor
- Prof. Ryohei Nakatsu
- Supervisor e-mail
- Ryohei Nakatsu <email@example.com>
- Other Supervisor(s)
- Language(s) of Thesis
- Department / Discipline
- Graduate School for Integrative Sciences and Engineering
- Copyright Ownership
- Hiroki Nishino
- Languages Familiar to Author
- English, Japanese
- URL where full thesis can be found
- 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.