factory.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. """
  2. voice factory
  3. """
  4. def create_voice(voice_type):
  5. """
  6. create a voice instance
  7. :param voice_type: voice type code
  8. :return: voice instance
  9. """
  10. if voice_type == "baidu":
  11. from voice.baidu.baidu_voice import BaiduVoice
  12. return BaiduVoice()
  13. elif voice_type == "google":
  14. from voice.google.google_voice import GoogleVoice
  15. return GoogleVoice()
  16. elif voice_type == "openai":
  17. from voice.openai.openai_voice import OpenaiVoice
  18. return OpenaiVoice()
  19. elif voice_type == "pytts":
  20. from voice.pytts.pytts_voice import PyttsVoice
  21. return PyttsVoice()
  22. elif voice_type == "azure":
  23. from voice.azure.azure_voice import AzureVoice
  24. return AzureVoice()
  25. elif voice_type == "elevenlabs":
  26. from voice.elevent.elevent_voice import ElevenLabsVoice
  27. return ElevenLabsVoice()
  28. elif voice_type == "linkai":
  29. from voice.linkai.linkai_voice import LinkAIVoice
  30. return LinkAIVoice()
  31. elif voice_type == "ali":
  32. from voice.ali.ali_voice import AliVoice
  33. return AliVoice()
  34. elif voice_type == "edge":
  35. from voice.edge.edge_voice import EdgeVoice
  36. return EdgeVoice()
  37. elif voice_type == "xunfei":
  38. from voice.xunfei.xunfei_voice import XunfeiVoice
  39. return XunfeiVoice()
  40. elif voice_type == "dify":
  41. from voice.dify.dify_voice import DifyVoice
  42. return DifyVoice()
  43. raise RuntimeError