FunAudioLLM / CosyVoice

Multi-lingual large voice generation model, providing inference, training and deployment full-stack ability.
https://funaudiollm.github.io/
Apache License 2.0
2.79k stars 262 forks source link

no module named 'matcha.models'. #17

Closed ldxbxl closed 2 weeks ago

ldxbxl commented 3 weeks ago

当我按照readme中步骤安装了环境下载了模型然后运行export PYTHONPATH=third_party/AcademiCodec:third_party/Matcha-TTS和from cosyvoice.cli.cosyvoice import CosyVoice from cosyvoice.utils.file_utils import load_wav import torchaudio

cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT')

sft usage

print(cosyvoice.list_avaliable_spks()) output = cosyvoice.inference_sft('你好,我是通义生成式语音大模型,请问有什么可以帮您的吗?', '中文女') torchaudio.save('sft.wav', output['tts_speech'], 22050)

cosyvoice = CosyVoice('speech_tts/CosyVoice-300M')

zero_shot usage

prompt_speech_16k = load_wav('zero_shot_prompt.wav', 16000) output = cosyvoice.inference_zero_shot('收到好友从远方寄来的生日礼物,那份意外的惊喜与深深的祝福让我心中充满了甜蜜的快乐,笑容如花儿般绽放。', '希望你以后能够做的比我还好呦。', prompt_speech_16k) torchaudio.save('zero_shot.wav', output['tts_speech'], 22050)

cross_lingual usage

prompt_speech_16k = load_wav('cross_lingual_prompt.wav', 16000) output = cosyvoice.inference_cross_lingual('<|en|>And then later on, fully acquiring that company. So keeping management in line, interest in line with the asset that\'s coming into the family is a reason why sometimes we don\'t buy the whole thing.', prompt_speech_16k) torchaudio.save('cross_lingual.wav', output['tts_speech'], 22050)

cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-Instruct')

instruct usage

output = cosyvoice.inference_instruct('在面对挑战时,他展现了非凡的勇气智慧。', '中文男', 'Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.') torchaudio.save('instruct.wav', output['tts_speech'], 22050)会报错raceback (most recent call last): File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/pydoc.py", line 343, in safeimport module = import(path) File "/media/user/E/CosyVoice-main/cosyvoice/flow/flow_matching.py", line 16, in from matcha.models.components.flow_matching import BASECFM ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package

During handling of the above exception, another exception occurred: cosyvoice = CosyVoice('speech_tts/CosyVoice-300M-SFT') File "/media/user/E/CosyVoice-main/cosyvoice/cli/cosyvoice.py", line 29, in init configs = load_hyperpyyaml(f) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/hyperpyyaml/core.py", line 188, in load_hyperpyyaml hparams = yaml.load(yaml_stream, Loader=loader) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/yaml/init.py", line 81, in load return loader.get_single_data() File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 116, in get_single_data return self.construct_document(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 120, in construct_document data = self.construct_object(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 188, in construct_non_recursive_object for _dummy in generator: File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 633, in construct_yaml_map value = self.construct_mapping(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 429, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 244, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 183, in construct_non_recursive_object data = constructor(self, tag_suffix, node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/hyperpyyaml/core.py", line 480, in _construct_object args, kwargs = _load_node(loader, node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/hyperpyyaml/core.py", line 434, in _load_node kwargs = loader.construct_mapping(node, deep=True) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 429, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 244, in construct_mapping value = self.construct_object(value_node, deep=deep) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/ruamel/yaml/constructor.py", line 183, in construct_non_recursive_object data = constructor(self, tag_suffix, node) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/site-packages/hyperpyyaml/core.py", line 470, in _constructobject callable = pydoc.locate(callable_string) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/pydoc.py", line 1626, in locate nextmodule = safeimport('.'.join(parts[:n+1]), forceload) File "/home/user/anaconda3/envs/cosyvoice/lib/python3.8/pydoc.py", line 358, in safeimport raise ErrorDuringImport(path, sys.exc_info()) pydoc.ErrorDuringImport: problem in cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package

aluminumbox commented 3 weeks ago

check third_party, make sure you have git lfs installed and git submodule downloaded

hotdogarea commented 2 weeks ago

我也遇到同样的问题,但我的git lfs是确认已经安装好了的 image

aluminumbox commented 2 weeks ago

我也遇到同样的问题,但我的git lfs是确认已经安装好了的 image

check faq.md, remember export pythonpath before run python. check third_party directory.

hotdogarea commented 2 weeks ago

我也遇到同样的问题,但我的git lfs是确认已经安装好了的 image

check faq.md, remember export pythonpath before run python. check third_party directory. 如你所说, 问题解决了,THX

O-O1024 commented 2 weeks ago

In jupyter notebook, I solve it by the following code:

import os, sys
sys.path.insert(0, os.path.abspath('third_party/Matcha-TTS'))
yangcunning1 commented 2 weeks ago

我是这么解决的,下载Matcha-TTS,并把Matcha-TTS放到third_party目录下

hotdogarea commented 2 weeks ago

这里其实就是环境变量的问题 我是在ubuntu下 可以在代码执行前运行export PYTHONPATH 也可以直接去修改 user目录下 .bashrc文件

发自我的iPhone

------------------ Original ------------------ From: raimmm @.> Date: Mon,Jul 8,2024 10:52 AM To: FunAudioLLM/CosyVoice @.> Cc: hotdogarea @.>, Comment @.> Subject: Re: [FunAudioLLM/CosyVoice] no module named 'matcha.models'. (Issue#17)

我也遇到同样的问题,但我的git lfs是确认已经安装好了的

check faq.md, remember export pythonpath before run python. check third_party directory. 如你所说, 问题解决了,THX

按照这个方式后还是有同样的错误,求解答

我也是安装了git lfs,且在运行代码之前加了export PYTHONPATH=third_party/Matcha-TTS,但是还是相同的报错,请问还需要将什么添加到路径中吗?

我也是同样的问题

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

cpken commented 2 weeks ago
$ pip install peft
$ cd CosyVoice/third_party/
$ git clone https://github.com/shivammehta25/Matcha-TTS
Flskying commented 1 week ago

我这么解决的,下载Matcha-TTS,并把Matcha-TTS放到third_party目录下

我是在Windows下配置的,我也按照你的这个方法把Matcha放在了third_party目录下,但是还是报错 D:\Develop\conda\envs\voice\python.exe E:\项目\CosyVoice-main\webui.py 2024-07-15 19:49:42,388 - modelscope - INFO - PyTorch version 2.2.1+cu121 Found. 2024-07-15 19:49:42,391 - modelscope - INFO - Loading ast index from C:\Users\zhaosir.cache\modelscope\ast_indexer 2024-07-15 19:49:42,571 - modelscope - INFO - Loading done! Current index file version is 1.15.0, with md5 104883578e46549e2533cb07de4c6412 and a total number of 980 components indexed failed to import ttsfrd, use WeTextProcessing instead 2024-07-15 19:49:47,101 DEBUG Starting new HTTPS connection (1): www.modelscope.cn:443 2024-07-15 19:49:47,562 DEBUG https://www.modelscope.cn:443 "GET /api/v1/models/iic/CosyVoice-300M/revisions HTTP/11" 200 191 2024-07-15 19:49:47,792 DEBUG https://www.modelscope.cn:443 "GET /api/v1/models/iic/CosyVoice-300M/repo/files?Revision=master&Recursive=True HTTP/11" 200 None D:\Develop\conda\envs\voice\lib\site-packages\torch_jit_internal.py:741: FutureWarning: ignore(True) has been deprecated. TorchScript will now drop the function call on compilation. Use torch.jit.unused now. {} warnings.warn( Traceback (most recent call last): File "D:\Develop\conda\envs\voice\lib\pydoc.py", line 435, in safeimport module = import(path) File "E:\项目\CosyVoice-main\cosyvoice\flow\flow_matching.py", line 16, in from matcha.models.components.flow_matching import BASECFM ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "E:\项目\CosyVoice-main\webui.py", line 181, in cosyvoice = CosyVoice(args.model_dir) File "E:\项目\CosyVoice-main\cosyvoice\cli\cosyvoice.py", line 29, in init configs = load_hyperpyyaml(f) File "D:\Develop\conda\envs\voice\lib\site-packages\hyperpyyaml\core.py", line 188, in load_hyperpyyaml hparams = yaml.load(yaml_stream, Loader=loader) File "D:\Develop\conda\envs\voice\lib\site-packages\yaml__init__.py", line 81, in load return loader.get_single_data() File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 116, in get_single_data return self.construct_document(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 120, in construct_document data = self.construct_object(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 188, in construct_non_recursive_object for _dummy in generator: File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 633, in construct_yaml_map value = self.construct_mapping(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 429, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 244, in construct_mapping value = self.construct_object(value_node, deep=deep) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 183, in construct_non_recursive_object data = constructor(self, tag_suffix, node) File "D:\Develop\conda\envs\voice\lib\site-packages\hyperpyyaml\core.py", line 480, in _construct_object args, kwargs = _load_node(loader, node) File "D:\Develop\conda\envs\voice\lib\site-packages\hyperpyyaml\core.py", line 434, in _load_node kwargs = loader.construct_mapping(node, deep=True) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 429, in construct_mapping return BaseConstructor.construct_mapping(self, node, deep=deep) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 244, in construct_mapping value = self.construct_object(value_node, deep=deep) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 147, in construct_object data = self.construct_non_recursive_object(node) File "D:\Develop\conda\envs\voice\lib\site-packages\ruamel\yaml\constructor.py", line 183, in construct_non_recursive_object data = constructor(self, tag_suffix, node) File "D:\Develop\conda\envs\voice\lib\site-packages\hyperpyyaml\core.py", line 470, in _constructobject callable = pydoc.locate(callable_string) File "D:\Develop\conda\envs\voice\lib\pydoc.py", line 1713, in locate nextmodule = safeimport('.'.join(parts[:n+1]), forceload) File "D:\Develop\conda\envs\voice\lib\pydoc.py", line 450, in safeimport raise ErrorDuringImport(path, sys.exc_info()) pydoc.ErrorDuringImport: problem in cosyvoice.flow.flow_matching - ModuleNotFoundError: No module named 'matcha.models'; 'matcha' is not a package

Process finished with exit code 1

cpken commented 1 week ago

请确保你的路径是 CosyVoice-main/third_party/Matcha-TTS/ ,我的 ubuntu 按照此路径,可以正常加载。