1

我正在尝试库tone.js。我想将音频循环文件(1 bar 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