import { MidSideEffect, MidSideEffectOptions } from "../effect/MidSideEffect.js"; import { Signal } from "../signal/Signal.js"; import { NormalRange } from "../core/type/Units.js"; export interface StereoWidenerOptions extends MidSideEffectOptions { width: NormalRange; } /** * Applies a width factor to the mid/side seperation. * 0 is all mid and 1 is all side. * Algorithm found in [kvraudio forums](http://www.kvraudio.com/forum/viewtopic.php?t=212587). * ``` * Mid *= 2*(1-width)
* Side *= 2*width * ``` * @category Effect */ export declare class StereoWidener extends MidSideEffect { readonly name: string; /** * The width control. 0 = 100% mid. 1 = 100% side. 0.5 = no change. */ readonly width: Signal<"normalRange">; /** * Two times the (1-width) for the mid channel */ private _twoTimesWidthMid; /** * Two times the width for the side channel */ private _twoTimesWidthSide; /** * Mid multiplier */ private _midMult; /** * 1 - width */ private _oneMinusWidth; /** * Side multiplier */ private _sideMult; /** * @param width The stereo width. A width of 0 is mono and 1 is stereo. 0.5 is no change. */ constructor(width?: NormalRange); constructor(options?: Partial); static getDefaults(): StereoWidenerOptions; dispose(): this; }