UNPKG

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.

71 lines 2.36 kB
export declare type SampleRate = 8000 | 16000 | 24000 | 32000 | 48000 | 96000 | 192000 | 384000 | 11025 | 22050 | 44100 | 88200 | 176400 | 352800; export default class AudioResampler { /** * Initialize a AudioResampler instance so that configurations need not to be applied before every chunk. * * @param {SampleRate} oldSampleRate Input sample rate for the audio buffer * @param {SampleRate} newSampleRate Target sample rate for the audio buffer * @param {boolean} liveAudio Set whether the audio is live (multiple sequential chunks) or a single audio buffer. * @param {boolean} antiAlias Set whether to enable or disable Anti-aliasing filters. Recommended for downsampling, disabled by default for upsampling. * @returns {AudioResampler} */ constructor(oldSampleRate: SampleRate, newSampleRate: SampleRate, liveAudio: boolean, antiAlias?: boolean); oldSampleRate: SampleRate; newSampleRate: SampleRate; antiAlias: boolean; decimationFactor: number; liveAudio: boolean; isFirstFrame: boolean; filterBuffer: Float32Array; /** * Lanczos resampling * https://en.wikipedia.org/wiki/Lanczos_resampling * * @private * @param {number} a * @param {number} t * @returns {number} */ private lanczosWindow; /** * Downsampling with Anti-Aliasing * * @private * @param {Float32Array} buffer * @returns {Float32Array} */ private antiAliasDownsample; /** * Upsampling * * @private * @param {Float32Array} buffer * @returns {Float32Array} */ private upsample; /** * Downsampling without Anti-Aliasing * * @private * @param {Float32Array} buffer * @returns {Float32Array} */ private downsample; /** * Resampling with applied config. * Determines whether to downsample or upsample using `oldSampleRate` and `newSampleRate` values. * @public * @param {Float32Array} buffer * @returns {Float32Array} */ resample: (buffer: Float32Array) => Float32Array; /** * Encodes audio buffers as WAVE Format. * * @public * @param {Float32Array} buffer * @returns {DataView} */ encodeAsWav: (buffer: Float32Array) => DataView; } //# sourceMappingURL=SpeechAudioResampler.d.ts.map