UNPKG

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