diff options
Diffstat (limited to 'rotord/src/nodes_audio_analysis.h')
| -rw-r--r-- | rotord/src/nodes_audio_analysis.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/rotord/src/nodes_audio_analysis.h b/rotord/src/nodes_audio_analysis.h index 8cb70d0..7c4893a 100644 --- a/rotord/src/nodes_audio_analysis.h +++ b/rotord/src/nodes_audio_analysis.h @@ -39,11 +39,11 @@ namespace Rotor { void cleanup(){}; int process_frame(uint8_t *data,int samples_in_frame); void print_vector(xmlIO XML); - vector<float> audiodata; + vector<double> audiodata; int height,width,samples_per_column; int out_sample,sample,samples; int offset; - float scale,accum; + double scale,accum; }; class Vamp_node: public Audio_processor { //base class for vamp plugin hosts @@ -54,23 +54,23 @@ namespace Rotor { bool init(int _channels,int _bits,int _samples,int _rate); void cleanup(); int process_frame(uint8_t *data,int samples_in_frame); - const float output(const Time_spec &time) { + const double output(const Time_spec &time) { if (features.size()) { auto i=features.upper_bound(time.time); //the first element in the container whose key is considered to go after k if (i==features.end()) i--; - float uk=i->first; - float v1,v2; - v1=v2=0.0f; + double uk=i->first; + double v1,v2; + v1=v2=0.0; if (i->second.values.size()) v2=i->second.values[0]; i--; - float lk=i->first; + double lk=i->first; int ln=i->second.number; if (i->second.values.size()) v1=i->second.values[0]; switch (attributes["mode"]->intVal){ case VAMPHOST_Timeline: return (((time.time-lk)/(uk-lk))+ln); case VAMPHOST_Timesteps: - return (float)ln; + return (double)ln; case VAMPHOST_Valueline: return ((((time.time-lk)/(uk-lk))*(v2-v1))+v1); case VAMPHOST_Values: @@ -79,7 +79,7 @@ namespace Rotor { //} //return (--features.end())->second.values[0]; } - return 0.0f; + return 0.0; } string get_features(); void print_summary(){ @@ -100,7 +100,7 @@ namespace Rotor { //create_attribute("soname","Plugin library to use","Plugin library","vamp-example-plugins"); //create_attribute("id","ID of Plugin to use","Plugin ID","percussiononsets"); //create_attribute("analyser","Analyser Plugin to use","Analyser plugin","barbeattracker",{"barbeattracker","segmenter"}); - create_parameter("outputNo","number","Plugin output to use","Output number",0.0f); + create_parameter("outputNo","number","Plugin output to use","Output number",0.0); //title="Audio analysis"; //description="Analyse audio and output"; NODEID="b769f54e-2d0b-11e3-87dd-f73fc7b1c636"; @@ -122,7 +122,7 @@ namespace Rotor { //create_attribute("soname","Plugin library to use","Plugin library","vamp-example-plugins",{"horiz","vert","horizR","vertR"}); //create_attribute("id","ID of Plugin to use","Plugin ID","percussiononsets",{"horiz","vert","horizR","vertR"}); create_attribute("analyser","Analyser Plugin to use","Analyser plugin","barbeattracker",{"adaptivespectrum","barbeattracker","chromagram","dwt","mfcc","onsetdetector","segmenter","similarity","tempotracker","transcription"}); - create_parameter("outputNo","number","Plugin output to use","Output number",0.0f); + create_parameter("outputNo","number","Plugin output to use","Output number",0.0); title="Audio analysis"; description="Analyse audio and output"; NODEID="b769f54e-2d0b-11e3-87dd-f73fc7b1c636"; @@ -161,8 +161,8 @@ namespace Rotor { //vamp node that applies a ruleset to manage a set of acts via a cycler public: Act_segmenter(){ - create_parameter("outputNo","number","Plugin output to use","Output number",0.0f); - create_parameter("acts","number","Number of acts defined","Acts",1.0f); + create_parameter("outputNo","number","Plugin output to use","Output number",0.0); + create_parameter("acts","number","Number of acts defined","Acts",1.0); title="Act manager"; description="Applies a ruleset to manage acts based on segments"; NODEID="c55359a2-2d0b-11e3-8a3d-53fa9c2b8859"; @@ -287,9 +287,9 @@ namespace Rotor { analysers["segmenter"]=vampHost::Analyser(); analysers["tempo"]=vampHost::Analyser(); analysers["intensity"]=vampHost::Analyser(); - create_parameter("intensity_weight","number","intensity weight","Intensity weighting",1.0f); - create_parameter("tempo_weight","number","tempo weight","Tempo weighting",1.0f); - create_parameter("levels","number","levels","Number of intensity levels",0.0f); + create_parameter("intensity_weight","number","intensity weight","Intensity weighting",1.0); + create_parameter("tempo_weight","number","tempo weight","Tempo weighting",1.0); + create_parameter("levels","number","levels","Number of intensity levels",0.0); }; Intensity_segmenter(map<string,string> &settings):Intensity_segmenter() { base_settings(settings); |
