UNPKG

@aituber-onair/voice

Version:

Voice synthesis library for AITuber OnAir

47 lines (46 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VoiceEngineFactory = void 0; const AivisCloudEngine_1 = require("./AivisCloudEngine"); const AivisSpeechEngine_1 = require("./AivisSpeechEngine"); const MinimaxEngine_1 = require("./MinimaxEngine"); const NijiVoiceEngine_1 = require("./NijiVoiceEngine"); const NoneEngine_1 = require("./NoneEngine"); const OpenAiEngine_1 = require("./OpenAiEngine"); const VoicePeakEngine_1 = require("./VoicePeakEngine"); const VoiceVoxEngine_1 = require("./VoiceVoxEngine"); /** * Voice engine factory * Generate appropriate voice engine instances based on voice engine type */ class VoiceEngineFactory { /** * Get the voice engine for the specified engine type * @param engineType string of engine type ('voicevox', 'voicepeak', etc.) * @returns voice engine instance * @throws error if engine type is unknown */ static getEngine(engineType) { switch (engineType) { case 'voicevox': return new VoiceVoxEngine_1.VoiceVoxEngine(); case 'voicepeak': return new VoicePeakEngine_1.VoicePeakEngine(); case 'aivisSpeech': return new AivisSpeechEngine_1.AivisSpeechEngine(); case 'aivisCloud': return new AivisCloudEngine_1.AivisCloudEngine(); case 'openai': return new OpenAiEngine_1.OpenAiEngine(); case 'nijivoice': return new NijiVoiceEngine_1.NijiVoiceEngine(); case 'minimax': return new MinimaxEngine_1.MinimaxEngine(); case 'none': return new NoneEngine_1.NoneEngine(); default: throw new Error(`Unsupported voice engine type: ${engineType}`); } } } exports.VoiceEngineFactory = VoiceEngineFactory;