开发者社区 > ModelScope模型即服务 > 语音 > 正文

NameError: name 'fa' is not defined

运行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

展开
收起
aliyun9141619957 2023-08-01 11:11:31 293 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    根据提供的错误信息,看起来在运行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模块但仍然出现错误,请检查您的代码环境是否正确设置。确保项目依赖项已正确安装,并且运行环境与项目要求的版本兼容。

    2023-08-04 22:11:44
    赞同 展开评论 打赏

包括语音识别、语音合成、语音唤醒、声学设计及信号处理、声纹识别、音频事件检测等多个领域

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载