2

我正在尝试在 Tone.js 中播放样本并将其量化为全球传输。

这是我的代码:

// global bpm 
Tone.Transport.bpm.value = 125;

// declare sounds
const sampler = new Tone.Sampler({
    "C3" : "./sounds/mainloop.mp3",
    "D3" : "./sounds/909CLAP.wav",
}).toMaster();

// declare all elements
const startBtn = document.querySelector('.start-btn');
const playLoopBtn = document.querySelector('.play-loop-btn');
const playClapBtn = document.querySelector('.play-clap-btn');

// quantize playback to transport ???
startBtn.addEventListener('click', ()=>{
    Tone.Transport.toggle();
    sampler.triggerAttackRelease('C3', '16m', '@16n');
});
playClapBtn.addEventListener('click', ()=>{
    sampler.triggerAttackRelease('D3', '8n', '@16n');
})

现在发生的事情是 Clap 能够以 16 分音符播放,但它从不同于 mainloop.mp3 的位置开始。我希望 mainloop.mp3 和 909CLAP.wav 对齐,这样我就可以在 mainloop.mp3 的第 16 个音符上完美地播放 909CLAP.wav。

任何帮助,将不胜感激!

4

0 回答 0