-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates MFA scripts and pipeline #5670
base: master
Are you sure you want to change the base?
Conversation
To train with MFA, the new process is ./local/run_mfa.sh [MFA_OPTIONS] ./run_mfa.sh [OPTIONS] 1) phoneme_tokenizer.py: added MFA G2P for all MFA language. Added Espeak G2P including word separator, as training MFA with custom dictionary requires word splitting. 2) mfa_cleaners.py: text cleaner added for MFA English 3) cleaner.py includes MFA English and edited to put all cleaning functions in TextCleaner.__init__() instead of __call__() 4) mfa_format.py: cleaned up help and comments. Allows both json and TextGrid formats for checking in Praat. make_dictionary allows multiple pronunciations per word. 5) install_mfa.sh is updated to the latest working version of MFA. Disabled pip installation as it is not recommended. 6) mfa.sh: cleaned up help and comments. Updated for new MFA syntax (some args were wrong). Added options for textgrid format and single speaker. 7) local/run_mfa.sh and run_mfa.sh are updated to reflect above changes 8) copy_data_dir.sh now has durations file
for more information, see https://pre-commit.ci
Thanks for your PR, @iamanigeeit! |
@Fhrozen, can you review this PR? |
@sw005320 Sure, I will be checking it |
For For |
Yes, it should be identical, but if you want to customize it for your own purpose, maybe you can put it in other places or rename it. |
Hmm, in that case I propose creating a new file |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5670 +/- ##
===========================================
- Coverage 72.21% 35.81% -36.40%
===========================================
Files 760 759 -1
Lines 69840 69925 +85
===========================================
- Hits 50435 25046 -25389
- Misses 19405 44879 +25474
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
It looks like the entire directory As for the other failing checks, i think it is not related to this PR. |
You can just move it from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, only couple of concerns, that may not affect the current code.
echo "Usage: $0 true/false" | ||
exit 1; | ||
fi | ||
# This is the last stable version. MFA 3.0 depends on an unstable kaldi version that creates errors |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to confirm. Did you test the installation and execution with conda? Because, I remember it was generating an issue w.r.t the PostgreSQL or another kind of application. That is the reason for using pip installation.
But, if it is already fixed, the ok
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I started from a fresh install.
I spent hours making it work with pip and ended up with all the commented code.
@@ -0,0 +1,50 @@ | |||
#!/usr/bin/env bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessary this file? Cannot be added as an example in the documentation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might know better where to put it. I wanted to combine it with run.sh
, but parse_options.sh
is very strict, and the MFA options are different from the tts.sh
options. So i thought having a separate file is better because defaults are different from run.sh
. If someone wants to use MFA, they can run it directly.
@iamanigeeit , If possible, add some test for |
@Fhrozen I have added Is there a way to pause or stop the CI checks before everything is finalized? I feel like i am wasting ESPnet project funds on minor changes... |
You can use |
Yeah, but it does not go through the CI test anyway due to |
# Conflicts: # test/test_cleaners.py
for more information, see https://pre-commit.ci
Adds MFA to the makefile and install.sh and makes sure MFA phoneme tokenizer is tested.
for more information, see https://pre-commit.ci
…_ffmpeg_conda.sh for details.
for more information, see https://pre-commit.ci
Conda installation problems were caused by installing |
…_ffmpeg_conda.sh for details.
# Conflicts: # tools/installers/install_ffmpeg_conda.sh
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…sions / installs. This commit is to remove stress from the Arabic test
…sions / installs. This commit is to remove stress from the Arabic test
I have updated the following to make MFA work and clean up MFA scripts.
phoneme_tokenizer.py
: added MFA G2P for all MFA languages. Added Espeak G2P including word separator, as training MFA with custom dictionary requires word splitting.mfa_cleaners.py
: text cleaner added for MFA Englishcleaner.py
includes MFA English and edited to put all cleaning functions in TextCleaner.init() instead of call()mfa_format.py
: cleaned up help and comments. Allows both json and TextGrid formats (Praat only reads .TextGrid). make_dictionary allows multiple pronunciations per word.install_mfa.sh
is updated to the latest working version of MFA. Disabled pip installation as it is not recommended.mfa.sh
: cleaned up help and comments. Updated for new MFA syntax as some args were wrong. Added options for textgrid format and single speaker.local/run_mfa.sh
andrun_mfa.sh
are updated to reflect above changescopy_data_dir.sh
now has durations fileThe simplified process to train TTS with MFA is now: