UNPKG

1.9 kBTypeScriptView Raw
1import { InputNode, ToneAudioNode, ToneAudioNodeOptions } from "../../core/context/ToneAudioNode.js";
2import { Compressor, CompressorOptions } from "./Compressor.js";
3import { RecursivePartial } from "../../core/util/Interface.js";
4import { Frequency } from "../../core/type/Units.js";
5import { Signal } from "../../signal/Signal.js";
6export interface MultibandCompressorOptions extends ToneAudioNodeOptions {
7 mid: Omit<CompressorOptions, keyof ToneAudioNodeOptions>;
8 low: Omit<CompressorOptions, keyof ToneAudioNodeOptions>;
9 high: Omit<CompressorOptions, keyof ToneAudioNodeOptions>;
10 lowFrequency: Frequency;
11 highFrequency: Frequency;
12}
13/**
14 * A compressor with separate controls over low/mid/high dynamics.
15 * @see {@link Compressor} and {@link MultibandSplit}
16 *
17 * @example
18 * const multiband = new Tone.MultibandCompressor({
19 * lowFrequency: 200,
20 * highFrequency: 1300,
21 * low: {
22 * threshold: -12
23 * }
24 * });
25 * @category Component
26 */
27export declare class MultibandCompressor extends ToneAudioNode<MultibandCompressorOptions> {
28 readonly name: string;
29 readonly input: InputNode;
30 readonly output: ToneAudioNode;
31 /**
32 * Split the incoming signal into high/mid/low
33 */
34 private _splitter;
35 /**
36 * low/mid crossover frequency.
37 */
38 readonly lowFrequency: Signal<"frequency">;
39 /**
40 * mid/high crossover frequency.
41 */
42 readonly highFrequency: Signal<"frequency">;
43 /**
44 * The compressor applied to the low frequencies
45 */
46 readonly low: Compressor;
47 /**
48 * The compressor applied to the mid frequencies
49 */
50 readonly mid: Compressor;
51 /**
52 * The compressor applied to the high frequencies
53 */
54 readonly high: Compressor;
55 constructor(options?: RecursivePartial<MultibandCompressorOptions>);
56 static getDefaults(): MultibandCompressorOptions;
57 dispose(): this;
58}