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
TypeScript
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