tencent.py 869 B

1234567891011121314151617181920212223242526
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from ..__load__ import *
  4. from base import Base
  5. class Tencent(Base):
  6. def __init__(self):
  7. super(self.__class__, self).__init__()
  8. self.sdk = Demeter.service('tencent', 'sdk')
  9. def setting(self, appid, secret_id, secret_key, region, **args):
  10. self.engine = self.sdk.init(secret_id, secret_key)
  11. self.region = region
  12. def transcribe(self, fp):
  13. mp3_path = utils.convert_wav_to_mp3(fp)
  14. r = self.engine.ASR(mp3_path, 'mp3', '1', self.region)
  15. utils.check_and_delete(mp3_path)
  16. res = json.loads(r)
  17. if 'Response' in res and 'Result' in res['Response']:
  18. logger.info('{} 语音识别到了:{}'.format(self.SLUG, res['Response']['Result']))
  19. return res['Response']['Result']
  20. else:
  21. logger.critical('{} 语音识别出错了'.format(self.SLUG), exc_info=True)
  22. return ''