sofya.transcription
Version:
a JavaScript library that provides a robust and flexible solution for real-time audio transcription. It is designed to transcribe audio streams and can be easily integrated into web applications.
64 lines • 1.93 kB
TypeScript
import AudioResampler from "../speech-audio-resampler";
declare global {
interface Window {
webkitAudioContext: any;
mozAudioContext: any;
webkitMediaStream: any;
process: any;
}
interface Navigator {
msSaveOrOpenBlob: any;
msSaveBlob: any;
}
}
export interface AudioStreamConfig {
sampleRate: number;
mimeType: string;
bitRate: number;
bufferSize: 0 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384;
callBack?: Function;
}
export declare type AudioWorker = {
worker: Worker;
workerURL: string;
};
export declare type AudioStreamState = "PAUSED" | "RECORDING" | "INACTIVE" | "STOPPED" | "DESTROYED";
export default class AudioStreamer {
constructor(mediaStream: MediaStream, config: AudioStreamConfig);
mediaStream: MediaStream;
config: AudioStreamConfig;
state: AudioStreamState;
blob: Blob;
audioNode: ScriptProcessorNode;
audioInput: MediaStreamAudioSourceNode;
audioProcessStatus: boolean;
audioContext: AudioContext;
audioResampler: AudioResampler;
timeSlicedAudioBuffer: {
bufferArray: Array<Float32Array>;
length: number;
};
completeAudioBuffer: {
bufferArray: Array<Float32Array>;
length: number;
};
onAudioDataAvailable: (e: AudioProcessingEvent) => void;
private callBack;
private processAudioBuffers;
private enableCompatibility;
private setState;
private initiateAudioWithSampleRate;
private initiateAudio;
private isMediaStreamActive;
private reset;
private getTracks;
startRecording: () => boolean;
pauseRecording: () => void;
resumeRecording: () => void;
stopRecording: (callback: Function) => void;
destroy: () => void;
getBlob: () => Blob;
getURL: () => string | undefined;
getState: () => AudioStreamState;
}
//# sourceMappingURL=speech-audio-streamer.d.ts.map