Tone.JS - аддитивный синтезатор

Я пытаюсь создать простой аддитивный синтезатор, используя Tone.JS и WebAudioAPI,

До сих пор я установил простой синтезатор, который прекрасно работает, и я могу играть любую ноту, какую захочу.

Я также могу свободно изменять параметры 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 но я не могу понять, как "распараллелить" процесс.

Глядя на документацию, я нашел, как создать полифонический синтезатор, но он позволяет добавить несколько экземпляров одного и того же синтезатора, чтобы сыграть более одной ноты.

Я хотел бы сыграть одну и ту же ноту с разными синтезаторами (каждый со своей формой волны), получая аддитивный синтезатор.

Я пытался просто создать SynthB а затем позвоните synthB.triggerAttackRelease()Это работает нормально, но это не кажется "параллельным" для меня.

Есть ли лучшие подходы?

0 ответов

Другие вопросы по тегам