ChuGL: Unified Audiovisual Programming in ChucK

Andrew Zhu, and Ge Wang

Proceedings of the International Conference on New Interfaces for Musical Expression

Abstract:

ChuGL (sounds like "chuckle"; rhymes with "juggle") is a unified audiovisual programming framework built into the ChucK language. It extends ChucK's strongly-timed, concurrent programming model with a 3D rendering engine and a new paradigm for coding real-time graphics and audio. ChuGL introduces the notion of a Graphics Generator (GGen) that can be manipulated sample-synchronously alongside audio unit generators (UGens) to unify graphics and audio within a single strongly-timed language. Under the hood, this is made possible by a multithreaded scenegraph architecture that provides low-latency, high performance audiovisual synchronization. In this paper we present the design ethos of ChuGL, describe its integrated graphics-and-audio workflow, highlight architectural decisions, and present an evaluation of ChuGL as a tool for expressive audiovisual design, used in a computer music programming course at Stanford University. ChuGL transforms ChucK into a standalone audiovisual programming language, and argues for a way of thinking and doing in which audio and graphics are given equal importance.

Citation:

Andrew Zhu, and Ge Wang. 2024. ChuGL: Unified Audiovisual Programming in ChucK. Proceedings of the International Conference on New Interfaces for Musical Expression. DOI: 10.5281/zenodo.13904878

BibTeX Entry:

  @article{nime2024_52,
 abstract = {ChuGL (sounds like "chuckle"; rhymes with "juggle") is a unified audiovisual programming framework built into the ChucK language. It extends ChucK's strongly-timed, concurrent programming model with a 3D rendering engine and a new paradigm for coding real-time graphics and audio. ChuGL introduces the notion of a Graphics Generator (GGen) that can be manipulated sample-synchronously alongside audio unit generators (UGens) to unify graphics and audio within a single strongly-timed language. Under the hood, this is made possible by a multithreaded scenegraph architecture that provides low-latency, high performance audiovisual synchronization. In this paper we present the design ethos of ChuGL, describe its integrated graphics-and-audio workflow, highlight architectural decisions, and present an evaluation of ChuGL as a tool for expressive audiovisual design, used in a computer music programming course at Stanford University. ChuGL transforms ChucK into a standalone audiovisual programming language, and argues for a way of thinking and doing in which audio and graphics are given equal importance.},
 address = {Utrecht, Netherlands},
 articleno = {52},
 author = {Andrew Zhu and Ge Wang},
 booktitle = {Proceedings of the International Conference on New Interfaces for Musical Expression},
 doi = {10.5281/zenodo.13904878},
 editor = {S M Astrid Bin and Courtney N. Reed},
 issn = {2220-4806},
 month = {September},
 numpages = {8},
 pages = {351--358},
 presentation-video = {https://youtu.be/qj0DL-KgtqQ?si=kEgdzA7WJDeB_SbT},
 title = {ChuGL: Unified Audiovisual Programming in ChucK},
 track = {Papers},
 url = {http://nime.org/proceedings/2024/nime2024_52.pdf},
 year = {2024}
}