quartz-research-note/content/SuperCollider.md
松浦 知也 Matsuura Tomoya 9cb724754f
All checks were successful
Build / build (push) Successful in 3m22s
[obsidian] vault backup: 2024-11-05 12:32:28
2024-11-05 12:32:28 +09:00

1.2 KiB

date
2024-02-06T02:00:06+0900

#programming-language #software #tools

James McCartneyが開発、その後OSS化された音楽プログラミング言語。

index | SuperCollider

もともとMax上で動くPyriteというスクリプティング言語と、Synth-O-Maticというソフトウェアシンセサイザーがあって、それを合体させる形で作られた。

Smalltalkベースのシンタックスを持つオブジェクト指向言語で、演算子の優先順位がなく全てが左結合だったりと文法が独特。バージョン3からは言語インタプリタ部分(sclang)とシンセサイザー部分(scsynth)が別プロセスとして動いており、OSCフォーマットで通信して動いている。TidalCyclesSonic PiFoxDotOvertoneなどは、音声合成エンジンとしてscsynthを利用している。

言語はコンカレントGCが走っていたりとかなり複雑な内部実装。実装している中の人にBoostの開発者の中の人が混ざってたりするのでめっちゃ高度なことをやっている。その分Webに移植とかは今後もハードルが高そう。