Files
quartz-research-note/content/ChucK.md
松浦 知也 Matsuura Tomoya bd79a9b4e6
All checks were successful
Build / build (push) Successful in 10m17s
[obsidian] vault backup: 2025-08-21 12:54:51[
2025-08-21 12:54:51 +09:00

2.1 KiB
Raw Blame History

date
date
2025-01-15 15:28

#programming-language #computermusic

Strongly-Timedというコンセプトの音楽プログラミング言語。Ge Wangが主に開発。

ChucK => A Strongly-Timed Music Programming Language

C言語っぽいシンタックスでサンプル単位での正確なスケジューリングができるのが特徴。

命令型+クラスを作ったりのオブジェクト指向(継承もあり)。=>でUGenの接続を表したり、代入したりと複数の機能を持つChucK演算子が存在するのがユニーク。

nowに対してChucK演算子で1::second => now;みたいな命令をすることが、1秒スリープするという動作に相当する、独特の時間操作を持つ。

shredという論理時間ベースの計量スレッドみたいなものを言語内からスポーン、もしくはコマンドから立ち上げることができる。1つのファイルをスレッド単位で立ち上げたり殺したりをリアルタイムで切り替えることで、ライブコーディングを実現している(ただし更新のタイミングでディレイやリバーブのテールは切れる)。

最近も活発に更新が進んでいて、モジュール機能などが導入された。

もともとはオーディオビジュアル的なライブコーディング環境Audicleというのがあり、それを簡略化したminiAudicleというのがメインのIDEとして使われている。

最近はEmscriptenでWeb経由でも動くようになってきた。

WebChucK IDE

また、Chugin(チャグイン)というC++で書かれたネイティブな拡張を読み込むこともでき、FaustTouchDesignerUnityのような他の環境との連携も多く実現しているほか、AI系などのプラグインも開発されている。

Chugenという独自Unit GeneratorをChucK言語上で定義するための機能もあるCsoundにおけるUser-Defined OpCode

パッケージマネージャが2025年ぐらいになって導入された。