UNPKG

@cod3gen/audiofilters

Version:

Audio filter design utilities (biquad PEQ/shelves, crossover families, RIAA) for Node.js

25 lines (23 loc) 1.78 kB
export interface BiquadCoefficients { a0: number; a1: number; a2: number; b0: number; b1: number; b2: number } export type StagedCoefficients = Record<number, BiquadCoefficients> export declare const FilterDesigns: Record<string, { id: number; family: string; order: number; slopeDbPerOct: number; sections: number; kind: string; aliases: string[]; stageQ?: number[] }> export declare const filterDesign: Record<string, number> export declare const filterLength: Record<string, number> export declare const bqFilterDesign: Record<string, number> export declare class AudioFilters { constructor() defaultCoefficients(): BiquadCoefficients designMap(): Record<string, number> filtersRequiredForDesign(design: string | number): number getLengthForDesign(design: number): number getDesignInfo(identifier: string | number): null | ({ key: string } & (typeof FilterDesigns)[string]) makeParametricEQ(gain: number, fc: number, Q: number, fs: number, design: number, bypass?: boolean): BiquadCoefficients makeLowShelv(gain: number, fc: number, Q: number, fs: number, bypass?: boolean): BiquadCoefficients makeHighShelv(gain: number, fc: number, Q: number, fs: number, bypass?: boolean): BiquadCoefficients makeAllpass(fc: number, Q: number, fs: number, inv?: boolean, bypass?: boolean): BiquadCoefficients makeHighPass(design: number, fc: number, fs: number, bypass?: boolean): StagedCoefficients makeLowPass(design: number, fc: number, fs: number, bypass?: boolean): StagedCoefficients makeRIAAEqualization(opts?: { inverse_riaa?: boolean; dc_block?: boolean; dc_cutoff_freq?: number; sample_rate?: number; input_gain?: number; filter_gain?: number; output_gain?: number }): any generateCoeff(alias: string, data?: any): any } export default AudioFilters