运行SambertHifigan个性化语音合成项目时run_auto_label()报错
错误代码
NameError Traceback (most recent call last)
Cell In[5], line 6
3 input_wav = "./test_wavs/"
4 output_data = "./output_training_data/"
----> 6 ret, report = run_auto_label(input_wav=input_wav, work_dir=output_data, resource_revision="v1.0.7")
File ~/anaconda3/envs/tts_test/lib/python3.8/site-packages/modelscope/tools/speech_tts_autolabel.py:78, in run_auto_label(input_wav, work_dir, para_ids, resource_model_id, resource_revision, gender, stage, process_num, develop_mode, has_para, enable_enh)
64 model_resource = _download_and_unzip_resource(resource_model_id,
65 resource_revision)
66 auto_labeling = AutoLabeling(
67 os.path.abspath(input_wav),
68 model_resource,
(...)
76 process_num,
77 enable_enh=enable_enh)
---> 78 ret_code, report = auto_labeling.run()
79 return ret_code, report
File ~/anaconda3/envs/tts_test/lib/python3.8/site-packages/tts_autolabel/auto_label.py:857, in AutoLabeling.run(self)
855 logging.info("Generate phone interval by fa align.")
856 wav_text_pairs = self.match_wav_text_pair(audio_list, self.prosody_dir)
--> 857 raw_interval_dir, raw_align_dir, badlist = self.fa_process(
858 wav_text_pairs, self.fa_model_dir
859 )
860 self.badlist.extend(badlist)
862 # align interval leading and trailing silence with wav.
File ~/anaconda3/envs/tts_test/lib/python3.8/site-packages/tts_autolabel/auto_label.py:498, in AutoLabeling.fa_process(self, wav_text_pairs, fa_model_dir)
495 raw_interval_dir = os.path.join(self.work_dir, "raw_interval")
496 mkdir(raw_interval_dir)
--> 498 badlist = run_fa_pipeline(wav_text_pairs, raw_align_dir, fa_model_dir)
499 align2interval(raw_align_dir, raw_interval_dir)
501 return raw_interval_dir, raw_align_dir, badlist
File ~/anaconda3/envs/tts_test/lib/python3.8/site-packages/tts_autolabel/fa_utils.py:46, in run_fa_pipeline(wav_text_pairs, output_dir, fa_model_dir)
44 def run_fa_pipeline(wav_text_pairs, output_dir, fa_model_dir):
45 badlist = []
---> 46 fa_pipeline = fa.AlsFaPyImpl(fa_model_dir)
47 for pair in tqdm(wav_text_pairs):
48 wav, text = pair
NameError: name 'fa' is not defined
根据提供的错误信息,看起来在运行SambertHifigan个性化语音合成项目的run_auto_label()函数时出现了错误。具体地,错误提示了NameError: name 'fa' is not defined,意味着在代码中找不到名为fa的定义。
根据错误跟踪信息,问题可能出现在以下代码行中:
python
Copy
fa_pipeline = fa.AlsFaPyImpl(fa_model_dir)
这表明在运行run_auto_label()函数时,使用了一个未定义的fa模块。
为了解决这个问题,您可以尝试以下步骤:
确保您已经正确安装了与fa模块相关的依赖项。查看项目文档或代码库中的说明,确定是否需要安装额外的依赖项。
检查您的代码中是否正确导入了fa模块。确保在使用fa模块之前有正确的导入语句。
例如,您可以在代码文件的开头添加以下导入语句:
python
Copy
import fa
或者,如果fa模块位于某个子包中,您可以使用类似以下方式的导入语句:
python
Copy
from package_name import fa
请根据实际情况进行适当的导入。
如果您已经正确导入了fa模块但仍然出现错误,请检查您的代码环境是否正确设置。确保项目依赖项已正确安装,并且运行环境与项目要求的版本兼容。