# -*- coding: utf-8 -*- from __future__ import division from ..__load__ import * from base import Base class Tencent(Base): def __init__(self): super(self.__class__, self).__init__() self.sdk = Demeter.service('tencent', 'sdk') def setting(self, appid, secret_id, secret_key, region, **args): self.engine = self.sdk.init(secret_id, secret_key) self.region = region def transcribe(self, fp): mp3_path = utils.convert_wav_to_mp3(fp) r = self.engine.ASR(mp3_path, 'mp3', '1', self.region) utils.check_and_delete(mp3_path) res = json.loads(r) if 'Response' in res and 'Result' in res['Response']: logger.info('{} 语音识别到了:{}'.format(self.SLUG, res['Response']['Result'])) return res['Response']['Result'] else: logger.critical('{} 语音识别出错了'.format(self.SLUG), exc_info=True) return ''