echogarden
Version:
An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.
54 lines (53 loc) • 4.22 kB
TypeScript
import { SampleFormat, BitDepth } from '@echogarden/wave-codec';
import { Timeline } from '../utilities/Timeline.js';
export declare function encodeRawAudioToWave(rawAudio: RawAudio, bitDepth?: BitDepth, sampleFormat?: SampleFormat, speakerPositionMask?: number): Uint8Array<ArrayBufferLike>;
export declare function decodeWaveToRawAudio(waveFileBuffer: Uint8Array, ignoreTruncatedChunks?: boolean, ignoreOverflowingDataChunks?: boolean): {
rawAudio: import("@echogarden/wave-codec").RawAudio;
};
export declare function trimAudioStart(audioSamples: Float32Array, targetStartSilentSampleCount?: number, amplitudeThresholdDecibels?: number): Float32Array<ArrayBufferLike>;
export declare function trimAudioEnd(audioSamples: Float32Array, targetEndSilentSampleCount?: number, amplitudeThresholdDecibels?: number): Float32Array<ArrayBufferLike>;
export declare function getStartingSilentSampleCount(audioSamples: Float32Array, amplitudeThresholdDecibels?: number): number;
export declare function getEndingSilentSampleCount(audioSamples: Float32Array, amplitudeThresholdDecibels?: number): number;
export declare function downmixToMonoAndNormalize(rawAudio: RawAudio, targetPeakDecibels?: number): RawAudio;
export declare function attenuateIfClippingInPlace(rawAudio: RawAudio, clippingThreshold?: number): void;
export declare function normalizeAudioLevel(rawAudio: RawAudio, targetPeakDecibels?: number, maxGainIncreaseDecibels?: number): RawAudio;
export declare function normalizeAudioLevelInPlace(rawAudio: RawAudio, targetPeakDecibels?: number, maxGainIncreaseDecibels?: number): void;
export declare function correctDCBiasInPlace(rawAudio: RawAudio): void;
export declare function applyGainDecibels(rawAudio: RawAudio, gainDecibels: number): RawAudio;
export declare function applyGainDecibelsInPlace(rawAudio: RawAudio, gainDecibels: number): void;
export declare function applyGainFactorInPlace(rawAudio: RawAudio, gainFactor: number): void;
export declare function downmixToMono(rawAudio: RawAudio): RawAudio;
export declare function getSamplePeakDecibels(audioChannels: Float32Array[]): number;
export declare function getSamplePeakAmplitude(audioChannels: Float32Array[]): number;
export declare function mixAudio(rawAudio1: RawAudio, rawAudio2: RawAudio): RawAudio;
export declare function sliceRawAudioByTime(rawAudio: RawAudio, startTime: number, endTime: number): RawAudio;
export declare function sliceRawAudio(rawAudio: RawAudio, startSampleIndex: number, endSampleIndex: number): RawAudio;
export declare function sliceAudioChannels(audioChannels: Float32Array[], startSampleIndex: number, endSampleIndex: number): Float32Array<ArrayBufferLike>[];
export declare function concatAudioSegments(audioSegments: Float32Array[][]): Float32Array<ArrayBufferLike>[];
export declare function cropToTimeline(rawAudio: RawAudio, timeline: Timeline): RawAudio;
export declare function fadeAudioInOut(rawAudio: RawAudio, fadeTime: number): RawAudio;
export declare function cloneRawAudio(rawAudio: RawAudio): RawAudio;
export declare function getSilentAudio(sampleCount: number, channelCount: number): Float32Array<ArrayBufferLike>[];
export declare function getEmptyRawAudio(channelCount: number, sampleRate: number): RawAudio;
export declare function getRawAudioDuration(rawAudio: RawAudio): number;
export declare function ensureRawAudio(input: AudioSourceParam, outSampleRate?: number, outChannelCount?: number): Promise<RawAudio>;
export declare function subtractAudio(audio1: RawAudio, audio2: RawAudio): RawAudio;
export declare function isRawAudio(obj: any): obj is RawAudio;
export declare function gainFactorToDecibels(gainFactor: number): number;
export declare function decibelsToGainFactor(decibels: number): number;
export declare function powerToDecibels(power: number): number;
export declare function decibelsToPower(decibels: number): number;
export type RawAudio = {
audioChannels: Float32Array[];
sampleRate: number;
};
export type AudioEncoding = {
codec?: string;
format: string;
channelCount: number;
sampleRate: number;
bitdepth: number;
sampleFormat: SampleFormat;
bitrate?: number;
};
export type AudioSourceParam = string | Uint8Array | RawAudio;