Commit 850a642
committed
Don't advance active successor's frame in phone_transition
When phone_transition fires and the successor HMM is already active
(hmm_frame >= frame_idx), calling hmm_enter() overwrites hmm_frame
with nf even though the phone is already being tracked at the current
frame. Split the entry into two cases: inactive successors get a
full hmm_enter() with the new frame assignment; active ones only have
their in_score and in_history updated if the incoming score is better.
This is the correct Viterbi competition rule.1 parent 7a9785a commit 850a642
1 file changed
Lines changed: 6 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
124 | | - | |
125 | 124 | | |
126 | | - | |
127 | | - | |
| 125 | + | |
128 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
129 | 132 | | |
130 | 133 | | |
131 | 134 | | |
| |||
0 commit comments