murmuraba
Version:
Real-time audio noise reduction with advanced chunked processing for web applications
33 lines • 1.21 kB
TypeScript
import { ProcessingMetrics, ChunkMetrics } from '../types';
import { EventEmitter } from '../core/event-emitter';
interface MetricsEvents {
'metrics-update': (metrics: ProcessingMetrics) => void;
'chunk-processed': (chunk: ChunkMetrics) => void;
[key: string]: (...args: any[]) => void;
}
export declare class MetricsManager extends EventEmitter<MetricsEvents> {
private metrics;
private updateInterval?;
private frameTimestamps;
private maxFrameHistory;
private vadHistory;
private currentVAD;
startAutoUpdate(intervalMs?: number): void;
stopAutoUpdate(): void;
updateInputLevel(level: number): void;
updateOutputLevel(level: number): void;
updateNoiseReduction(level: number): void;
updateVAD(vadLevel: number): void;
recordFrame(timestamp?: number): void;
recordDroppedFrame(): void;
recordChunk(chunk: ChunkMetrics): void;
private calculateLatency;
getMetrics(): ProcessingMetrics;
reset(): void;
calculateRMS(samples: Float32Array): number;
calculatePeak(samples: Float32Array): number;
getAverageVAD(): number;
getVoiceActivityPercentage(): number;
}
export {};
//# sourceMappingURL=metrics-manager.d.ts.map