Tone.JS-加法合成器

时间:2019-04-22 20:23:45

标签: javascript web-audio synthesizer tone.js

我正在尝试使用Tone.JSWebAudioAPI创建一个简单的加法合成器。

到目前为止,我已经建立了一个简单的合成器,该合成器可以正常工作,并且我可以弹奏任何想要的音符。

我还可以自由更改参数ecc ...

这是代码:

// synth declaration using Tone.JS

var synth = new Tone.Synth({
  oscillator: {
    type: 'fmsquare',
    modulationType: 'sawtooth',
    modulationIndex: 3,
    harmonicity: 2.4
  },
  envelope: {
    attack: 0.001,
    decay: 0.1,
    sustain: 5,
    release: 0.1
  }
}).toMaster()

//Possible added oscillator
 var synthB = new Tone.Synth({
   //Sample Data.......
 }).toMaster()

// Selection of piano keyboard from my HTML file

notes = document.querySelectorAll(".hex");

// Play note function

notes.forEach(function(note) {
    note.addEventListener("mouseover", function(event){
    x =  event.target.title;
    synth.triggerAttackRelease(x, "8n");
    //synthB.triggerAttackRelease(x, "8n");

    });
});

我尝试添加另一个Tone.Synth,但是我不知道如何“ 并行化”该过程。

看着documentation,我发现了如何创建一个复音合成器,但是它允许添加同一合成器的多个实例以演奏多个音符。

我想做的是用 DIFFERENT 合成器(每个带有其波形)演奏同一音符以获得加法合成器。

我试图简单地创建一个SynthB然后调用synthB.triggerAttackRelease(),它可以正常工作,但对我来说似乎不是“平行”。

有没有更好的方法?

0 个答案:

没有答案