Skip to content
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

Improve user experience and solve bugs #3

Merged
merged 33 commits into from
Dec 23, 2023

Conversation

egaznep
Copy link
Collaborator

@egaznep egaznep commented Dec 23, 2023

This PR addresses multiple issues at once.
Anonymization:

  • A possible crash due to libespeak-ng is mitigated.
  • Documentation and typing hints for most high level functions are provided
  • Anonymization instantiation is disentangled from the challenge code. If contestants want to make use of the STTTS pipeline with their own embedding mapper, this is now easier.

Evaluation:

  • A possible crash with pretrained evaluation models is mitigated.

General:

  • An installation procedure, in the form of a Makefile, is now provided for downloading and copying the pretrained models and setting up the conda environment. The instructions are provided in README.md

Unal Ege Gaznepoglu added 30 commits November 16, 2023 14:24
- Completed a variable name refactoring (from vec_level to emb_level) across multiple files.
- Now the anonymization pipeline is completely separated from the anonymizer object.
- Specify a BaseAnonymizer subclass in a config, then import that using !include syntax. Example is shown for GAN anonymizer.
- Add a Passthrough anonymizer
- Can convert the .scp files to absolute or relative.
- Makefile installs the environment local to the project folder.
- each libespeak backend instantiation creates a copy of the library.
- for some reason previous instances (for each utterance) are not garbage collected.
- latest at 1500 or 2000 times of ProsodyExtraction the anonymization pipeline crashes.
- As a temporary solution, since ProsodyExtraction does not support `n_processes>1`, we can make different instances share the backend, as long as specs do not change. This also accelerates the prosody extraction.

A better fix could be performed to also allow parallel execution but I couldn't see how today.
- Also fixed a duplicate `save_intermediate` entry in `anon_ims_sttts_pc.yaml`
- BaseAnonymizer and its descendants are now dumpable
- Improved documentation
- The configs now use !PLACEHOLDER tag from HyperPyYAML instead of the custom class
- Use absolute paths for `asr.sh` invocation
- Improved documentation
- Add missing !PLACEHOLDER tags
- Define two dataset configs, one for anonymization, one for evaluation (vctk all/common/diff requires separate treatment)
@SarinaMeyer SarinaMeyer merged commit 3a0c3b7 into DigitalPhonetics:main Dec 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants