@onjmin/dtm
    Preparing search index...

    Type Alias MmlMeta

    曲全体に効くトップレベル宣言(トラックとは1対1ではない)。 MMLの先頭などに #inst=<プリセット> #drum=<パターン> #volume=<全体音量> の形で埋め込む。 他のMMLプレイヤーには無害(解析時に除去される)。

    type MmlMeta = {
        audio?: string;
        audioAt?: number;
        audioEnd?: number;
        audioOffset?: number;
        audioStart?: number;
        audioVolume?: number;
        compose?: string;
        delay?: number;
        delayDivision?: string;
        drum?: string;
        drumFont?: string;
        drumVolume?: number;
        edo?: number;
        fadeIn?: number;
        fadeOut?: number;
        instrument?: string;
        loop?: boolean;
        masterCompression?: number;
        mode?: "simple" | "advanced";
        reverb?: number;
        reverbDecay?: number;
        reverbPreDelay?: number;
        seed?: number;
        trackCompression?: Record<number, number>;
        trackDelaySend?: Record<number, number>;
        trackEqHigh?: Record<number, number>;
        trackEqLow?: Record<number, number>;
        trackEqMid?: Record<number, number>;
        trackInstruments?: Record<number, string>;
        trackPan?: Record<number, number>;
        trackReverbSend?: Record<number, number>;
        trackWidth?: Record<number, number>;
        version?: string;
        volume?: number;
    }
    Index

    Properties

    audio?: string

    同時再生する伴奏音源のURL(mp3 / wav / YouTube)。#audio= で埋め込む。

    URLだけを持ち、アップロードされたファイルは持たない(受け取った相手が 再生できないMMLになるため、ファイル読み込み時は音源関連の宣言ごと出力しない)。

    audioAt?: number

    伴奏音源を貼り付ける曲側の位置(ステップ。1小節=192)。#audioat= で埋め込む旧形式。 audioOffset に置き換わったが、既存のMMLを読めるよう解析だけ残してある (利用側でテンポを使って audioOffset へ読み替える)。

    audioEnd?: number

    伴奏音源のどこで止めるか(秒)。#audioend= で埋め込む。省略時は最後まで。

    audioOffset?: number

    伴奏音源と打ち込みの開始のずれ(秒)。#audiooffset= で埋め込む。省略時は0(同時)。

    正なら音源が先に始まり、その秒数だけ経ってから打ち込みが始まる。 負ならその逆(打ち込みが先で、音源が後から入る)。

    audioStart?: number

    伴奏音源のどこから鳴らすか(秒)。#audiostart= で埋め込む。省略時は0(頭から)。

    audioVolume?: number

    伴奏音源の音量 0-100。#audiovol= で埋め込む。省略時は80。

    compose?: string

    自動作曲の設定(#compose=)。テンプレート:調:音階:セクション を : 区切りで 持つ(セクションは - 区切り)。MmlMeta.seed と組で曲を再現する。

    delay?: number

    マスタディレイの掛かり具合 0-100(全トラック共通、#delay= で埋め込む)

    delayDivision?: string

    マスタディレイの音価("4"|"8"|"8d"|"16")。#delaydiv= で埋め込む。省略時は"8"。

    drum?: string

    ドラムパターン名(DRUM_PATTERNS のキー)

    drumFont?: string

    ドラムフォント名

    drumVolume?: number

    ドラム音量(0-100等)

    edo?: number

    曲全体の音律(1オクターブの分割数)。#edo=31 で埋め込む。省略時は12(12平均律)。 12と31のみ対応。音律は曲単位で、トラックや小節では変えられない。

    fadeIn?: number

    曲頭のフェードイン長を10倍した整数(秒 → 0〜100)。#fadein= で埋め込む。省略時は0。

    fadeOut?: number

    曲尾のフェードアウト長を10倍した整数(秒 → 0〜100)。#fadeout= で埋め込む。省略時は0。

    instrument?: string

    楽器プリセット名(INSTRUMENT_PRESETS のキー等。利用側が音源解決に使う)

    loop?: boolean

    ループ再生の指定(#loop=on / off)。BGM等で曲末停止せずシームレスにループさせる。 省略時はオフ。

    masterCompression?: number

    マスタバスのグルーコンプレッサー量 0-100(全トラック共通、#mastercomp= で埋め込む)。 省略時は0(オフ)。

    mode?: "simple" | "advanced"

    DAWの動作モード(simple | advanced)

    reverb?: number

    マスタリバーブの掛かり具合 0-100(全トラック共通、#reverb= で埋め込む)

    reverbDecay?: number

    マスタリバーブのDecay(残響の長さ)を10倍した整数(0.3〜4.0秒 → 3〜40)。 #reverbdecay= で埋め込む。省略時は22(2.2秒)。

    reverbPreDelay?: number

    マスタリバーブのPre Delay(ms、0〜150)。#reverbpredelay= で埋め込む。省略時は0。

    seed?: number

    自動作曲の乱数種(#seed=)。同じ種・同じ設定(MmlMeta.compose)で composeSong を呼ぶと同じ曲が出る。読み込み側は使わない——気に入った曲が 貼られたとき、どの抽選から出たかを後から再現・分析するための記録。

    trackCompression?: Record<number, number>

    トラックごとのコンプレッサー(音圧強化)量 0-100。#t<n>comp=<値> で埋め込む。 省略されたトラックは0(実質無圧縮)。ボーカル・楽器どちらのトラックにも掛かる チャンネルストリップ共通のパラメータ(歌詞トラック固有の r/g/h とは別軸)。

    trackDelaySend?: Record<number, number>

    トラックごとのマスタディレイへのセンド量 0-100。#t<n>dly=<値> で埋め込む。 省略時は0(センドしない=掛からない)。楽器・歌詞トラックどちらにも掛かる チャンネルストリップ共通のパラメータ(歌詞トラック固有の vocalDelay/dトークンとは別軸)。

    trackEqHigh?: Record<number, number>

    トラックごとのEQ高域ゲイン -12〜+12dB。#t<n>eqhi=<値> で埋め込む。省略時は0(無変化)。

    trackEqLow?: Record<number, number>

    トラックごとのEQ低域ゲイン -12〜+12dB。#t<n>eqlo=<値> で埋め込む。省略時は0(無変化)。

    trackEqMid?: Record<number, number>

    トラックごとのEQ中域ゲイン -12〜+12dB。#t<n>eqmid=<値> で埋め込む。省略時は0(無変化)。

    trackInstruments?: Record<number, string>

    トラックごとの個別楽器名(GM楽器名)。#t<n>inst=<名前> で埋め込む。 省略されたトラックはプリセットが適用される。

    trackPan?: Record<number, number>

    トラックごとのステレオ定位 0-127(64=中央)。#t<n>pan=<値> で埋め込む。省略時は64(中央)。 歌詞トラック固有の p(歌唱の定位)とは別軸で、楽器トラック自体の左右配置を決める。

    trackReverbSend?: Record<number, number>

    トラックごとのマスタリバーブへのセンド量 0-100。#t<n>rev=<値> で埋め込む。 省略時は0(センドしない=掛からない)。楽器・歌詞トラックどちらにも掛かる チャンネルストリップ共通のパラメータ(歌詞トラック固有の vocalReverb/rトークンとは別軸)。

    trackWidth?: Record<number, number>

    トラックごとのステレオ幅 0-200。#t<n>width=<値> で埋め込む。省略時は100(原音のまま)。

    version?: string

    書き出したライブラリのバージョン(#ver=)。

    自動作曲の素材は外部コーパスから作るので、どのバージョンまでが どの素材で作られたかを後から辿れる必要がある(権利の申告が誤っていた 場合の是正範囲を言うため)。台帳は docs/dataset-provenance.md。

    読み込み側は使わない——記録のためだけに持つ。

    volume?: number

    全体音量(0-100等)