diff --git a/src/blackbox/tts.py b/src/blackbox/tts.py index 793567c..1813f29 100644 --- a/src/blackbox/tts.py +++ b/src/blackbox/tts.py @@ -363,23 +363,37 @@ class TTS(Blackbox): print("#### SoVITS Service consume - docker : ", (time.time()-current_time)) - # elif chroma_collection_id == 'boss': - # if self.cosyvoice_mode == 'local': - # set_all_random_seed(35616313) - # audio = self.cosyvoicetts.inference_sft(text, '中文男', speed=1.5, stream=False) - # for i, j in enumerate(audio): - # f = io.BytesIO() - # sf.write(f, j['tts_speech'].cpu().numpy().squeeze(0), 22050, format='wav') - # f.seek(0) - # print("#### CosyVoiceTTS Service consume - local : ", (time.time() - current_time)) - # return f.read() - # else: - # message = { - # "text": text - # } - # response = requests.post(self.cosyvoice_url, json=message) - # print("#### CosyVoiceTTS Service consume - docker : ", (time.time()-current_time)) - # return response.content + elif chroma_collection_id == 'boss': + if self.sovits_mode == 'local': + set_all_random_seed(56056558) + audio = self.cosyvoicetts.inference_sft(text, self.cosyvoice_language, stream=True) + for i, j in enumerate(audio): + f = io.BytesIO() + sf.write(f, j['tts_speech'].cpu().numpy().squeeze(0), 22050, format='wav') + f.seek(0) + print("#### CosyVoiceTTS Service consume - local : ", (time.time() - current_time)) + return f.read() + else: + message = { + "text": text, + "text_lang": self.sovits_text_lang, + "ref_audio_path": self.sovits_ref_audio_path, + "prompt_lang": self.sovits_prompt_lang, + "prompt_text": self.sovits_prompt_text, + "text_split_method": self.sovits_text_split_method, + "batch_size": self.sovits_batch_size, + "media_type": self.sovits_media_type, + "streaming_mode": user_stream + } + if user_stream == True or str(user_stream).lower() == "true": + response = requests.get(self.sovits_url, params=message, stream=True) + print("#### SoVITS Service consume - docker : ", (time.time()-current_time)) + return response + else: + response = requests.get(self.sovits_url, params=message) + print("#### SoVITS Service consume - docker : ", (time.time()-current_time)) + return response.content + print("#### SoVITS Service consume - docker : ", (time.time()-current_time)) elif user_model_name == 'man':