2026年2月2日月曜日

TidalCycles / Strudel 系について教えてください

 TidalCycles / Strudel 系は「コードで時間のパターンを書く」ライブコーディング音楽の系統で、同じ“パターン言語”の発想を Haskell本家(TidalCycles)ブラウザ版(Strudel) で使い分けられるのがポイントです。

TidalCycles(本家)

  • Haskell上で動くパターン言語で、リズムや音列を関数で合成・変形しながら演奏します。

  • 音作りは多くの場合 SuperCollider / SuperDirt 側で鳴らし、TidalがOSCなどで制御します(いわゆる「パターンはTidal、音は外部」構成)。

  • 公式ドキュメントの導入に「必要コンポーネント(Git / Haskell / SuperCollider / SuperDirt / エディタ)」がまとまっています。

向いている場面

  • しっかりした制作環境で、外部シンセやセットアップ込みで強く運用したい

  • Haskell側の表現力や拡張も含めて深掘りしたい

Strudel(ブラウザ版・公式ポート)

  • ブラウザで動くライブコーディング環境で、TidalCyclesのパターン言語を JavaScriptで実装した公式ポートです。

  • まずはWeb上のREPLで即プレイでき、学習ページも公式に用意されています。

  • 内蔵のWeb Audioシンセ(SuperDough)で鳴らせるほか、MIDI / OSC / MQTT にも出せます。

向いている場面

  • インストール無しでまず触りたい、ワークショップや授業、短い検証

  • ブラウザで完結しつつ、必要なら外部機材にも繋げたい

補足(開発拠点の移動)

  • StrudelやTidalのGitHubリポジトリは Codebergへ移行している案内があります(GitHub側はアーカイブ扱い)。

ざっくりした違い

  • TidalCycles: 本格環境(Haskell + SuperCollider/ SuperDirt)で強い。セットアップは重め。

  • Strudel: ブラウザで即開始。Tidalの発想を最短で体験できる。I/Oも拡張可能。

最短の始め方(おすすめルート)

  1. まず StrudelのREPL を開いて、学習ページの最初の例を動かす

  2. 「パターンを関数で変形する感覚」が掴めたら、必要に応じて TidalCycles のセットアップへ進む