2016-04-20 4 views
0

F est le transporteur, et E et D sont des modulateurs.Webaudio FM Synthèse avec deux modulateurs

FM Synthesis with one modulator

simple synthèse FM avec un seul modulateur, est assez simple dans WebAudio.

FM Synthesis with one modulator

var ctx = new AudioContext || webkitAudioContext(); 
var out = ctx.destination; 

// Instantiating 
var E = ctx.createOscillator(); // Modulator 
var F = ctx.createOscillator(); // Carrier 

// Setting frequencies 
E.frequency.value = 440; 
F.frequency.value = 440; 

// Modulation depth 
var E_gain = ctx.createGain(); 
E_gain.gain.value = 3000; 

// Wiring everything up 
E.connect(E_gain); 
E_gain.connect(F.frequency); 
F.connect(out); 

// Start making sound 
E.start(); 
F.start(); 

Mais maintenant, je voudrais faire quelque chose comme ça.

FM Synthesis with two modulators

Deux modulateurs qui est. Comment cela peut-il être implémenté dans webaudio?

Répondre

0

Réponse: Vous devez vous connecter pour ne pas régler la fréquence.

Exemple: Hé, j'ai un exemple sur mon site pour vous: http://gtube.de/

Aller à la publication Zone dans la tête et sélectionnez le synthé FM.

Vous pouvez voir les connexions et vous pouvez l'essayer en direct (utilisez le clavier A-L)! :-)

Exampleobject:

{"name":"connection","Name":"Connection at Pos6","ConnectFrom":"1_#_MOD 1_#_object","ConnectTo":"3_#_GAIN MOD1_#_object"}, 
{"name":"connection","Name":"Connection at Pos7","ConnectFrom":"3_#_GAIN MOD1_#_object","ConnectTo":"0_#_OSC_#_detune"}, 
{"name":"connection","Name":"Connection at Pos8","ConnectFrom":"2_#_MOD 2_#_object","ConnectTo":"4_#_GAIN MOD2_#_object"}, 
{"name":"connection","Name":"Connection at Pos9","ConnectFrom":"4_#_GAIN MOD2_#_object","ConnectTo":"0_#_OSC_#_detune"} 
{"name":"connection","Name":"Connection at Pos10","ConnectFrom":"0_#_OSC_#_object","ConnectTo":"5_#_GAIN OSC_#_object"}, 
{"name":"connection","Name":"Connection at Pos11","ConnectFrom":"5_#_GAIN OSC_#_object","ConnectTo":"context.destination"}] 
+0

Cela ne semble pas fonctionner dans le navigateur Chrome en cours. La console affiche 'TypeError: Impossible de lire la propriété 'detune' de au format HTMLDocument.document.onkeydown (app.js: 5518)' – brainjam

+0

Veuillez sélectionner l'entrée A-L du clavier et non l'entrée Midi. –