"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "stats/dynamic_program.cc" between
speech_tools-2.4-release.tar.gz and speech_tools-2.5.0-release.tar.gz

About: The speech_tools - Edinburgh Speech Tools Library (used by the Festival Speech Synthesis System).

dynamic_program.cc  (speech_tools-2.4-release):dynamic_program.cc  (speech_tools-2.5.0-release)
skipping to change at line 177 skipping to change at line 177
l1 = lexical.length() + 1; l1 = lexical.length() + 1;
l2 = surface.length() + 1; l2 = surface.length() + 1;
vr1.resize(l1); vr1.resize(l1);
vr2.resize(l2); vr2.resize(l2);
// prepend null_syms // prepend null_syms
vr1[0] = null_sym; vr1[0] = null_sym;
vr2[0] = null_sym; vr2[0] = null_sym;
for (p=lexical.head(),i=1; p != 0; p = p->next(),i++) for (p=lexical.head(),i=1; p != 0; p = inext(p),i++)
vr1[i] = p; vr1[i] = p;
for (p=surface.head(),i=1; p != 0; p = p->next(),i++) for (p=surface.head(),i=1; p != 0; p = inext(p),i++)
vr2[i] = p; vr2[i] = p;
DP_path_i.resize(l1,l2); DP_path_i.resize(l1,l2);
DP_path_j.resize(l1,l2); DP_path_j.resize(l1,l2);
/* /*
cerr << "Pruning" << endl; cerr << "Pruning" << endl;
for(i=0;i<l1;i++) for(i=0;i<l1;i++)
{ {
for(j=0;j<l2;j++) for(j=0;j<l2;j++)
skipping to change at line 217 skipping to change at line 217
if(!dp_sub(l1-1,l2-1, if(!dp_sub(l1-1,l2-1,
vr1,vr2, vr1,vr2,
DP_path_i,DP_path_j, DP_path_i,DP_path_j,
lcf,lpf,null_sym,cost)) lcf,lpf,null_sym,cost))
{ {
cerr << "No path found (over pruning ?)" << endl; cerr << "No path found (over pruning ?)" << endl;
return FALSE; return FALSE;
} }
// make somewhere to record the relations // make somewhere to record the relations
//utt.create_relation("Match"); //utt.create_relation("Match");
for (p = lexical.head(); p; p = p->next()) for (p = lexical.head(); p; p = inext(p))
match.append(p); match.append(p);
/* /*
for(i=0;i<l1;i++) for(i=0;i<l1;i++)
{ {
for(j=0;j<l2;j++) for(j=0;j<l2;j++)
cerr << i << "," << j << "=[" << DP_path_i(i,j) << "," << DP_path_j(i ,j) << "] "; cerr << i << "," << j << "=[" << DP_path_i(i,j) << "," << DP_path_j(i ,j) << "] ";
cerr << endl; cerr << endl;
} }
cerr << endl; cerr << endl;
*/ */
trace_back_and_link(l1-1,l2-1, trace_back_and_link(l1-1,l2-1,
match.last(), match.rlast(),
surface.last(), surface.rlast(),
DP_path_i,DP_path_j,null_sym); DP_path_i,DP_path_j,null_sym);
return TRUE; return TRUE;
} }
bool dp_sub(int i, int j, bool dp_sub(int i, int j,
const EST_Item_ptr_Vector &vr1, const EST_Item_ptr_Vector &vr1,
const EST_Item_ptr_Vector &vr2, const EST_Item_ptr_Vector &vr2,
EST_IMatrix &DP_path_i, EST_IMatrix &DP_path_j, EST_IMatrix &DP_path_i, EST_IMatrix &DP_path_j,
local_cost_function lcf, local_cost_function lcf,
skipping to change at line 392 skipping to change at line 392
// reached start // reached start
return; return;
if(DP_path_i(i,j) == i-1) if(DP_path_i(i,j) == i-1)
{ {
if(DP_path_j(i,j) == j-1) if(DP_path_j(i,j) == j-1)
{ {
// match, or substitution // match, or substitution
//cerr << "sub " << p1->name() << " with " << p2->name() << endl; //cerr << "sub " << p1->name() << " with " << p2->name() << endl;
p1->append_daughter(p2); p1->append_daughter(p2);
p1=p1->prev(); p1=iprev(p1);
p2=p2->prev(); p2=iprev(p2);
} }
else else
// deletion // deletion
p1=p1->prev(); p1=iprev(p1);
} }
else else
{ {
// insertion // insertion
// p1->append_daughter(p2); // decorative // p1->append_daughter(p2); // decorative
p2=p2->prev(); p2=iprev(p2);
} }
trace_back_and_link(DP_path_i(i,j), DP_path_j(i,j), trace_back_and_link(DP_path_i(i,j), DP_path_j(i,j),
p1,p2, p1,p2,
DP_path_i,DP_path_j, DP_path_i,DP_path_j,
null_sym); null_sym);
} }
 End of changes. 7 change blocks. 
9 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)