[TTS] Conditioning pitch, duration, decoder on speaker embedding in FastPitch
Signed-off-by: Subhankar Ghosh [email protected]
What does this PR do ?
FastPitch multi-speaker code was setup such that speaker embeddings would only condition the encoder. This PR changes that and conditions encoder, pitch predictor, duration predictor and decoder on the speaker embeddings. Through experimentation this approach has been seen to produce better quality speech in a multi-speaker setting. This PR does not affect single speaker scenario.
Collection: [Note which collection this PR will affect]
tts/modules
Changelog
- Add specific line by line info of high level changes in this PR.
Usage
- You can potentially add a usage example below
# Add a code snippet demonstrating how to use this
Before your PR is "Ready for review"
Pre checks:
- [ ] Make sure you read and followed Contributor guidelines
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
- [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
PR Type:
- [ ] New Feature
- [ ] Bugfix
- [ ] Documentation
If you haven't finished some of the above items you can still open "Draft" PR.
Who can review?
Anyone in the community is free to review the PR once the checks have passed. Contributor guidelines contains specific people who can review PRs to various areas.
Additional Information
- Related to # (issue)
@subhankar-ghosh looks good! I wonder if extra conditioning improves the loss of predictors.