@onjmin/dtm
    Preparing search index...

    Function composeAccomp

    • 伴奏主体のループ曲を1曲作る(docs/design/accomp-compose.md §7.1)。

      • 段0: 呼び出しの乱数から調の種を1つ引き、調とテンポを決める(短調を選んだら平行長調を家にする)。
      • 候補 k = 0,1,…(上限 CANDIDATE_LIMIT): 候補ごとに種を6つ引き(計画・和声・質感・配置・強弱・色)、 計画 → 実現 → 関門。関門で落ちたら次の候補、recent と同じ計画も次の候補。 採点はしない。通った最初の候補を採る。
      • どれも通らなければ保険の計画(fb 相当。関門を通ることを全調・全テンポで検算済み)。pick は −1。

      再現は composeAccomp({ random: seededRandom(seed), baseKey, pick: k })(#seed と #compose=style:fb.v1:<baseKey>:<k>)。候補 k の中身は(seed, k)だけで決まるので、recent が あっても再現できる。

      Parameters

      Returns AccompSong