@onjmin/dtm
    Preparing search index...

    Type Alias ComposeStats

    生成結果の検算値。composeSong が基準を満たすまで引き直すのに使う。

    type ComposeStats = {
        attempts: number;
        chromaticRatio: number;
        density: DensityFeatures;
        entropy: number;
        fingerprint: number[];
        leapRatio: number;
        maxLeapSemitones: number;
        melodyRange: number;
        rejected: number;
        restRatio: number;
        score: number;
        scoreBreakdown: Record<string, number>;
        stepRatio: number;
        structure: StructureFeatures;
        submelodyRange: number;
        tension: TensionFeatures;
        valueKinds: number;
    }
    Index

    Properties

    attempts: number

    引いた候補の数。

    chromaticRatio: number

    調の外の音(変化音)が音数に占める比率。0が続くと「調が固定」に聞こえる。

    density: DensityFeatures

    メロディの密度(1小節あたりの音数・短い音の比率)。

    entropy: number

    メロディの音価のシャノンエントロピー(bit)。

    fingerprint: number[]

    この曲の特徴ベクトル。次に作曲するとき ComposeOptions.recent へ 渡すと、「前と似た曲」が出にくくなる。

    leapRatio: number

    隣接音程のうち跳躍(3半音以上)が占める比率。低すぎると「のっぺり」。

    maxLeapSemitones: number

    クライマックスを除く隣接音の最大跳躍(半音)。

    melodyRange: number

    メロディが使った音域(半音)。

    rejected: number

    ハード制約で捨てられた候補の数。

    restRatio: number

    休符が占めるステップの比率。

    score: number

    採点の総合点(0〜1)。WEIGHTS の加重和を重みの合計で割ったもの。

    scoreBreakdown: Record<string, number>

    項目ごとの得点(0〜1)。どこで点を落としたかを調べるために持つ。

    stepRatio: number

    隣接音程のうち順次進行(1〜2半音)が占める比率。歌いやすさの側。

    順序に依存する構造の指標。file://./compose-metrics.ts 参照。

    submelodyRange: number

    サブメロが使った音域(半音)。小さいと旋律になっていない。

    緊張カーブの指標(B部で上がるか・終止で解けるか)。

    valueKinds: number

    メロディの音価の種類数。