UNPKG

@webgal-tools/voice

Version:
74 lines 2.23 kB
export interface VoiceTask { character: string; originalText: string; targetText: string; audioFileName: string; refAudioPath?: string; refText?: string; contentHash?: string; } export declare class VoiceGenerator { private api; private audioOutputDir; private configManager; private backupManager; private workDir; constructor(workDir: string); /** * 初始化角色语言特色 */ private initializeCharacterStyles; private ensureAudioDir; /** * 生成基于内容的音频文件名 * @param character 角色名 * @param text 对话内容 * @returns 音频文件名 */ private generateAudioFileName; /** * 检查音频文件是否已存在 * @param audioFileName 音频文件名 * @returns 文件是否存在 */ private audioFileExists; /** * 生成内容哈希 * @param character 角色名 * @param text 对话内容 * @returns 内容哈希 */ private generateContentHash; /** * 删除音频文件 * @param audioFileName 音频文件名 */ private deleteAudioFile; /** * 创建语音生成任务(优化版本) * @param addedDialogues 新增的对话 * @returns 去重后的语音任务数组 */ private createVoiceTasks; /** * 使用并行处理器处理翻译和语音合成任务 * @param tasks 语音任务数组 * @param allDialogues 所有对话(用于提取上下文) * @returns 成功处理的任务数组 */ private processTasksParallel; /** * 主要的语音生成函数(优化版本 - 基于文件缓存) * @param fileName 脚本文件名(相对于工作目录/scene) * @param forceMode 强制模式,清理现有音频文件并重新生成所有语音 */ generateVoice(fileName: string, forceMode?: boolean): Promise<void>; /** * 更新脚本文件引用(新方法) * @param filePath 脚本文件路径 * @param allDialogues 所有对话 * @param successfulTasks 成功的语音任务(可选) */ private updateScriptFileReferences; } //# sourceMappingURL=generator.d.ts.map