123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import time
- import threading
- import sys
- import nls
- from tests.test_utils import (TEST_ACCESS_TOKEN, TEST_ACCESS_APPKEY)
- TEXT='大壮正想去摘取花瓣,谁知阿丽和阿强突然内讧,阿丽拿去手枪向树干边的阿强射击,两声枪响,阿强直接倒入水中'
- class TestTts:
- def __init__(self, tid, test_file):
- self.__th = threading.Thread(target=self.__test_run)
- self.__id = tid
- self.__test_file = test_file
-
- def start(self, text):
- self.__text = text
- self.__f = open(self.__test_file, "wb")
- self.__th.start()
-
- def test_on_metainfo(self, message, *args):
- print("on_metainfo message=>{}".format(message))
- def test_on_error(self, message, *args):
- print("on_error args=>{}".format(args))
- def test_on_close(self, *args):
- print("on_close: args=>{}".format(args))
- try:
- self.__f.close()
- except Exception as e:
- print("close file failed since:", e)
- def test_on_data(self, data, *args):
- try:
- self.__f.write(data)
- except Exception as e:
- print("write data failed:", e)
- def test_on_completed(self, message, *args):
- print("on_completed:args=>{} message=>{}".format(args, message))
- def __test_run(self):
- print("thread:{} start..".format(self.__id))
- tts = nls.NlsSpeechSynthesizer(
- token=TEST_ACCESS_TOKEN,
- appkey=TEST_ACCESS_APPKEY,
- long_tts=True,
- on_metainfo=self.test_on_metainfo,
- on_data=self.test_on_data,
- on_completed=self.test_on_completed,
- on_error=self.test_on_error,
- on_close=self.test_on_close,
- callback_args=[self.__id]
- )
- print("{}: session start".format(self.__id))
- r = tts.start(self.__text, voice="ailun", ex={'enable_subtitle':True})
- print("{}: tts done with result:{}".format(self.__id, r))
- def multiruntest(num=500):
- for i in range(0, num):
- name = "thread" + str(i)
- t = TestTts(name, "tests/test_tts.pcm")
- t.start(TEXT)
- nls.enableTrace(True)
- multiruntest(1)
|