You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
About ceiling for calculating phoneme duration #11
Thank you for your opinion.
but as the implementation, minimum value of duration is 1 because torch.clamp_min is applied.
an extreme case, if you got duration [1.1, 1.1, 1.1, ....], torch.ceil outputs [2, 2, 2, 2, 2....], so this duration is about 2 times longer than model expected.
Essentially what happens here - VITS duration predictor is not very good and often predicts very short duration for important phones, which causes very visible phone skips in audio. This ceil helps to hide this problem by pushing duration up, but still creates many problems with intonation. To match original length the sound has to be scaled down by a factor of approximately 0.9 and still you have irregular duration sometimes.
The proper solution would be to improve duration predictor, then ceil can be replaced with round which leads to much better intonation (FAD reduces significantly) by this change.
Is there any reason to use torch.ceil instead of torch.round or other algorithms for calculating phoneme duration?
Thank you.