Commit fd74958 1 parent bed1f2d commit fd74958 Copy full SHA for fd74958
File tree 2 files changed +25
-1
lines changed
2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -449,7 +449,7 @@ class PulseOsc extends AudioNode {
449
449
update ( freq , duty ) {
450
450
this . phase += this . sampleTime * freq ;
451
451
let cyclePos = this . phase % 1 ;
452
- return cyclePos < duty ? - 1 : 1 ;
452
+ return cyclePos < duty ? 1 : - 1 ;
453
453
}
454
454
}
455
455
@@ -568,6 +568,22 @@ class TriOsc extends AudioNode {
568
568
}
569
569
} */
570
570
571
+ class Lag {
572
+ constructor ( ) {
573
+ this . lagUnit = 4410 ; // 60dB per second (maybe?)
574
+ // Current state
575
+ this . s = 0 ;
576
+ }
577
+
578
+ update ( input , rate ) {
579
+ // Remap so the useful range is around [0, 1]
580
+ rate = rate * this . lagUnit ;
581
+ if ( rate < 1 ) rate = 1 ;
582
+ this . s += ( 1 / rate ) * ( input - this . s ) ;
583
+ return this . s ;
584
+ }
585
+ }
586
+
571
587
/**
572
588
* Slide/portamento node
573
589
*/
@@ -822,6 +838,7 @@ export let NODE_CLASSES = {
822
838
Tri : TriOsc ,
823
839
// Scope: Scope,
824
840
Slide : Slide ,
841
+ Lag : Lag ,
825
842
Filter : Filter ,
826
843
Fold : Fold ,
827
844
AudioIn : AudioIn ,
Original file line number Diff line number Diff line change @@ -292,6 +292,7 @@ export let saw = makeNode("Saw");
292
292
export let sine = makeNode ( "Sine" ) ;
293
293
export let tri = makeNode ( "Tri" ) ;
294
294
export let slide = makeNode ( "Slide" ) ;
295
+ export let lag = makeNode ( "Lag" ) ;
295
296
export let filter = makeNode ( "Filter" ) ;
296
297
export let fold = makeNode ( "Fold" ) ;
297
298
export let seq = makeNode ( "Seq" ) ;
@@ -516,6 +517,12 @@ export const NODE_SCHEMA = {
516
517
{ name : "rate" , default : 1 } ,
517
518
] ,
518
519
} ,
520
+ Lag : {
521
+ ins : [
522
+ { name : "in" , default : 0 } ,
523
+ { name : "rate" , default : 1 } ,
524
+ ] ,
525
+ } ,
519
526
Tri : {
520
527
ins : [ { name : "freq" , default : 0 } ] ,
521
528
} ,
You can’t perform that action at this time.
0 commit comments