MontrealCorpusTools / Montreal-Forced-Aligner

Command line utility for forced alignment using Kaldi
https://montrealcorpustools.github.io/Montreal-Forced-Aligner/
MIT License
1.35k stars 249 forks source link

[BUG] #829

Closed shreeshailgan closed 4 months ago

shreeshailgan commented 4 months ago

Debugging checklist

[x] Have you read the troubleshooting page (https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/troubleshooting.html) and searched the documentation to ensure that your issue is not addressed there? [ ] Have you updated to latest MFA version (check https://montreal-forced-aligner.readthedocs.io/en/latest/changelog/changelog_3.0.html)? What is the output of mfa version? [x] Have you tried rerunning the command with the --clean flag?

Describe the issue On running mfa align, I'm getting the following error

Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/shreeshail/miniconda3/envs/speechedit/bin/mfa", line 11, in <module>
    sys.exit(main())
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/command_line/mfa.py", line 919, in main
    run_align_corpus(args, unknown)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/command_line/align.py", line 101, in run_align_corpus
    align_corpus(args, unknown_args)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/command_line/align.py", line 31, in align_corpus
    aligner = PretrainedAligner(
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/alignment/pretrained.py", line 145, in __init__
    super().__init__(**kw)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/alignment/base.py", line 45, in __init__
    super().__init__(**kwargs)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/corpus/acoustic_corpus.py", line 941, in __init__
    super().__init__(**kwargs)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/corpus/acoustic_corpus.py", line 74, in __init__
    super().__init__(**kwargs)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/corpus/base.py", line 102, in __init__
    super().__init__(**kwargs)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/abc.py", line 372, in __init__
    self.setup_logger()
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/abc.py", line 615, in setup_logger
    if os.path.exists(self.worker_config_path):
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/abc.py", line 487, in worker_config_path
    return os.path.join(self.output_directory, f"{self.workflow_identifier}.yaml")
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/site-packages/montreal_forced_aligner/abc.py", line 595, in output_directory
    return os.path.join(self.temporary_directory, self.identifier)
  File "/home/shreeshail/miniconda3/envs/speechedit/lib/python3.9/posixpath.py", line 76, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not list
  1. Corpus structure English Language Corpus. Single file. Using .lab files for input
  2. Dictionary Using custom dictionary. phone set = ARPA
  3. Acoustic model Using custom acoustic model trained on LibriTTS.

    • OS: Ubuntu 22.04

Using montreal-forced-aligner==2.0.0rc3. Not using the latest version since the repo I'm working with has this requirement.

Full command which leads to the error: mfa align -j 4 --clean inference/audio data/processed-libritts/mfa_dict.txt data/processed-libritts/mfa_model.zip inference/audio/mfa_out

shreeshailgan commented 4 months ago

Solved. Had to manually delete everything in ~/Documents/MFA/ and rerun the command.