UNPKG

@aituber-onair/voice

Version:

Voice synthesis library for AITuber OnAir

50 lines (49 loc) 1.48 kB
import { ChatScreenplay } from '../types/chat'; import { AudioPlayOptions, VoiceService, VoiceServiceOptions } from './VoiceService'; /** * Adapter implementation for using existing voice engines */ export declare class VoiceEngineAdapter implements VoiceService { private options; private audioPlayer; private requestQueue; private isProcessingQueue; private activeRequest?; private requestIdCounter; /** * Constructor * @param options Voice service options */ constructor(options: VoiceServiceOptions); /** * Speak the screenplay as audio * @param screenplay Screenplay (text and emotion) * @param options Audio playback options */ speak(screenplay: ChatScreenplay, options?: AudioPlayOptions): Promise<void>; private createSpeechRequest; private processQueue; private mapEmotionToStyle; private fetchAudioForScreenplay; private playAudioBuffer; private applyEngineOverrides; /** * Speak text as audio * @param text Text (with emotion tags) to speak * @param options Audio playback options */ speakText(text: string, options?: AudioPlayOptions): Promise<void>; /** * Get whether currently playing */ isPlaying(): boolean; /** * Stop playback */ stop(): void; /** * Update service settings * @param options New settings options */ updateOptions(options: Partial<VoiceServiceOptions>): void; }