1 | import { Effect, EffectOptions } from "./Effect.js";
|
2 | import { Positive } from "../core/type/Units.js";
|
3 | export interface ChebyshevOptions extends EffectOptions {
|
4 | order: Positive;
|
5 | oversample: OverSampleType;
|
6 | }
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | export declare class Chebyshev extends Effect<ChebyshevOptions> {
|
22 | readonly name: string;
|
23 | |
24 |
|
25 |
|
26 | private _shaper;
|
27 | |
28 |
|
29 |
|
30 | private _order;
|
31 | |
32 |
|
33 |
|
34 | constructor(order?: Positive);
|
35 | constructor(options?: Partial<ChebyshevOptions>);
|
36 | static getDefaults(): ChebyshevOptions;
|
37 | /**
|
38 | * get the coefficient for that degree
|
39 | * @param x the x value
|
40 | * @param degree
|
41 | * @param memo memoize the computed value. this speeds up computation greatly.
|
42 | */
|
43 | private _getCoefficient;
|
44 | /**
|
45 | * The order of the Chebyshev polynomial which creates the equation which is applied to the incoming
|
46 | * signal through a Tone.WaveShaper. Must be an integer. The equations are in the form:
|
47 | * ```
|
48 | * order 2: 2x^2 + 1
|
49 | * order 3: 4x^3 + 3x
|
50 | * ```
|
51 | * @min 1
|
52 | * @max 100
|
53 | */
|
54 | get order(): Positive;
|
55 | set order(order: Positive);
|
56 | /**
|
57 | * The oversampling of the effect. Can either be "none", "2x" or "4x".
|
58 | */
|
59 | get oversample(): OverSampleType;
|
60 | set oversample(oversampling: OverSampleType);
|
61 | dispose(): this;
|
62 | }
|