 # Control flow

The propagation of F0 estimates is performed separately for each voiced region. The first step in this procedure is the definition of the propagation order and the propagation end points. The propagation starts with the stable interval that contains the frame with the highest mean energy in the equal section. From this equal section, the propagation flows first to the left side and then to the right side. For each stable interval containing an equal section, we define the right and the left propagation end points. They are the start and end frames of the voiced region if there is only one stable interval in the voiced region. The propagation end points are the local energy minimum frame and its direct neighbor if there is a local energy minimum between two stable intervals S1 and S2. They are the start frame and the preceding frame of S2 if there is no local energy minimum between S1 and S2 and S2 has lower energy than S1. In a similar way, the propagation end points are the end frame and its successor frame of S1 if there is no local energy minimum between S1 and S2 and S1 has lower energy than S2. Figure 9.3 shows the propagation directions, order and end points of a voiced segment that contains two stable intervals with equal sections E0 and E1. For simplicity, the stable interval that contains E0 and the stable interval that contains E1 are not shown in the figure. Figure 9.3. Propagation order, directions and end points of a voiced region. Propagation start and end points are marked at the center positions of frames. Propagation starts from equal section E1 as it has frames with higher energies than E0

Next, we compute candidate F0 values for the unstable frames using the method presented in section 9.3, but with a restricted range of tolerable F0. We calculate the mean F0 of the equal section where the propagation starts. The lower and upper bounds of the tolerable F0 range are an octave lower than this mean F0 value and two-thirds of an octave higher than it. In contrast to the F0 estimation method for stable intervals, the check for multiple periods is omitted since it would hardly work in unstable intervals with potentially strongly varying peak heights.

The main part of the F0 propagation stage is to check whether the F0 estimate of a frame is in accordance with the F0 of its previous frame and if not, to perform a peak propagation step (see section 9.4.2) to find the most plausible peak continuation sequence. The frame’s actual F0 is derived from the detected peak continuation sequence. The peak continuation sequence may be regular but may also contain elongated or shortened periods or octave jumps. As soon as a propagation end point is reached, we check whether the mean F0 of the equal section of the next stable interval is similar to the mean F0 of the most recently calculated values. Propagation continues normally from the next stable interval if this condition holds. Otherwise, the list of equal sections in a stable interval is inspected for a better fitting equal section and the algorithm uses this as the new propagation starting point if such an equal section is found. 