--- date: 2025-01-15 15:28 --- #programming-language #computermusic Strongly-Timedというコンセプトの音楽プログラミング言語。[[Ge Wang]]が主に開発。 [ChucK =\> A Strongly-Timed Music Programming Language](https://chuck.stanford.edu/) C言語っぽいシンタックスでサンプル単位での正確なスケジューリングができるのが特徴。 命令型+クラスを作ったりのオブジェクト指向(継承もあり)。 shredという論理時間ベースの計量スレッドみたいなものを言語内からスポーン、もしくはコマンドから立ち上げることができる。1つのファイルをスレッド単位で立ち上げたり殺したりをリアルタイムで切り替えることで、ライブコーディングを実現している(ただし更新のタイミングでディレイやリバーブのテールは切れる)。 最近も活発に更新が進んでいて、モジュール機能などが導入された。 もともとはオーディオビジュアル的なライブコーディング環境Audicleというのがあり、それを簡略化したminiAudicleというのがメインのIDEとして使われている。 最近は[[Emscripten]]でWeb経由でも動くようになってきた。 [WebChucK IDE](https://chuck.stanford.edu/ide/) また、Chugin(チャグイン)というC++で書かれたネイティブな拡張を読み込むこともでき、[[Faust]]や[[TouchDesigner]]、[[Unity]]のような他の環境との連携も多く実現しているほか、AI系などのプラグインも開発されている。 Chugenという独自[[Unit Generator|UGen]]をChucK言語上で定義するための機能もある([[CSound]]におけるUser-Defined OpCode)。