31 lines
1.3 KiB
JavaScript
31 lines
1.3 KiB
JavaScript
|
|
"use strict";
|
||
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
|
exports.TTSProviderFactory = void 0;
|
||
|
|
const openAITTSProvider_1 = require("./openAITTSProvider");
|
||
|
|
const elevenLabsTTSProvider_1 = require("./elevenLabsTTSProvider");
|
||
|
|
const googleCloudTTSProvider_1 = require("./googleCloudTTSProvider");
|
||
|
|
/**
|
||
|
|
* Factory for creating TTS providers
|
||
|
|
*/
|
||
|
|
class TTSProviderFactory {
|
||
|
|
static getProvider(config) {
|
||
|
|
const providerName = config.ttsProvider;
|
||
|
|
const providerConfig = config.ttsProviders[providerName];
|
||
|
|
if (!providerConfig) {
|
||
|
|
throw new Error(`TTS provider "${providerName}" not configured.`);
|
||
|
|
}
|
||
|
|
switch (providerName) {
|
||
|
|
case 'openai':
|
||
|
|
return new openAITTSProvider_1.OpenAITTSProvider(providerConfig);
|
||
|
|
case 'elevenlabs':
|
||
|
|
return new elevenLabsTTSProvider_1.ElevenLabsTTSProvider(providerConfig);
|
||
|
|
case 'google':
|
||
|
|
return new googleCloudTTSProvider_1.GoogleCloudTTSProvider(providerConfig);
|
||
|
|
// Add other providers here
|
||
|
|
default:
|
||
|
|
throw new Error(`TTS provider "${providerName}" not implemented.`);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
exports.TTSProviderFactory = TTSProviderFactory;
|
||
|
|
//# sourceMappingURL=ttsProviderFactory.js.map
|