@promptbook/openai
Version:
Promptbook: Turn your company's scattered knowledge into AI ready books
36 lines (35 loc) • 1.24 kB
TypeScript
import type { SpeechRecognition, SpeechRecognitionEvent, SpeechRecognitionStartOptions, SpeechRecognitionState } from '../types/SpeechRecognition';
/**
* Options for OpenAiSpeechRecognition
*/
export type OpenAiSpeechRecognitionOptions = {
/**
* OpenAI API base URL or proxy endpoint
* @default '/api/openai/v1'
*/
readonly baseUrl?: string;
};
/**
* Speech recognition using OpenAI Whisper API to transcribe audio into text
*
* @private because it requires server-client communication with a proxy endpoint
*
* Note: This implementation uses a server-side proxy to avoid exposing the OpenAI API key on the client.
*/
export declare class OpenAiSpeechRecognition implements SpeechRecognition {
private readonly options;
private mediaRecorder;
private audioContext;
private analyser;
private silenceTimeout;
private audioChunks;
private callbacks;
private _state;
get state(): SpeechRecognitionState;
constructor(options?: OpenAiSpeechRecognitionOptions);
$start(options?: SpeechRecognitionStartOptions): Promise<void>;
$stop(): void;
private transcribe;
subscribe(callback: (event: SpeechRecognitionEvent) => void): () => void;
private emit;
}