UNPKG

@speechly/browser-client

Version:

JavaScript client for Speechly Streaming API

51 lines (50 loc) 2.09 kB
import { AudioProcessorParameters, ContextOptions, StreamOptions, VadOptions } from '../client'; /** * Web worker to handle streaming audio to cloud and receiving speech processing results. * Also handles audio processing like maintaining history ringbuffer and running the VAD * @internal */ declare class WebsocketClient { private readonly workerCtx; private targetSampleRate; private isContextStarted; private audioContextStartTimes; private websocket?; private audioProcessor?; private controlSAB?; private dataSAB?; private immediateMode; private readonly frameMillis; private readonly outputAudioFrame; private debug; private defaultContextOptions?; constructor(ctx: Worker); connect(apiUrl: string, authToken: string, targetSampleRate: number, debug: boolean): void; initAudioProcessor(sourceSampleRate: number, frameMillis: number, historyFrames: number, vadOptions?: VadOptions): void; /** * Control audio processor parameters * @param ap - Audio processor parameters to adjust */ adjustAudioProcessor(ap: AudioProcessorParameters): void; setSharedArrayBuffers(controlSAB: number, dataSAB: number): void; startStream(streamOptions: StreamOptions): void; stopStream(): void; /** * Processes and sends audio * @param audioChunk - audio data to process */ processAudio(audioChunk: Float32Array): void; processAudioSAB(): void; startContext(contextOptions?: ContextOptions): void; stopContext(): void; switchContext(contextOptions?: ContextOptions): void; closeWebsocket(code?: number, reason?: string, wasClean?: boolean, userInitiated?: boolean): void; private readonly onWebsocketClose; private readonly onWebsocketOpen; private readonly onWebsocketError; private readonly onWebsocketMessage; send(data: string | Int16Array): void; setContextOptions(options: ContextOptions): void; } export declare function contextOptionsToMsg(contextOptions?: ContextOptions): Record<string, any>; export default WebsocketClient;