From 4a5cf46a0d02672d5e7be9cd91e2b94a8a49824a Mon Sep 17 00:00:00 2001 From: "lyuxiang.lx" Date: Thu, 4 Sep 2025 10:04:53 +0000 Subject: [PATCH] add cosyvoice tts code --- README.md | 3 +++ examples/zero_shot_prompt.wav | Bin 0 -> 111496 bytes generate.py | 41 ++++++++++++++++++++++++++++++++-- requirements.txt | 22 +++++++++++++++++- wan/speech2video.py | 34 ++++++++++++++++++++++++++++ wan/utils/utils.py | 13 +++++++++++ 6 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 examples/zero_shot_prompt.wav diff --git a/README.md b/README.md index 31566db..7d9be0e 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,9 @@ This repository supports the `Wan2.2-S2V-14B` Speech-to-Video model and can simu ```sh python generate.py --task s2v-14B --size 1024*704 --ckpt_dir ./Wan2.2-S2V-14B/ --offload_model True --convert_model_dtype --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard." --image "examples/i2v_input.JPG" --audio "examples/talk.wav" # Without setting --num_clip, the generated video length will automatically adjust based on the input audio length + +# You can use CosyVoice to generate audio with --enable_tts +python generate.py --task s2v-14B --size 1024*704 --ckpt_dir ./Wan2.2-S2V-14B/ --offload_model True --convert_model_dtype --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard." --image "examples/i2v_input.JPG" --enable_tts --tts_prompt_audio "examples/zero_shot_prompt.wav" --tts_prompt_text "希望你以后能够做的比我还好呦。" --tts_text "收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。" ``` > 💡 This command can run on a GPU with at least 80GB VRAM. diff --git a/examples/zero_shot_prompt.wav b/examples/zero_shot_prompt.wav new file mode 100644 index 0000000000000000000000000000000000000000..25fbf592f2a5efa3d966ff64084c75a43be4cc1e GIT binary patch literal 111496 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�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.4.0 torchvision>=0.19.0 opencv-python>=4.9.0.80 diffusers>=0.31.0 -transformers>=4.49.0 +transformers>=4.49.0,<=4.51.3 tokenizers>=0.20.3 accelerate>=1.1.1 tqdm @@ -13,3 +13,23 @@ dashscope imageio-ffmpeg flash_attn numpy>=1.23.5,<2 +openai-whisper +HyperPyYAML +onnxruntime +torchaudio +inflect +wetext +omegaconf +conformer +hydra-core +lightning +rich +gdown +matplotlib +wget +pyarrow +pyworld +librosa +decord +modelscope +GitPython diff --git a/wan/speech2video.py b/wan/speech2video.py index 8b79548..be9f5f1 100644 --- a/wan/speech2video.py +++ b/wan/speech2video.py @@ -394,6 +394,10 @@ class WanS2V: input_prompt, ref_image_path, audio_path, + enable_tts, + tts_prompt_audio, + tts_prompt_text, + tts_text, num_repeat=1, pose_video=None, max_area=720 * 1280, @@ -478,6 +482,8 @@ class WanS2V: device=self.device) # extract audio emb + if enable_tts is True: + audio_path = self.tts(tts_prompt_audio, tts_prompt_text, tts_text) audio_emb, nr = self.encode_audio(audio_path, infer_frames=infer_frames) if num_repeat is None or num_repeat > nr: num_repeat = nr @@ -671,3 +677,31 @@ class WanS2V: dist.barrier() return videos[0] if self.rank == 0 else None + + def tts(self, tts_prompt_audio, tts_prompt_text, tts_text): + if not hasattr(self, 'cosyvoice'): + self.load_tts() + speech_list = [] + from cosyvoice.utils.file_utils import load_wav + import torchaudio + prompt_speech_16k = load_wav(tts_prompt_audio, 16000) + if tts_prompt_text is not None: + for i in self.cosyvoice.inference_zero_shot(tts_text, tts_prompt_text, prompt_speech_16k): + speech_list.append(i['tts_speech']) + else: + for i in self.cosyvoice.inference_cross_lingual(tts_text, prompt_speech_16k): + speech_list.append(i['tts_speech']) + torchaudio.save('tts.wav', torch.concat(speech_list, dim=1), self.cosyvoice.sample_rate) + return 'tts.wav' + + def load_tts(self): + if not os.path.exists('CosyVoice'): + from wan.utils.utils import download_cosyvoice_repo + download_cosyvoice_repo('CosyVoice') + if not os.path.exists('CosyVoice2-0.5B'): + from wan.utils.utils import download_cosyvoice_model + download_cosyvoice_model('CosyVoice2-0.5B', 'CosyVoice2-0.5B') + sys.path.append('CosyVoice') + sys.path.append('CosyVoice/third_party/Matcha-TTS') + from cosyvoice.cli.cosyvoice import CosyVoice2 + self.cosyvoice = CosyVoice2('CosyVoice2-0.5B') \ No newline at end of file diff --git a/wan/utils/utils.py b/wan/utils/utils.py index 8601100..4bc4e36 100644 --- a/wan/utils/utils.py +++ b/wan/utils/utils.py @@ -223,3 +223,16 @@ def best_output_size(w, h, dw, dh, expected_area): return ow1, oh1 else: return ow2, oh2 + + +def download_cosyvoice_repo(repo_path): + try: + import git + except ImportError: + raise ImportError('failed to import git, please run pip install GitPython') + repo = git.Repo.clone_from('https://github.com/FunAudioLLM/CosyVoice.git', repo_path, multi_options=['--recursive'], branch='main') + + +def download_cosyvoice_model(model_name, model_path): + from modelscope import snapshot_download + snapshot_download('iic/{}'.format(model_name), local_dir=model_path)