1 | import { StereoEffect, StereoEffectOptions } from "./StereoEffect.js";
|
2 | import { Frequency, NormalRange } from "../core/type/Units.js";
|
3 | import { Signal } from "../signal/Signal.js";
|
4 | export interface FreeverbOptions extends StereoEffectOptions {
|
5 | dampening: Frequency;
|
6 | roomSize: NormalRange;
|
7 | }
|
8 | /**
|
9 | * Freeverb is a reverb based on [Freeverb](https://ccrma.stanford.edu/~jos/pasp/Freeverb.html).
|
10 | * Read more on reverb on [Sound On Sound](https://web.archive.org/web/20160404083902/http://www.soundonsound.com:80/sos/feb01/articles/synthsecrets.asp).
|
11 | * Freeverb is now implemented with an AudioWorkletNode which may result on performance degradation on some platforms. Consider using {@link Reverb}.
|
12 | * @example
|
13 | * const freeverb = new Tone.Freeverb().toDestination();
|
14 | * freeverb.dampening = 1000;
|
15 | * // routing synth through the reverb
|
16 | * const synth = new Tone.NoiseSynth().connect(freeverb);
|
17 | * synth.triggerAttackRelease(0.05);
|
18 | * @category Effect
|
19 | */
|
20 | export declare class Freeverb extends StereoEffect<FreeverbOptions> {
|
21 | readonly name: string;
|
22 | /**
|
23 | * The roomSize value between 0 and 1. A larger roomSize will result in a longer decay.
|
24 | */
|
25 | readonly roomSize: Signal<"normalRange">;
|
26 | /**
|
27 | * the comb filters
|
28 | */
|
29 | private _combFilters;
|
30 | /**
|
31 | * the allpass filters on the left
|
32 | */
|
33 | private _allpassFiltersL;
|
34 | /**
|
35 | * the allpass filters on the right
|
36 | */
|
37 | private _allpassFiltersR;
|
38 | /**
|
39 | * @param roomSize Correlated to the decay time.
|
40 | * @param dampening The cutoff frequency of a lowpass filter as part of the reverb.
|
41 | */
|
42 | constructor(roomSize?: NormalRange, dampening?: Frequency);
|
43 | constructor(options?: Partial<FreeverbOptions>);
|
44 | static getDefaults(): FreeverbOptions;
|
45 | /**
|
46 | * The amount of dampening of the reverberant signal.
|
47 | */
|
48 | get dampening(): Frequency;
|
49 | set dampening(d: Frequency);
|
50 | dispose(): this;
|
51 | }
|