@@ -19,19 +19,18 @@ const start = ({ context, gainNode }) => {
19
19
} ;
20
20
21
21
const pause = ( { context, gainNode } ) => {
22
- for ( let i = 1.0 , j = 0 ; i > 0.0 ; i -= 0.1 , j += 0.01 ) {
23
- gainNode . gain . setValueAtTime ( i , context . currentTime + j ) ;
24
- }
22
+ gainNode . gain . linearRampToValueAtTime ( 0.01 , context . currentTime + 1.0 ) ;
23
+ gainNode . gain . setValueAtTime ( 0.0 , context . currentTime + 1.1 ) ;
25
24
} ;
26
25
27
26
const effects = {
28
27
compressor : ( { context } ) => {
29
28
var compressor = context . createDynamicsCompressor ( ) ;
30
29
compressor . threshold . setValueAtTime ( - 90 , context . currentTime ) ;
31
- compressor . knee . setValueAtTime ( 40 , context . currentTime ) ;
30
+ compressor . knee . setValueAtTime ( 60 , context . currentTime ) ;
32
31
compressor . ratio . setValueAtTime ( 12 , context . currentTime ) ;
33
32
compressor . attack . setValueAtTime ( 0 , context . currentTime ) ;
34
- compressor . release . setValueAtTime ( 0.5 , context . currentTime ) ;
33
+ compressor . release . setValueAtTime ( 0.2 , context . currentTime ) ;
35
34
return compressor ;
36
35
} ,
37
36
distortion : ( { context } ) => {
@@ -51,12 +50,12 @@ const effects = {
51
50
return curve ;
52
51
}
53
52
54
- distortion . curve = makeDistortionCurve ( 800 ) ;
53
+ distortion . curve = makeDistortionCurve ( 100 ) ;
55
54
distortion . oversample = "4x" ;
56
55
return distortion ;
57
56
} ,
58
57
filter : ( { context } ) => {
59
- const filterNumber = 2 ;
58
+ const filterNumber = 3 ;
60
59
61
60
let lowPassCoefs = [
62
61
{
@@ -103,12 +102,10 @@ const oscillation = {
103
102
oscillator . type = type ;
104
103
const filter = effects . filter ( { context } ) ;
105
104
const compressor = effects . compressor ( { context } ) ;
106
- // const distortion = effects.distortion({ context });
107
- oscillator
108
- . connect ( filter )
109
- . connect ( reverb )
110
- . connect ( compressor )
111
- . connect ( gainNode ) ;
105
+ const distortion = effects . distortion ( { context } ) ;
106
+ oscillator . connect ( filter ) . connect ( compressor ) . connect ( gainNode ) ;
107
+ oscillator . connect ( reverb ) . connect ( compressor ) . connect ( gainNode ) ;
108
+ oscillator . connect ( distortion ) . connect ( compressor ) . connect ( gainNode ) ;
112
109
oscillator . frequency . setValueAtTime ( frequency , context . currentTime ) ;
113
110
oscillator . start ( 0 ) ;
114
111
return oscillator ;
0 commit comments