UNPKG

murmuraba

Version:

Real-time audio noise reduction with advanced chunked processing for web applications

58 lines 1.68 kB
/** * Centralized Gain Control Utilities * Eliminates code duplication and provides consistent gain management */ export interface GainConfig { min: number; max: number; default: number; step: number; } export declare const DEFAULT_GAIN_CONFIG: GainConfig; export declare const GAIN_PRESETS: { readonly LOW: 0.7; readonly NORMAL: 1; readonly HIGH: 1.5; readonly BOOST: 2; }; /** * Validates and clamps gain value within acceptable range */ export declare function validateGain(gain: number, config?: GainConfig): number; /** * Converts gain value to decibels for UI display */ export declare function gainToDb(gain: number): number; /** * Converts decibels to gain value */ export declare function dbToGain(db: number): number; /** * Gets gain preset by name */ export declare function getGainPreset(preset: keyof typeof GAIN_PRESETS): number; /** * Gets descriptive text for gain level */ export declare function getGainDescription(gain: number): string; /** * Advanced Gain Controller Class * Encapsulates gain control logic with validation and events */ export declare class GainController { private _currentGain; private readonly config; private listeners; constructor(initialGain?: number, config?: GainConfig); get currentGain(): number; setGain(gain: number): boolean; incrementGain(): number; decrementGain(): number; applyPreset(preset: keyof typeof GAIN_PRESETS): void; getDescription(): string; getDbValue(): number; onGainChange(callback: (gain: number) => void): () => void; private notifyListeners; destroy(): void; } //# sourceMappingURL=gain-control.d.ts.map