@cod3gen/audiofilters
Version:
Audio filter design utilities (biquad PEQ/shelves, crossover families, RIAA) for Node.js
25 lines (23 loc) • 1.78 kB
TypeScript
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