@picovoice/koala-web
Version:
Koala Noise Suppression engine for web browsers (via WebAssembly)
91 lines • 3.9 kB
TypeScript
import { KoalaModel, KoalaOptions } from './types';
export declare class KoalaWorker {
private readonly _worker;
private readonly _version;
private readonly _frameLength;
private readonly _sampleRate;
private readonly _delaySample;
private static _sdk;
private static _wasm;
private static _wasmSimd;
private constructor();
/**
* Delay in samples. If the input and output of consecutive calls to `.process()` are viewed as two contiguous
* streams of audio data, this delay specifies the time shift between the input and output stream.
*/
get delaySample(): number;
/**
* Get Koala engine version.
*/
get version(): string;
/**
* Get Koala frame length.
*/
get frameLength(): number;
/**
* Get sample rate.
*/
get sampleRate(): number;
/**
* Get Koala worker instance.
*/
get worker(): Worker;
/**
* Set base64 wasm file.
* @param wasm Base64'd wasm file to use to initialize wasm.
*/
static setWasm(wasm: string): void;
/**
* Set base64 wasm file with SIMD feature.
* @param wasmSimd Base64'd wasm file to use to initialize wasm.
*/
static setWasmSimd(wasmSimd: string): void;
static setSdk(sdk: string): void;
/**
* Creates an instance of the Picovoice Koala Noise Suppression Engine.
* Behind the scenes, it requires the WebAssembly code to load and initialize before
* it can create an instance.
*
* @param accessKey AccessKey obtained from Picovoice Console (https://console.picovoice.ai/)
* @param processCallback User-defined callback to run after receiving enhanced pcm result.
* The output is not directly the enhanced version of the input PCM, but corresponds to samples that were given in
* previous calls to `.process()`. The delay in samples between the start time of the input frame and the start
* time of the output frame can be attained from `.delaySample`.
* @param model Koala model options.
* @param model.base64 The model in base64 string to initialize Koala.
* @param model.publicPath The model path relative to the public directory.
* @param model.customWritePath Custom path to save the model in storage.
* Set to a different name to use multiple models across `koala` instances.
* @param model.forceWrite Flag to overwrite the model in storage even if it exists.
* @param model.version Version of the model file. Increment to update the model file in storage.
* @param options Optional configuration arguments.
* @param options.processErrorCallback User-defined callback invoked if any error happens
* while processing the audio stream. Its only input argument is the error message.
*
* @returns An instance of the Koala engine.
*/
static create(accessKey: string, processCallback: (enhancedPcm: Int16Array) => void, model: KoalaModel, options?: KoalaOptions): Promise<KoalaWorker>;
/**
* Processes a frame of audio in a worker.
* The result will be supplied with the callback provided when initializing the worker either
* by 'fromBase64' or 'fromPublicDirectory'.
* Can also send a message directly using 'this.worker.postMessage({command: "process", pcm: [...]})'.
*
* @param pcm A frame of audio sample.
*/
process(pcm: Int16Array): void;
/**
* Resets Koala into a state as if it had just been newly created.
* Call this function in between calls to `process` that do not provide consecutive frames of audio.
*/
reset(): Promise<void>;
/**
* Releases resources acquired by WebAssembly module.
*/
release(): Promise<void>;
/**
* Terminates the active worker. Stops all requests being handled by worker.
*/
terminate(): void;
}
//# sourceMappingURL=koala_worker.d.ts.map