ten-vad-lib
Version:
A JavaScript library for Ten VAD (Voice Activity Detection) based on WebAssembly
47 lines (46 loc) • 1.38 kB
TypeScript
export interface TenVADSpeechData {
audio: Float32Array;
start: number;
end: number;
probability: number;
}
export interface TenVADOptions {
hopSize?: number;
voiceThreshold?: number;
wasmPath?: string;
jsPath?: string;
minSpeechDuration?: number;
maxSilenceDuration?: number;
}
export interface TenVADResult {
speechSegments: TenVADSpeechData[];
statistics: {
totalFrames: number;
voiceFrames: number;
voicePercentage: number;
processingTime: number;
realTimeFactor: number;
};
}
export interface TenVADModule {
HEAP16: Int16Array;
HEAP32: Int32Array;
HEAPF32: Float32Array;
HEAPU8: Uint8Array;
_malloc: (size: number) => number;
_free: (ptr: number) => void;
_ten_vad_create: (handlePtr: number, hopSize: number, threshold: number) => number;
_ten_vad_process: (handle: number, audioPtr: number, frameSize: number, probPtr: number, flagPtr: number) => number;
_ten_vad_destroy: (handlePtr: number) => void;
_ten_vad_get_version: () => number;
UTF8ToString: (ptr: number) => string;
getValue: (ptr: number, type: string) => number;
}
export interface TenVADInstance {
processFrame: (audioData: Int16Array) => Promise<{
probability: number;
isVoice: boolean;
}>;
reset: () => void;
destroy: () => void;
}