UNPKG

js-tts-wrapper

Version:

A JavaScript/TypeScript library that provides a unified API for working with multiple cloud-based Text-to-Speech (TTS) services

65 lines (64 loc) 2.05 kB
/** * Audio format conversion utilities * Provides conversion between different audio formats (WAV, MP3, OGG) */ /** * Supported audio formats for conversion */ export type AudioFormat = "wav" | "mp3" | "ogg"; /** * Audio conversion options */ export interface AudioConversionOptions { /** Target sample rate (default: preserve original) */ sampleRate?: number; /** Target bit rate for compressed formats like MP3 (default: 128kbps) */ bitRate?: number; /** Audio quality (0-9 for OGG, 0-320 for MP3) */ quality?: number; } /** * Result of audio conversion */ export interface AudioConversionResult { /** Converted audio data */ audioBytes: Uint8Array; /** Target format */ format: AudioFormat; /** MIME type of the converted audio */ mimeType: string; } /** * Check if audio conversion is available in the current environment * * Audio format conversion is currently only supported in Node.js environments * due to the need for external tools like ffmpeg or native Node.js modules. * * In browser environments: * - Engines return their native format without conversion * - WebSpeech API engines use browser's native audio capabilities * - Format requests are honored only when engines natively support them */ export declare function isAudioConversionAvailable(): boolean; /** * Get MIME type for audio format */ export declare function getMimeTypeForFormat(format: AudioFormat): string; /** * Extract WAV audio parameters from WAV file header */ export declare function extractWavParameters(wavBytes: Uint8Array): { sampleRate: number; channels: number; bitsPerSample: number; dataOffset: number; dataSize: number; } | null; /** * Convert audio between formats using available Node.js tools */ export declare function convertAudioFormat(inputBytes: Uint8Array, targetFormat: AudioFormat, options?: AudioConversionOptions): Promise<AudioConversionResult>; /** * Check if ffmpeg is available */ export declare function isFFmpegAvailable(): Promise<boolean>;