audio-inspect
Version:
Lightweight yet powerful audio analysis library
44 lines (41 loc) • 1.14 kB
TypeScript
interface AudioData {
sampleRate: number;
channelData: Float32Array[];
duration: number;
numberOfChannels: number;
length: number;
}
type ChannelSelector = 'mix' | number | 'all' | readonly number[];
interface VADOptions {
channel?: ChannelSelector;
frameSizeMs?: number;
hopSizeMs?: number;
method?: 'energy' | 'zcr' | 'combined' | 'adaptive';
energyThreshold?: number;
zcrThresholdLow?: number;
zcrThresholdHigh?: number;
adaptiveAlpha?: number;
noiseFactor?: number;
minSilenceDurationMs?: number;
minSpeechDurationMs?: number;
preEmphasis?: boolean;
smoothing?: boolean;
}
interface VADSegment {
start: number;
end: number;
type: 'speech' | 'silence';
confidence?: number;
}
interface VADResult {
segments: VADSegment[];
speechRatio: number;
features?: {
energies: Float32Array;
zcrs: Float32Array;
decisions: Float32Array;
times: Float32Array;
};
}
declare function getVAD(audio: AudioData, options?: VADOptions): VADResult;
export { type VADOptions, type VADResult, type VADSegment, getVAD };