Skip to content

mini-notation サブセット: テキストパターンからのクリップ生成 (表現力拡張 Step 2) #105

Description

@6uclz1

概要

Tidal/Strudel の mini-notation サブセットを純 Python で実装し、テキストパターンから直接クリップにノートを書き込めるようにする。

ableton-cli clip pattern set 0 0 --map "36:kick,38:sd,42:hh" \
  --pattern "kick ~ kick [~ kick] sd, hh*8" --length 4

動機

ドラム/リフの記述量を notes JSON 比で 1/10 程度に圧縮できる。Jersey Club の七つ打ちや Deep House のオフビート OHH が 1 行で表現できる。Strudel 本体 (JS) への依存なしで決定的にテスト可能。

提案仕様 (サブセット)

  • ステップ列: bd ~ sd ~ (~ は休符)
  • 細分割: [a b]
  • 繰り返し: a*4
  • サイクル交代: <a b>
  • ユークリッドリズム: a(3,8)
  • 並列レイヤー: , 区切り
  • 確率: a?0.5 (シード指定 --seed で再現可能、後続でも可)
  • --map でシンボル→MIDI ピッチ対応を指定。x...x..x 形式の単純ステップグリッド記法も併設検討

実装方針

  • パーサは純 Python 200〜300 行想定、src/ableton_cli/ 配下に notation モジュールを新設
  • 出力は既存 notes JSON 中間表現 → 既存 clip notes add/replace 経路を再利用 (Remote Script 側変更なし)
  • ゴールデンテスト (パターン文字列 → ノート配列) を整備

関連: 表現力拡張ロードマップ Step 2。フル Strudel 互換は別 issue (Node ブリッジ) に分離。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions