2015-06-07 16:10:19 +00:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title > LFO Effects< / title >
2015-06-27 22:10:18 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" >
2015-12-08 05:06:58 +00:00
< link rel = "icon" type = "image/png" sizes = "174x174" href = "./style/favicon.png" >
2015-06-07 16:10:19 +00:00
2017-03-18 16:35:37 +00:00
< script src = "../build/Tone.js" > < / script >
< script src = "./scripts/jquery.min.js" > < / script >
< script src = "./scripts/draggabilly.js" > < / script >
< script src = "./scripts/StartAudioContext.js" > < / script >
< script src = "./scripts/Interface.js" > < / script >
< script src = "https://tonejs.github.io/Logo/build/Logo.js" > < / script >
2015-06-07 16:10:19 +00:00
< link rel = "stylesheet" type = "text/css" href = "./style/examples.css" >
2017-03-18 16:35:37 +00:00
< script >
2015-06-07 16:10:19 +00:00
// jshint ignore: start
< / script >
< / head >
< body >
< div id = "Content" >
2015-06-26 05:23:05 +00:00
< div id = "Title" > LFO Effects< / div >
2015-06-07 16:10:19 +00:00
< div id = "Explanation" >
2016-07-07 20:10:29 +00:00
These effects use an < a href = "https://tonejs.github.io/docs/#LFO" > LFO< / a > (Low Frequency Oscillator) to modulate the effect. Click and drag the dot to change the frequency and depth of the effect.
2015-06-27 22:02:55 +00:00
< br > < br >
2016-07-07 20:10:29 +00:00
Docs on < a href = "https://tonejs.github.io/docs/#AutoPanner" > Tone.AutoPanner< / a > ,
< a href = "https://tonejs.github.io/docs/#AutoFilter" > Tone.AutoFilter< / a > , and
< a href = "https://tonejs.github.io/docs/#Tremolo" > Tone.Tremolo< / a >
2015-06-07 16:10:19 +00:00
< / div >
< div id = "DragContainer" >
< / div >
< / div >
2017-03-18 16:35:37 +00:00
< script id = "JSCode" >
2015-06-07 16:10:19 +00:00
//AutoPanner - a penning modulation effect
var panner = new Tone.AutoPanner({
"frequency" : 4,
"depth" : 1
}).toMaster().start();
//AutoFilter - a filter modulation effect
var filter = new Tone.AutoFilter({
"frequency" : 2,
"depth" : 0.6
}).toMaster().start();
//Tremolo - an amplitude modulation effect
var tremolo = new Tone.Tremolo({
"frequency" : 0.6,
"depth" : 0.7
}).toMaster().start();
//the input oscillators
var osc0 = new Tone.Oscillator({
2015-06-26 05:23:05 +00:00
"volume" : -Infinity,
"type" : "square6",
2015-06-07 16:10:19 +00:00
"frequency" : "C4"
}).connect(panner).start();
var osc1 = new Tone.Oscillator({
2015-06-26 05:23:05 +00:00
"volume" : -Infinity,
"type" : "square6",
2015-06-07 16:10:19 +00:00
"frequency" : "E4"
}).connect(filter).start();
var osc2 = new Tone.Oscillator({
2015-06-26 05:23:05 +00:00
"volume" : -Infinity,
"type" : "square6",
2015-06-07 16:10:19 +00:00
"frequency" : "A4"
}).connect(tremolo).start();
2017-03-26 20:39:19 +00:00
// GUI //
2015-06-07 16:10:19 +00:00
2016-12-21 04:03:36 +00:00
Interface.Dragger({
2015-12-05 18:20:53 +00:00
tone : panner,
2015-06-07 16:10:19 +00:00
x : {
param : "frequency",
min : 0.1,
max : 8
},
y : {
param : "depth",
min : 0.5,
max : 1
},
start : function(){
osc0.volume.rampTo(0, 0.1);
},
end : function(){
osc0.volume.rampTo(-Infinity, 0.1);
}
});
2016-12-21 04:03:36 +00:00
Interface.Dragger({
2015-12-05 18:20:53 +00:00
tone : filter,
2015-06-07 16:10:19 +00:00
x : {
param : "frequency",
min : 0.1,
max : 8
},
y : {
param : "depth",
min : 0.5,
max : 1
},
start : function(){
osc1.volume.rampTo(0, 0.1);
},
end : function(){
osc1.volume.rampTo(-Infinity, 0.1);
}
});
2016-12-21 04:03:36 +00:00
Interface.Dragger({
2015-12-05 18:20:53 +00:00
tone : tremolo,
2015-06-07 16:10:19 +00:00
x : {
param : "frequency",
min : 0.1,
max : 8
},
y : {
param : "depth",
min : 0.5,
max : 1
},
start : function(){
osc2.volume.rampTo(0, 0.1);
},
end : function(){
osc2.volume.rampTo(-Infinity, 0.1);
}
});
< / script >
2017-03-26 20:39:19 +00:00
2015-06-07 16:10:19 +00:00
< / body >
2017-03-18 16:35:37 +00:00
< / html >