@thi.ng/dsp 4.2.2 → 4.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/add.d.ts +1 -1
- package/adsr.d.ts +1 -1
- package/adsr.js +13 -13
- package/biquad.d.ts +6 -6
- package/cosine.d.ts +1 -1
- package/feedback-delay.d.ts +1 -1
- package/fft.d.ts +1 -1
- package/filter-response.d.ts +1 -1
- package/foldback.d.ts +1 -1
- package/impulse-train.d.ts +3 -3
- package/integrator.d.ts +1 -1
- package/madd.d.ts +1 -1
- package/mul.d.ts +1 -1
- package/osc.d.ts +1 -1
- package/package.json +12 -12
- package/pink-noise.d.ts +1 -1
- package/reciprocal.d.ts +1 -1
- package/svf.d.ts +6 -6
- package/sweep.d.ts +1 -1
- package/waveshaper.d.ts +1 -1
- package/white-noise.d.ts +1 -1
package/CHANGELOG.md
CHANGED
package/add.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { AGen } from "./agen.js";
|
|
|
10
10
|
* @param start -
|
|
11
11
|
* @param clamp -
|
|
12
12
|
*/
|
|
13
|
-
export declare const add: (step?: number
|
|
13
|
+
export declare const add: (step?: number, start?: number, clamp?: number) => Add;
|
|
14
14
|
export declare class Add extends AGen<number> implements IReset {
|
|
15
15
|
protected _step: number;
|
|
16
16
|
protected _start: number;
|
package/adsr.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ export interface ADSROpts {
|
|
|
70
70
|
*
|
|
71
71
|
* @param opts -
|
|
72
72
|
*/
|
|
73
|
-
export declare const adsr: (opts?: Partial<ADSROpts>
|
|
73
|
+
export declare const adsr: (opts?: Partial<ADSROpts>) => ADSR;
|
|
74
74
|
export declare class ADSR extends AGen<number> implements IReset {
|
|
75
75
|
protected _phase: EnvPhase;
|
|
76
76
|
protected _curve: IGen<number>;
|
package/adsr.js
CHANGED
|
@@ -59,54 +59,54 @@ export class ADSR extends AGen {
|
|
|
59
59
|
this.reset();
|
|
60
60
|
}
|
|
61
61
|
reset() {
|
|
62
|
-
this._phase = 0 /* ATTACK */;
|
|
62
|
+
this._phase = 0 /* EnvPhase.ATTACK */;
|
|
63
63
|
this._curve = curve(0, 1, this._atime + 1, this._acurve, true);
|
|
64
64
|
this._val = 0;
|
|
65
65
|
return this;
|
|
66
66
|
}
|
|
67
67
|
release() {
|
|
68
|
-
if (this._phase < 3 /* RELEASE */) {
|
|
69
|
-
this._phase = 3 /* RELEASE */;
|
|
68
|
+
if (this._phase < 3 /* EnvPhase.RELEASE */) {
|
|
69
|
+
this._phase = 3 /* EnvPhase.RELEASE */;
|
|
70
70
|
this._curve = curve(this._sustain, 0, this._rtime + 1, this._dcurve, true);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
isSustained() {
|
|
74
|
-
return this._phase === 2 /* SUSTAIN */;
|
|
74
|
+
return this._phase === 2 /* EnvPhase.SUSTAIN */;
|
|
75
75
|
}
|
|
76
76
|
isDone() {
|
|
77
|
-
return this._phase === 4 /* IDLE */;
|
|
77
|
+
return this._phase === 4 /* EnvPhase.IDLE */;
|
|
78
78
|
}
|
|
79
79
|
next() {
|
|
80
80
|
let v;
|
|
81
81
|
switch (this._phase) {
|
|
82
|
-
case 4 /* IDLE */:
|
|
82
|
+
case 4 /* EnvPhase.IDLE */:
|
|
83
83
|
return 0;
|
|
84
|
-
case 0 /* ATTACK */:
|
|
84
|
+
case 0 /* EnvPhase.ATTACK */:
|
|
85
85
|
v = this._curve.next();
|
|
86
86
|
if (v >= 1) {
|
|
87
87
|
v = 1;
|
|
88
|
-
this._phase = 1 /* DECAY */;
|
|
88
|
+
this._phase = 1 /* EnvPhase.DECAY */;
|
|
89
89
|
this._curve = curve(1, this._sustain, this._dtime + 1, this._dcurve, true);
|
|
90
90
|
}
|
|
91
91
|
break;
|
|
92
|
-
case 1 /* DECAY */:
|
|
92
|
+
case 1 /* EnvPhase.DECAY */:
|
|
93
93
|
v = this._curve.next();
|
|
94
94
|
if (v <= this._sustain) {
|
|
95
95
|
v = this._sustain;
|
|
96
|
-
this._phase = 2 /* SUSTAIN */;
|
|
96
|
+
this._phase = 2 /* EnvPhase.SUSTAIN */;
|
|
97
97
|
this._curve = add(1, 1);
|
|
98
98
|
}
|
|
99
99
|
break;
|
|
100
|
-
case 2 /* SUSTAIN */:
|
|
100
|
+
case 2 /* EnvPhase.SUSTAIN */:
|
|
101
101
|
if (this._curve.next() >= this._speriod) {
|
|
102
102
|
this.release();
|
|
103
103
|
}
|
|
104
104
|
return this._val;
|
|
105
|
-
case 3 /* RELEASE */:
|
|
105
|
+
case 3 /* EnvPhase.RELEASE */:
|
|
106
106
|
v = this._curve.next();
|
|
107
107
|
if (v < 0) {
|
|
108
108
|
v = 0;
|
|
109
|
-
this._phase = 4 /* IDLE */;
|
|
109
|
+
this._phase = 4 /* EnvPhase.IDLE */;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
return (this._val = v * this._gain);
|
package/biquad.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { IReset } from "@thi.ng/api";
|
|
2
2
|
import type { BiquadType, FilterConfig, IFilter } from "./api.js";
|
|
3
3
|
import { AProc } from "./aproc.js";
|
|
4
|
-
export declare const biquad: (type: BiquadType, fc: number, q?: number
|
|
5
|
-
export declare const biquadLP: (fc: number, q?: number
|
|
6
|
-
export declare const biquadHP: (fc: number, q?: number
|
|
7
|
-
export declare const biquadBP: (fc: number, q?: number
|
|
8
|
-
export declare const biquadNotch: (fc: number, q?: number
|
|
9
|
-
export declare const biquadPeak: (fc: number, q?: number
|
|
4
|
+
export declare const biquad: (type: BiquadType, fc: number, q?: number, gain?: number) => Biquad;
|
|
5
|
+
export declare const biquadLP: (fc: number, q?: number) => Biquad;
|
|
6
|
+
export declare const biquadHP: (fc: number, q?: number) => Biquad;
|
|
7
|
+
export declare const biquadBP: (fc: number, q?: number) => Biquad;
|
|
8
|
+
export declare const biquadNotch: (fc: number, q?: number) => Biquad;
|
|
9
|
+
export declare const biquadPeak: (fc: number, q?: number, gain?: number) => Biquad;
|
|
10
10
|
export declare const biquadLoShelf: (fc: number, gain?: number) => Biquad;
|
|
11
11
|
export declare const biquadHiShelf: (fc: number, gain?: number) => Biquad;
|
|
12
12
|
export declare class Biquad extends AProc<number, number> implements IReset, IFilter {
|
package/cosine.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { AGen } from "./agen.js";
|
|
|
7
7
|
* @param freq -
|
|
8
8
|
* @param amp -
|
|
9
9
|
*/
|
|
10
|
-
export declare const cosine: (freq: number, amp?: number
|
|
10
|
+
export declare const cosine: (freq: number, amp?: number) => Cosine;
|
|
11
11
|
export declare class Cosine extends AGen<number> implements IReset {
|
|
12
12
|
protected _freq: number;
|
|
13
13
|
protected _amp: number;
|
package/feedback-delay.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { Delay } from "./delay.js";
|
|
|
6
6
|
* @param n - delay length
|
|
7
7
|
* @param feedback - feedback factor (default: 0.5)
|
|
8
8
|
*/
|
|
9
|
-
export declare const feedbackDelay: (n: number, feedback?: number
|
|
9
|
+
export declare const feedbackDelay: (n: number, feedback?: number) => FeedbackDelay;
|
|
10
10
|
export declare class FeedbackDelay extends Delay<number> {
|
|
11
11
|
protected _feedback: number;
|
|
12
12
|
constructor(n: number, _feedback?: number);
|
package/fft.d.ts
CHANGED
|
@@ -77,7 +77,7 @@ export declare function conjugate(complex: ComplexArray): ComplexArray;
|
|
|
77
77
|
* @param complex -
|
|
78
78
|
* @param window -
|
|
79
79
|
*/
|
|
80
|
-
export declare const fft: (complex: NumericArray | ComplexArray, window?: NumericArray
|
|
80
|
+
export declare const fft: (complex: NumericArray | ComplexArray, window?: NumericArray) => ComplexArray;
|
|
81
81
|
/**
|
|
82
82
|
* Inverse FFT via computing forward transform with swapped real/imaginary
|
|
83
83
|
* components. Expects denormalized inputs (i.e. the same as the result of
|
package/filter-response.d.ts
CHANGED
|
@@ -17,6 +17,6 @@ import type { FilterConfig, FilterResponse } from "./api.js";
|
|
|
17
17
|
* @param db -
|
|
18
18
|
*/
|
|
19
19
|
export declare const filterResponseRaw: (zeroes: NumericArray, poles: NumericArray, freq: number, db?: boolean) => FilterResponse;
|
|
20
|
-
export declare const filterResponse: (coeffs: FilterConfig, freq: number, db?: boolean
|
|
20
|
+
export declare const filterResponse: (coeffs: FilterConfig, freq: number, db?: boolean) => FilterResponse;
|
|
21
21
|
export declare const freqRange: FnU3<number, number[]>;
|
|
22
22
|
//# sourceMappingURL=filter-response.d.ts.map
|
package/foldback.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { AProc } from "./aproc.js";
|
|
|
10
10
|
* @param thresh - fold threshold
|
|
11
11
|
* @param amp - post amplifier
|
|
12
12
|
*/
|
|
13
|
-
export declare const foldback: (thresh?: number
|
|
13
|
+
export declare const foldback: (thresh?: number, amp?: number) => Foldback;
|
|
14
14
|
export declare class Foldback extends AProc<number, number> {
|
|
15
15
|
protected _thresh: number;
|
|
16
16
|
protected _amp: number;
|
package/impulse-train.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ import { AGen } from "./agen.js";
|
|
|
6
6
|
* @param period -
|
|
7
7
|
* @param start -
|
|
8
8
|
*/
|
|
9
|
-
export declare const impulseTrain: (period: number, start?: number
|
|
10
|
-
export declare const impulseTrainT: <T>(on: T, off: T, period: number, start?: number
|
|
11
|
-
export declare const impulseTrainB: (period: number, start?: number
|
|
9
|
+
export declare const impulseTrain: (period: number, start?: number) => ImpulseTrain<number>;
|
|
10
|
+
export declare const impulseTrainT: <T>(on: T, off: T, period: number, start?: number) => ImpulseTrain<T>;
|
|
11
|
+
export declare const impulseTrainB: (period: number, start?: number) => ImpulseTrain<boolean>;
|
|
12
12
|
export declare class ImpulseTrain<T> extends AGen<T> implements IReset {
|
|
13
13
|
protected _on: T;
|
|
14
14
|
protected _off: T;
|
package/integrator.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { AProc } from "./aproc.js";
|
|
|
7
7
|
*
|
|
8
8
|
* @param coeff - leak (default: 1)
|
|
9
9
|
*/
|
|
10
|
-
export declare const integrator: (coeff?: number
|
|
10
|
+
export declare const integrator: (coeff?: number, start?: number) => Integrator;
|
|
11
11
|
export declare class Integrator extends AProc<number, number> implements IReset {
|
|
12
12
|
protected _coeff: number;
|
|
13
13
|
protected _start: number;
|
package/madd.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { AGen } from "./agen.js";
|
|
|
10
10
|
* @param offset - default 0
|
|
11
11
|
* @param clamp - optional final value
|
|
12
12
|
*/
|
|
13
|
-
export declare const madd: (factor?: number
|
|
13
|
+
export declare const madd: (factor?: number, start?: number, offset?: number, clamp?: number) => MAdd;
|
|
14
14
|
export declare class MAdd extends AGen<number> implements IReset {
|
|
15
15
|
protected _factor: number;
|
|
16
16
|
protected _start: number;
|
package/mul.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { AGen } from "./agen.js";
|
|
|
10
10
|
* @param start -
|
|
11
11
|
* @param clamp -
|
|
12
12
|
*/
|
|
13
|
-
export declare const mul: (factor?: number
|
|
13
|
+
export declare const mul: (factor?: number, start?: number, clamp?: number) => Mul;
|
|
14
14
|
export declare class Mul extends AGen<number> implements IReset {
|
|
15
15
|
protected _factor: number;
|
|
16
16
|
protected _start: number;
|
package/osc.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ import type { IGen, StatelessOscillator } from "./api.js";
|
|
|
22
22
|
* @param amp - amplitude
|
|
23
23
|
* @param dc - DC offset / center value
|
|
24
24
|
*/
|
|
25
|
-
export declare const osc: (osc: StatelessOscillator, freq: IGen<number> | number, amp?:
|
|
25
|
+
export declare const osc: (osc: StatelessOscillator, freq: IGen<number> | number, amp?: IGen<number> | number, dc?: number, phase?: number) => Osc;
|
|
26
26
|
/**
|
|
27
27
|
* Syntax sugar for creating frequency modulated `Osc` gens.
|
|
28
28
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thi.ng/dsp",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.3",
|
|
4
4
|
"description": "Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./index.js",
|
|
@@ -34,20 +34,20 @@
|
|
|
34
34
|
"test": "testament test"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@thi.ng/api": "^8.3.
|
|
38
|
-
"@thi.ng/checks": "^3.
|
|
39
|
-
"@thi.ng/errors": "^2.1.
|
|
40
|
-
"@thi.ng/math": "^5.3.
|
|
41
|
-
"@thi.ng/random": "^3.3.
|
|
42
|
-
"@thi.ng/transducers": "^8.3.
|
|
37
|
+
"@thi.ng/api": "^8.3.7",
|
|
38
|
+
"@thi.ng/checks": "^3.2.0",
|
|
39
|
+
"@thi.ng/errors": "^2.1.7",
|
|
40
|
+
"@thi.ng/math": "^5.3.3",
|
|
41
|
+
"@thi.ng/random": "^3.3.1",
|
|
42
|
+
"@thi.ng/transducers": "^8.3.4"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@microsoft/api-extractor": "^7.
|
|
46
|
-
"@thi.ng/testament": "^0.2.
|
|
45
|
+
"@microsoft/api-extractor": "^7.25.0",
|
|
46
|
+
"@thi.ng/testament": "^0.2.8",
|
|
47
47
|
"rimraf": "^3.0.2",
|
|
48
48
|
"tools": "^0.0.1",
|
|
49
|
-
"typedoc": "^0.22.
|
|
50
|
-
"typescript": "^4.
|
|
49
|
+
"typedoc": "^0.22.17",
|
|
50
|
+
"typescript": "^4.7.3"
|
|
51
51
|
},
|
|
52
52
|
"keywords": [
|
|
53
53
|
"allpass",
|
|
@@ -272,5 +272,5 @@
|
|
|
272
272
|
],
|
|
273
273
|
"year": 2015
|
|
274
274
|
},
|
|
275
|
-
"gitHead": "
|
|
275
|
+
"gitHead": "9e516d30a1a537e027a6b3d78bf9121bc5831d31\n"
|
|
276
276
|
}
|
package/pink-noise.d.ts
CHANGED
|
@@ -26,7 +26,7 @@ declare type PNoiseCoeffs = Tuple<number, 5>;
|
|
|
26
26
|
* @param amp -
|
|
27
27
|
* @param prob -
|
|
28
28
|
*/
|
|
29
|
-
export declare const pinkNoise: (gain?: number
|
|
29
|
+
export declare const pinkNoise: (gain?: number, rnd?: IRandom, amp?: PNoiseCoeffs, prob?: PNoiseCoeffs) => PinkNoise;
|
|
30
30
|
export declare class PinkNoise extends AGen<number> implements IReset {
|
|
31
31
|
protected _gain: number;
|
|
32
32
|
protected _rnd: IRandom;
|
package/reciprocal.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { AGen } from "./agen.js";
|
|
|
5
5
|
*
|
|
6
6
|
* @param step -
|
|
7
7
|
*/
|
|
8
|
-
export declare const reciprocal: (step?: number
|
|
8
|
+
export declare const reciprocal: (step?: number) => Reciprocal;
|
|
9
9
|
export declare class Reciprocal extends AGen<number> implements IReset {
|
|
10
10
|
protected _step: number;
|
|
11
11
|
protected _n: number;
|
package/svf.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { IReset } from "@thi.ng/api";
|
|
2
2
|
import type { SVFType } from "./api.js";
|
|
3
3
|
import { AProc } from "./aproc.js";
|
|
4
|
-
export declare const svfLP: (fc: number, q?: number
|
|
5
|
-
export declare const svfHP: (fc: number, q?: number
|
|
6
|
-
export declare const svfBP: (fc: number, q?: number
|
|
7
|
-
export declare const svfNotch: (fc: number, q?: number
|
|
8
|
-
export declare const svfPeak: (fc: number, q?: number
|
|
9
|
-
export declare const svfAllpass: (fc: number, q?: number
|
|
4
|
+
export declare const svfLP: (fc: number, q?: number) => SVF;
|
|
5
|
+
export declare const svfHP: (fc: number, q?: number) => SVF;
|
|
6
|
+
export declare const svfBP: (fc: number, q?: number) => SVF;
|
|
7
|
+
export declare const svfNotch: (fc: number, q?: number) => SVF;
|
|
8
|
+
export declare const svfPeak: (fc: number, q?: number) => SVF;
|
|
9
|
+
export declare const svfAllpass: (fc: number, q?: number) => SVF;
|
|
10
10
|
/**
|
|
11
11
|
* Multi-type state variable filter w/ trapezoidal integration, after
|
|
12
12
|
* Andrew Simper.
|
package/sweep.d.ts
CHANGED
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
* @param rate -
|
|
25
25
|
* @param clamp - true, if clamp at `end` value
|
|
26
26
|
*/
|
|
27
|
-
export declare const sweep: (start: number, end: number, steps: number, rate?: number
|
|
27
|
+
export declare const sweep: (start: number, end: number, steps: number, rate?: number, clamp?: boolean) => import("./api.js").IGen<number>;
|
|
28
28
|
//# sourceMappingURL=sweep.d.ts.map
|
package/waveshaper.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare type WaveShaperFn = Fn2<number, number, number>;
|
|
|
25
25
|
* @param thresh - fold threshold
|
|
26
26
|
* @param amp - post amplifier / autogain flag
|
|
27
27
|
*/
|
|
28
|
-
export declare const waveShaper: (thresh?: number
|
|
28
|
+
export declare const waveShaper: (thresh?: number, amp?: number | true, map?: WaveShaperFn) => WaveShaper;
|
|
29
29
|
export declare class WaveShaper extends AProc<number, number> {
|
|
30
30
|
protected _coeff: number;
|
|
31
31
|
protected _map: WaveShaperFn;
|
package/white-noise.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { AGen } from "./agen.js";
|
|
|
8
8
|
* @param gain -
|
|
9
9
|
* @param rnd -
|
|
10
10
|
*/
|
|
11
|
-
export declare const whiteNoise: (gain?: number
|
|
11
|
+
export declare const whiteNoise: (gain?: number, rnd?: IRandom) => WhiteNoise;
|
|
12
12
|
export declare class WhiteNoise extends AGen<number> implements IReset {
|
|
13
13
|
protected _gain: number;
|
|
14
14
|
protected _rnd: IRandom;
|