ChuGL: Unified Audiovisual Programming in ChucK
Andrew Zhu, and Ge Wang
Proceedings of the International Conference on New Interfaces for Musical Expression
- Year: 2024
- Location: Utrecht, Netherlands
- Track: Papers
- Pages: 351–358
- Article Number: 52
- DOI: 10.5281/zenodo.13904878 (Link to paper)
- PDF link
- Presentation Video
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.13904878BibTeX 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} }