Closed hdmjdp closed 3 years ago
Thank you for your question.
This conditional statement is for extracting the phase jump over the value pi. Generally, since this value does not exceed 2pi, you can't use the value of 2pi instead of pi. We can extract the temporal position at phase jump as the pulse location.
Thank you for your question.
This conditional statement is for extracting the phase jump over the value pi. Generally, since this value does not exceed 2pi, you can't use the value of 2pi instead of pi. We can extract the temporal position at phase jump as the pulse location.
so, the pi is empirical value, not theoretical value? or I can use 0.75pi?
The value pi is determined based on the phase unwrapping problem. You can change this value such as 0.75pi, but using the value pi causes no problem in almost every case. For example, if the F0 contour is set to above Nyquist frequency, the phase difference between N and N+1 samples would exceed pi. There may be a problem in cases where the F0 contour is around such high frequency.
The value pi is determined based on the phase unwrapping problem. You can change this value such as 0.75pi, but using the value pi causes no problem in almost every case. For example, if the F0 contour is set to above Nyquist frequency, the phase difference between N and N+1 samples would exceed pi. There may be a problem in cases where the F0 contour is around such high frequency.
Thank you. I will check the phase unwapping.
https://github.com/mmorise/World/blob/2c9d3030bf04516bdc19c0afa1ea5571eaaa2c59/src/synthesis.cpp#L259
why is pi not 2pi? can you explain how to got the pulse position?