import { EagleModel, EagleOptions, EagleProfile } from './types'; export declare class EagleWorker { private readonly _worker; private readonly _minProcessSamples; private readonly _sampleRate; private readonly _version; private static _wasmSimd; private static _wasmSimdLib; private static _wasmPThread; private static _wasmPThreadLib; private static _sdk; private constructor(); /** * Number of audio samples per frame expected by Eagle (i.e. length of the array passed into `.process()`) */ get minProcessSamples(): number; /** * Audio sample rate required by Eagle. */ get sampleRate(): number; /** * Version of Eagle. */ get version(): string; /** * Set base64 wasm file with SIMD feature. * @param wasmSimd Base64'd wasm SIMD file to use to initialize wasm. */ static setWasmSimd(wasmSimd: string): void; /** * Set base64 wasm file with SIMD feature in text format. * @param wasmSimdLib Base64'd wasm SIMD file in text format. */ static setWasmSimdLib(wasmSimdLib: string): void; /** * Set base64 wasm file with SIMD and pthread feature. * @param wasmPThread Base64'd wasm file to use to initialize wasm. */ static setWasmPThread(wasmPThread: string): void; /** * Set base64 SIMD and thread wasm file in text format. * @param wasmPThreadLib Base64'd wasm file in text format. */ static setWasmPThreadLib(wasmPThreadLib: string): void; static setSdk(sdk: string): void; /** * Creates an instance of the Picovoice Eagle Speaker Recognition Engine. * * @param accessKey AccessKey obtained from Picovoice Console (https://console.picovoice.ai/) * @param model Eagle model options. * @param model.base64 The model in base64 string to initialize Eagle. * @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 `eagle` 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.device String representation of the device (e.g., CPU or GPU) to use. If set to `best`, the most * suitable device is selected automatically. If set to `gpu`, the engine uses the first available GPU device. To select a specific * GPU device, set this argument to `gpu:${GPU_INDEX}`, where `${GPU_INDEX}` is the index of the target GPU. If set to * `cpu`, the engine will run on the CPU with the default number of threads. To specify the number of threads, set this * argument to `cpu:${NUM_THREADS}`, where `${NUM_THREADS}` is the desired number of threads. * @param options.voiceThreshold Sensitivity threshold for detecting voice. * * @return An instance of the Eagle engine. */ static create(accessKey: string, model: EagleModel, options?: EagleOptions): Promise; /** * Processes a frame of audio and returns a list of similarity scores for each speaker profile. * * @param pcm A frame of audio samples. The number of samples per frame can be attained by calling * `.frameLength`. The incoming audio needs to have a sample rate equal to `.sampleRate` and be 16-bit * linearly-encoded. Eagle operates on single-channel audio. * @param speakerProfiles One or more Eagle speaker profiles. These can be constructed using `EagleProfiler`. * * @return A list of similarity scores for each speaker profile. A higher score indicates that the voice * belongs to the corresponding speaker. The range is [0, 1] with 1.0 representing a perfect match. */ process(pcm: Int16Array, speakerProfiles: EagleProfile[] | EagleProfile): Promise; /** * Releases resources acquired by Eagle */ release(): Promise; /** * Terminates the active worker. Stops all requests being handled by worker. */ terminate(): void; } //# sourceMappingURL=eagle_worker.d.ts.map