diff options
Diffstat (limited to 'NT/src/nodes_audio_analysis.cpp')
| -rw-r--r-- | NT/src/nodes_audio_analysis.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/NT/src/nodes_audio_analysis.cpp b/NT/src/nodes_audio_analysis.cpp index 34ad325..2a3793d 100644 --- a/NT/src/nodes_audio_analysis.cpp +++ b/NT/src/nodes_audio_analysis.cpp @@ -219,7 +219,7 @@ namespace Rotor{ if (intensity<min_intensity) min_intensity=intensity; intensities.push_back(intensity); - //cerr<<"segment "<<i<<": "<<f->first<<" to "<<g->first<<" average tempo: "<<tempo<<" ,intensity: "<<intensity<<" ,weighted: "<<(tempo*parameters["tempo_weight"]->value)+(intensity*parameters["intensity_weight"]->value)<<endl; + //cerr<<"segment "<<i<<": "<<f->first<<" to "<<g->first<<" average tempo: "<<tempo<<" ,intensity: "<<intensity<<" ,weighted: "<<(tempo*tempo_weight->get())+(intensity*intensity_weight->get())<<endl; } // // @@ -239,8 +239,8 @@ namespace Rotor{ for (i=0;i<tempos.size();i++){ tempos[i]=(tempos[i]-min_tempo)/(max_tempo-min_tempo); intensities[i]=(intensities[i]-min_intensity)/(max_intensity-min_intensity); - totals.push_back(make_pair(i,(tempos[i]*parameters["tempo_weight"]->value)+(intensities[i]*parameters["intensity_weight"]->value))); - totalsmap.push_back((tempos[i]*parameters["tempo_weight"]->value)+(intensities[i]*parameters["intensity_weight"]->value)); + totals.push_back(make_pair(i,(tempos[i]*tempo_weight->get())+(intensities[i]*intensity_weight->get()))); + totalsmap.push_back((tempos[i]*tempo_weight->get())+(intensities[i]*intensity_weight->get())); } /* @@ -253,7 +253,7 @@ namespace Rotor{ for (auto t:totals) bucketoffsets.push_back(0.0); if (parameters["levels"]->value>0.0&¶meters["levels"]->value<totals.size()){ //use bucketoffsets to redistribute into smaller number of buckets - int numbertoredistribute=totals.size()-((int)parameters["levels"]->value); + int numbertoredistribute=totals.size()-(levels->get()); double numberperbin=((double)numbertoredistribute/totals.size()); double toadd=0.5f; int added=0; @@ -359,9 +359,9 @@ nned to retrieve total intensity by segment } */ - if (((int)parameters["levels"]->value)>0) { - if (seggrps.size()>(int)parameters["levels"]->value){ - while (seggrps.size()>(int)parameters["levels"]->value){ + if ((levels->get())>0) { + if (seggrps.size()>levels->get()){ + while (seggrps.size()>levels->get()){ //reduce similarity groups //decide the best 2 to merge vector<double> diffs; @@ -383,9 +383,9 @@ nned to retrieve total intensity by segment } cerr<<"intensities merged, "<<seggrps.size()<<" levels remain"<<endl; } - //cerr<<seggrps.size()<<" groups, "<<(int)parameters["levels"]->value<<" levels requested, "<<(int)totalsmap.size()<<" original segments"<<endl; - if (seggrps.size()<min((int)parameters["levels"]->value,(int)totalsmap.size())){ - while (seggrps.size()<min((int)parameters["levels"]->value,(int)totalsmap.size())) { + //cerr<<seggrps.size()<<" groups, "<<levels->get()<<" levels requested, "<<(int)totalsmap.size()<<" original segments"<<endl; + if (seggrps.size()<min(levels->get(),(int)totalsmap.size())){ + while (seggrps.size()<min(levels->get(),(int)totalsmap.size())) { //split groups //calculate standard deviation of intensity variation vector<double> devs; |
