You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
578 B

11 months ago
  1. function getTTSProvider() {
  2. const provider = process.env.TTS_PROVIDER || "openai";
  3. switch (provider) {
  4. case "openai":
  5. const { OpenAiTTS } = require("./openAi");
  6. return new OpenAiTTS();
  7. case "elevenlabs":
  8. const { ElevenLabsTTS } = require("./elevenLabs");
  9. return new ElevenLabsTTS();
  10. case "generic-openai":
  11. const { GenericOpenAiTTS } = require("./openAiGeneric");
  12. return new GenericOpenAiTTS();
  13. default:
  14. throw new Error("ENV: No TTS_PROVIDER value found in environment!");
  15. }
  16. }
  17. module.exports = { getTTSProvider };