@onjmin/dtm
    Preparing search index...

    Type Alias ComposeOptions

    type ComposeOptions = {
        baseKey?: string;
        drawCount?: number;
        edo?: number;
        form?: string;
        melodySource?: "phrases" | "original";
        phrases?: CorpusPhrase[];
        random?: () => number;
        recent?: number[][];
        scale?: string;
        sectionBank?: SectionBank;
        sections?: SectionKind[];
        skeletons?: Skeleton[];
        stepsPerBar: number;
        template?: string;
    }
    Index
    baseKey?: string

    ベースとなる調・雰囲気の指定("any" | "major" | "minor" | "mood_" | "key_")。 省略時は "any"(全24調からランダム抽選)。

    drawCount?: number

    引く候補の数。既定 DRAW_COUNT。

    edo?: number

    曲の音律。省略時は12平均律。

    form?: string

    展開の仕方("auto" | "motif" | "ostinato" | "through" | "chant")。省略時は "auto" で曲ごとに引く("chant" は auto では出ない)。MelodyForm

    melodySource?: "phrases" | "original"

    骨格借用(engine: "skeleton" のテンプレート)だけが読む。歌メロの音を他曲の実在フレーズから 当てる(既定 "phrases")か、骨格の元曲の度数をそのまま使う("original"。試聴の対照用で UI からは出さない)か。

    phrases?: CorpusPhrase[]

    骨格借用・継ぎ合わせの歌メロに当てる2小節素材。耳コピから抜いたフレーズ集は他人の曲の断片なので バンドルに入れず、実験(scripts/)からだけ渡す。無ければ SYNTH_PHRASES。通常の作曲は読まない。

    random?: () => number

    乱数源。テストから決定的な値を注入するために差し替えられる。

    recent?: number[][]

    直近に作った曲の特徴ベクトル(ComposeStats.fingerprint)。指標に最適化すると 全曲が同じ統計値へ寄るので、それらから離れている候補に加点する(WEIGHTS.novelty)。

    scale?: string

    音階の指定("auto" | "any" | 音階ID)。"auto" はベース調の長短に合わせて 陽音階(長調)/民謡音階(短調)を使う。COMPOSE_SCALES

    sectionBank?: SectionBank

    継ぎ合わせが読むバンク。骨格と同じく scripts/ から渡す(compose-section-bank.ts、git に入れない)。

    sections?: SectionKind[]

    作るセクション。省略時は DEFAULT_SECTIONS。並び順は指定によらず SECTION_ORDER に従う。

    skeletons?: Skeleton[]

    骨格借用が読む骨格データ。バンドルには入れない——耳コピの和音・ベースをそのまま持つ データで、実験(scripts/)からだけ渡す。無ければ骨格借用は失敗する。

    stepsPerBar: number

    1小節のステップ数。DAW の renderConfig.stepsPerBar をそのまま渡す。

    template?: string

    曲構成テンプレート名("1chorus" | "jpop_standard" | "jpop_drop" | "vocaloid" | "verse_chorus" | "game_loop" | "kaiwai")。 指定時は sections より優先され、2コーラスやCメロ、落ちサビなどの王道構成を展開する。