UNPKG

@aituber-onair/voice

Version:

Voice synthesis library for AITuber OnAir

65 lines (64 loc) 2.31 kB
import { Talk } from '../types/voice'; import { VoiceEngine } from './VoiceEngine'; /** * AivisSpeech audio query parameter overrides * Reference: * https://github.com/Aivis-Project/AivisSpeech-Engine?tab=readme-ov-file#voicevox-api-%E3%81%A8%E3%81%AE%E4%BA%92%E6%8F%9B%E6%80%A7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 */ export interface AivisSpeechQueryParameterOverrides { speedScale?: number; pitchScale?: number; intonationScale?: number; tempoDynamicsScale?: number; volumeScale?: number; prePhonemeLength?: number; postPhonemeLength?: number; pauseLength?: number | null; pauseLengthScale?: number; outputSamplingRate?: number; outputStereo?: boolean; } /** * AivisSpeech voice synthesis engine */ export declare class AivisSpeechEngine implements VoiceEngine { private apiEndpoint; private queryOverrides; fetchAudio(input: Talk, speaker: string): Promise<ArrayBuffer>; private adjustEmotionParameters; /** * Apply user-provided overrides to audio query payload */ private applyQueryOverrides; /** * Update override map while allowing undefined to reset values */ private updateQueryOverrides; private hasOverride; getTestMessage(textVoiceText?: string): string; /** * Set custom API endpoint URL * @param apiUrl custom API endpoint URL */ setApiEndpoint(apiUrl: string): void; /** * Set query parameter overrides in batch * @param overrides Audio query parameter overrides */ setQueryParameters(overrides: AivisSpeechQueryParameterOverrides): void; setSpeedScale(speedScale?: number): void; setPitchScale(pitchScale?: number): void; setIntonationScale(intonationScale?: number): void; setTempoDynamicsScale(tempoDynamicsScale?: number): void; setVolumeScale(volumeScale?: number): void; setPrePhonemeLength(prePhonemeLength?: number): void; setPostPhonemeLength(postPhonemeLength?: number): void; setPauseLength(pauseLength?: number | null): void; setPauseLengthScale(pauseLengthScale?: number): void; setOutputSamplingRate(outputSamplingRate?: number): void; setOutputStereo(outputStereo?: boolean): void; /** * Build endpoint URL with optional query parameters */ private buildUrl; }