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.

28 lines
673B

  1. """
  2. google voice service
  3. """
  4. import json
  5. import openai
  6. from config import conf
  7. from common.log import logger
  8. from voice.voice import Voice
  9. class OpenaiVoice(Voice):
  10. def __init__(self):
  11. openai.api_key = conf().get('open_ai_api_key')
  12. def voiceToText(self, voice_file):
  13. logger.debug(
  14. '[Openai] voice file name={}'.format(voice_file))
  15. file = open(voice_file, "rb")
  16. reply = openai.Audio.transcribe("whisper-1", file)
  17. text = reply["text"]
  18. logger.info(
  19. '[Openai] voiceToText text={} voice file name={}'.format(text, voice_file))
  20. return text
  21. def textToVoice(self, text):
  22. pass