speechflow
Version:
Speech Processing Flow Graph
24 lines (23 loc) • 1.61 kB
TypeScript
import { AudioContext, AudioWorkletNode } from "node-web-audio-api";
export declare function audioBufferDuration(buffer: Buffer, sampleRate?: number, bitDepth?: number, channels?: number, littleEndian?: boolean): number;
export declare function audioArrayDuration(arr: Float32Array, sampleRate?: number, channels?: number): number;
export declare function convertBufToF32(buf: Buffer, littleEndian?: boolean): Float32Array<ArrayBuffer>;
export declare function convertF32ToBuf(arr: Float32Array): Buffer<ArrayBuffer>;
export declare function convertBufToI16(buf: Buffer, littleEndian?: boolean): Int16Array<ArrayBuffer>;
export declare function convertI16ToBuf(arr: Int16Array, littleEndian?: boolean): Buffer<ArrayBuffer>;
export declare function processInt16ArrayInSegments(data: Int16Array<ArrayBuffer>, segmentSize: number, processor: (segment: Int16Array<ArrayBuffer>) => Promise<Int16Array<ArrayBuffer>>): Promise<Int16Array<ArrayBuffer>>;
export declare function updateEnvelopeForChannel(env: number[], sampleRate: number, chan: number, samples: Float32Array, attack: number, release: number): number;
export declare function lin2dB(x: number): number;
export declare function dB2lin(db: number): number;
export declare class WebAudio {
sampleRate: number;
channels: number;
audioContext: AudioContext;
sourceNode: AudioWorkletNode | null;
captureNode: AudioWorkletNode | null;
private pendingPromises;
constructor(sampleRate: number, channels: number);
setup(): Promise<void>;
process(int16Array: Int16Array): Promise<Int16Array>;
destroy(): Promise<void>;
}