@onjmin/dtm
    Preparing search index...

    Type Alias DtmStudio

    type DtmStudio = {
        audioContext: AudioContext;
        defaultPreset: string;
        dispose: () => void;
        loadPreset: (presetKey: string, trackIds?: string[]) => Promise<void>;
        mountChordPlayer: (
            target: HTMLElement,
            chords: string,
            options?: Omit<MountChordPlayerOptions, "studio">,
        ) => ChordPlayerInstance;
        mountEditor: (
            target: HTMLElement,
            options?: MountEditorOptions,
        ) => DawInstance;
        mountModeSwitch: (
            target: HTMLElement,
            options: ModeSwitchOptions,
        ) => ModeSwitchInstance;
        mountPlayer: (
            target: HTMLElement,
            mml: string,
            options?: MountPlayerOptions,
        ) => MmlPlayerInstance;
        mountPresetSelect: (
            target: HTMLElement,
            options: PresetSelectOptions,
        ) => PresetSelectInstance;
        play: (
            mml: string,
            options?: Omit<
                PlayMmlOptions,
                "audioContext"
                | "destination"
                | "onPlayNote"
                | "onPlayDrum"
                | "synth",
            >,
        ) => MmlPlayback;
        playChords: (
            chordStr: string,
            options?: Omit<
                PlayChordsOptions,
                "audioContext"
                | "destination"
                | "onPlayNote"
                | "onPlayDrum"
                | "synth",
            >,
        ) => MmlPlayback;
        playDrumEvent: (e: PlayDrumEvent) => void;
        playNote: (
            options: {
                duration?: number;
                instrument?: string;
                pitch: number;
                volume?: number;
            },
        ) => Promise<void>;
        playNoteEvent: (e: PlayNoteEvent) => void;
        playSingingMML: (
            mml: string,
            options?: Omit<
                PlaySingingMmlOptions,
                "audioContext"
                | "destination"
                | "onPlayNote"
                | "onPlayDrum"
                | "synth",
            >,
        ) => Promise<MmlPlayback>;
        setMasterVolume: (volume: number) => void;
        setVolume: (volume: number) => void;
        singingVoices: SingingVoices;
    }
    Index

    Properties

    audioContext: AudioContext

    内部で使用している AudioContext。

    defaultPreset: string

    既定の楽器プリセットキー(options.defaultPreset ?? "retro_game")。

    dispose: () => void

    AudioContext を閉じ、生成物を破棄する。

    loadPreset: (presetKey: string, trackIds?: string[]) => Promise<void>

    楽器プリセットを(指定トラックぶん)ロードする。

    mountChordPlayer: (
        target: HTMLElement,
        chords: string,
        options?: Omit<MountChordPlayerOptions, "studio">,
    ) => ChordPlayerInstance

    コード進行再生専用プレイヤー(UI)をマウントする

    mountEditor: (target: HTMLElement, options?: MountEditorOptions) => DawInstance

    編集UI(mountDAW)を音・歌声込みでマウントする。

    mountModeSwitch: (
        target: HTMLElement,
        options: ModeSwitchOptions,
    ) => ModeSwitchInstance

    モード切替UI(SIMPLE/ADVANCED)を target に差し込み、編集UIのマウントごと面倒を見る。 切替時に「最新MML取り込み→destroy→新トラック構成で再マウント→MML復元」まで内部で行う。 getDaw() で現在の DawInstance を取得できる(mountPresetSelect の getDaw に渡せる)。

    mountPlayer: (
        target: HTMLElement,
        mml: string,
        options?: MountPlayerOptions,
    ) => MmlPlayerInstance

    再生専用UI(mountMmlPlayer)を音・歌声込みでマウントする。

    mountPresetSelect: (
        target: HTMLElement,
        options: PresetSelectOptions,
    ) => PresetSelectInstance

    楽器プリセット選択UI(INSTRUMENT)を target に差し込む。 変更時に内部で setInstrument+loadPreset(再生中なら一旦停止→再開)まで配線する。 編集UIの外側に独自配置したいライブラリ利用者向け(mountEditor の presetUI と同等)。

    play: (
        mml: string,
        options?: Omit<
            PlayMmlOptions,
            "audioContext"
            | "destination"
            | "onPlayNote"
            | "onPlayDrum"
            | "synth",
        >,
    ) => MmlPlayback

    UIなしで高品質な楽器再生(SoundFont)を行う

    playChords: (
        chordStr: string,
        options?: Omit<
            PlayChordsOptions,
            "audioContext"
            | "destination"
            | "onPlayNote"
            | "onPlayDrum"
            | "synth",
        >,
    ) => MmlPlayback

    SoundFontを用いたコード進行再生を行う

    playDrumEvent: (e: PlayDrumEvent) => void

    SoundFontへ PlayDrumEvent を鳴らす(headless API の onPlayDrum フック用)

    playNote: (
        options: {
            duration?: number;
            instrument?: string;
            pitch: number;
            volume?: number;
        },
    ) => Promise<void>

    SoundFontを用いた単音再生を行う

    playNoteEvent: (e: PlayNoteEvent) => void

    SoundFontへ PlayNoteEvent を鳴らす(headless API の onPlayNote フック用)

    playSingingMML: (
        mml: string,
        options?: Omit<
            PlaySingingMmlOptions,
            "audioContext"
            | "destination"
            | "onPlayNote"
            | "onPlayDrum"
            | "synth",
        >,
    ) => Promise<MmlPlayback>

    UIなしで高品質な楽器再生(SoundFont)+歌声合成を行う

    setMasterVolume: (volume: number) => void

    マスタ音量を 0-100 で変更する。

    setVolume: (volume: number) => void

    マスタ音量を 0-100 で変更する(setMasterVolume のエイリアス)。

    singingVoices: SingingVoices

    歌声合成ヘルパ(klatt + koe音源)。