Skip to content

外部処理系ブリッジ: Strudel(Node) / Csound / SuperCollider (表現力拡張 Step 6) #109

Description

@6uclz1

概要

上級オプションとして外部処理系との橋渡しを追加する (コア機能とは分離し、外部依存はすべてオプション扱い)。

  1. Strudel/Node ブリッジ: clip pattern import-strudel --file p.js --cycles 4
    • @strudel/core を headless に実行し pattern.queryArc(0, n) でイベント列を取得 → notes JSON に変換
    • フル mini-notation + Strudel の関数群 (every/sometimes/jux 等) がそのまま使える
  2. Csound / SuperCollider スコア実行: audio render --engine csound --score s.csd
    • 完全にテキストネイティブな音響合成資産 (数十年分) を波形生成の入力源にする

動機

自前実装 (mini-notation サブセット / numpy シンセ) でカバーしない高度な表現を、外部処理系に委譲して手に入れる。「記法を借りる (自前パーサ)」と「処理系ごと使う (ブリッジ)」を分離する方針の後者。

実装方針

  • Node / csound / scsynth の存在確認は doctor に統合し、未インストール時は明確なエラーメッセージ (exit code 3 or 20)
  • ブリッジはサブプロセス実行 + JSON 中間表現。バージョン差異はブリッジ側スクリプトで吸収
  • コア機能のテストがこれら外部依存に引きずられないよう、CI ではオプショングループとして分離

依存

関連: 表現力拡張ロードマップ Step 6

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions