1

ライブラリtone.jsを試しています。デフォルトのインストゥルメントの 1 つを使用して、オーディオ ループ ファイル (1 小節 120 bpm) を、tone.js 内で生成された一連のノートと同期させたいと考えています。

これらは私が試した主な手順です:

これはコードです:

const player = new Tone.Player("path/to/loop.mp3").toMaster() // 1 bar, 

120 bpm audio loop
player.autostart = true
player.loop = true
player.sync() // sync player to Transport

const notes = ["C2", "C3"]

const synth = new Tone.Synth().toMaster()
synth.oscillator.set({type: "fatsawtooth"})
synth.envelope.set({attack: 0.05, decay: 0.2, sustain: 0.1, release: 0.1})
synth.volume.value = -8

const synthPart = new Sequence(
    function(time, note) {
        synth.triggerAttackRelease(note, "8n", time)
    },
    notes,
    "8n"
)

synthPart.start()
Transport.start(1)

ループとシーケンスは同時に再生を開始しますが、タイミングが少しずれています (完全に同期していません)。上記はオーディオとメモを同期する正しい方法ですか? または、タイミングを改善するためにできることはありますか?

4

0 に答える 0