import unittest # NOTICE: Tensorflow 1.15 seems not so compatible with pytorch. # A segmentation fault may be raise by pytorch cpp library # if 'import tensorflow' in front of 'import torch'. # Puting a 'import torch' here can bypass this incompatibility. import torch from scipy.io.wavfile import write from modelscope.metainfo import Pipelines from modelscope.models import Model from modelscope.outputs import OutputKeys from modelscope.pipelines import pipeline from modelscope.utils.constant import Fields, Tasks from modelscope.utils.logger import get_logger from modelscope.utils.test_utils import test_level import tensorflow as tf # isort:skip logger = get_logger() class TextToSpeechSambertHifigan16kPipelineTest(unittest.TestCase): @unittest.skipUnless(test_level() >= 1, 'skip test in current test level') def test_pipeline(self): text = '今天北京天气怎么样?' model_id = 'damo/speech_sambert-hifigan_tts_zhcn_16k' voice = 'zhitian_emo' sambert_hifigan_tts = pipeline( task=Tasks.text_to_speech, model=model_id) self.assertTrue(sambert_hifigan_tts is not None) output = sambert_hifigan_tts(input=text, voice=voice) self.assertIsNotNone(output[OutputKeys.OUTPUT_PCM]) pcm = output[OutputKeys.OUTPUT_PCM] write('output.wav', 16000, pcm) if __name__ == '__main__': unittest.main()