12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # -*- coding: utf-8 -*-
- """
- 腾讯API
- """
- from __future__ import division
- from ..__load__ import *
- from .base import Base
- class Tencent(Base):
- def __init__(self):
- super(self.__class__, self).__init__(True)
- def setting(self, appid, secret_id, secret_key, region='ap-guangzhou', voiceType=0, language=1, **args):
- self.engine = self.sdk.init(secret_id, secret_key)
- self.region = region
- self.voiceType = voiceType
- self.language = language
- def asr(self, fp):
- file = convertMp3ToWav(fp)
- r = self.engine.ASR(file, 'mp3', '1', self.region)
- File.remove(file)
- res = json.loads(r)
- print(file)
- print(res)
- if 'Response' in res and 'Result' in res['Response']:
- return self.asrLog(1, res['Response']['Result'])
- else:
- return self.asrLog(2, '')
- """
- 腾讯的语音合成
- region: 服务地域,挑个离自己最近的区域有助于提升速度。
- 有效值:https://cloud.tencent.com/document/api/441/17365#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
- voiceType:
- - 0:女声1,亲和风格(默认)
- - 1:男声1,成熟风格
- - 2:男声2,成熟风格
- language:
- - 1: 中文,最大100个汉字(标点符号算一个汉子)
- - 2: 英文,最大支持400个字母(标点符号算一个字母)
- """
- def tts(self, phrase):
- result = self.engine.TTS(phrase, self.voiceType, self.language, self.region)
- if 'Response' in result and 'Audio' in result['Response']:
- audio = result['Response']['Audio']
- data = base64.b64decode(audio)
- tmpfile = writeTempFile(data, '.mp3')
- return self.ttsLog(1, tmpfile)
- else:
- return self.ttsLog(2, '')
|