PSOLA how to calculate synthesized Marks I have successfully extracts all Pitch Markers from waveforms, I used autocorrelation to find my pitch periods, The markers can be observed in the figure below:



I want change my signal (Pitch or Speed) using PSOLA, I need find the synthesized Marks, for example if I choose change my Pitch one octave UP(0.5), for it I need find the new markers to synthesize my signal, you can see in this figure below one example. 



How can I calculate the new marks to be synthesized (as Synthesized markers)?
Let $t_a(n)$ be the time of the n-th analysis mark ("Pitch marker"), $P_a(n)$ the period at the n-th analysis mark (it can be defined as $t_a(n+1) - t_a(n)$, $t_s(n)$ be the time of the n-th synthesis mark, $n_s(k)$ is a number whose integer part is the index of analysis segment to be overlapped-added when processing the n-th synthesis mark (it can also represent a weighted interpolation between two consecutive analysis marks).

The synthesis marks will be defined by the recurrence:
$$n_s(0) = 0$$
$$t_s(0) = t_a(0)$$
$$t_s(k) = t_s(k-1) + \alpha(n) P_a([n_s(k)])$$
$$n_s(k) = n_s(k-1) + \alpha(n)$$

$\alpha(n)$ is a stretch factor. It is 0.5 if you want to double the frequency. If you want unvoiced frames to be processed naturally (no stretching for them), you can actually make it dependent on the voiced/unvoiced analysis. In this case: it is 1 if the analysis mark $[n_s(k)]$ is unvoiced, and 0.5 or whatever is your pitch-shift factor when it is voiced.