From: Chris Cannam Date: Wed, 5 Dec 2012 13:31:31 +0000 (+0000) Subject: Add RDF, optimisation X-Git-Tag: hgimport~7 X-Git-Url: https://git.aubio.org/?p=vamp-aubio-plugins.git;a=commitdiff_plain;h=b5639a5ce87b180f469a76846e470f67d9e5f434 Add RDF, optimisation --- diff --git a/Makefile b/Makefile index a655e4d..c50b2eb 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ AUBIODIR = aubio # Compile flags # -CFLAGS := -I. -Iaubio/src $(CFLAGS) -fPIC -DDEBUG -g -Wall -I. +CFLAGS := -I. -Iaubio/src $(CFLAGS) -fPIC -DDEBUG -O2 -Wall -I. CXXFLAGS := $(CFLAGS) # Libraries required for the plugins. diff --git a/vamp-aubio.n3 b/vamp-aubio.n3 new file mode 100644 index 0000000..79f46b4 --- /dev/null +++ b/vamp-aubio.n3 @@ -0,0 +1,447 @@ +@prefix rdfs: . +@prefix xsd: . +@prefix vamp: . +@prefix plugbase: . +@prefix owl: . +@prefix dc: . +@prefix af: . +@prefix foaf: . +@prefix cc: . +@prefix : <#> . + +<> a vamp:PluginDescription ; + foaf:maker ; + foaf:primaryTopic . + +:vamp-aubio a vamp:PluginLibrary ; + vamp:identifier "vamp-aubio" ; + vamp:available_plugin plugbase:aubionotes ; + vamp:available_plugin plugbase:aubioonset ; + vamp:available_plugin plugbase:aubiopitch ; + vamp:available_plugin plugbase:aubiosilence ; + vamp:available_plugin plugbase:aubiotempo ; +# foaf:page ; + . + +plugbase:aubionotes a vamp:Plugin ; + dc:title "Aubio Note Tracker" ; + vamp:name "Aubio Note Tracker" ; + dc:description """Estimate note onset positions, pitches and durations""" ; + foaf:maker [ foaf:name "Paul Brossier (plugin by Chris Cannam)" ] ; # FIXME could give plugin author's URI here + dc:rights """GPL""" ; +# cc:license ; + vamp:identifier "aubionotes" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "4" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter plugbase:aubionotes_param_onsettype ; + vamp:parameter plugbase:aubionotes_param_pitchtype ; + vamp:parameter plugbase:aubionotes_param_minpitch ; + vamp:parameter plugbase:aubionotes_param_maxpitch ; + vamp:parameter plugbase:aubionotes_param_wraprange ; + vamp:parameter plugbase:aubionotes_param_avoidleaps ; + vamp:parameter plugbase:aubionotes_param_peakpickthreshold ; + vamp:parameter plugbase:aubionotes_param_silencethreshold ; + vamp:parameter plugbase:aubionotes_param_minioi ; + + vamp:output plugbase:aubionotes_output_notes ; + . +plugbase:aubionotes_param_onsettype a vamp:QuantizedParameter ; + vamp:identifier "onsettype" ; + dc:title "Onset Detection Function Type" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 7 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 3 ; + vamp:value_names ( "Energy Based" "Spectral Difference" "High-Frequency Content" "Complex Domain" "Phase Deviation" "Kullback-Liebler" "Modified Kullback-Liebler" "Spectral Flux"); + . +plugbase:aubionotes_param_pitchtype a vamp:QuantizedParameter ; + vamp:identifier "pitchtype" ; + dc:title "Pitch Detection Function Type" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 4 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 4 ; + vamp:value_names ( "YIN Frequency Estimator" "Spectral Comb" "Schmitt" "Fast Harmonic Comb" "YIN with FFT"); + . +plugbase:aubionotes_param_minpitch a vamp:QuantizedParameter ; + vamp:identifier "minpitch" ; + dc:title "Minimum Pitch" ; + dc:format "MIDI units" ; + vamp:min_value 0 ; + vamp:max_value 127 ; + vamp:unit "MIDI units" ; + vamp:quantize_step 1 ; + vamp:default_value 32 ; + vamp:value_names (); + . +plugbase:aubionotes_param_maxpitch a vamp:QuantizedParameter ; + vamp:identifier "maxpitch" ; + dc:title "Maximum Pitch" ; + dc:format "MIDI units" ; + vamp:min_value 0 ; + vamp:max_value 127 ; + vamp:unit "MIDI units" ; + vamp:quantize_step 1 ; + vamp:default_value 95 ; + vamp:value_names (); + . +plugbase:aubionotes_param_wraprange a vamp:QuantizedParameter ; + vamp:identifier "wraprange" ; + dc:title "Fold Higher or Lower Notes into Range" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 0 ; + vamp:value_names (); + . +plugbase:aubionotes_param_avoidleaps a vamp:QuantizedParameter ; + vamp:identifier "avoidleaps" ; + dc:title "Avoid Multi-Octave Jumps" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 0 ; + vamp:value_names (); + . +plugbase:aubionotes_param_peakpickthreshold a vamp:Parameter ; + vamp:identifier "peakpickthreshold" ; + dc:title "Peak Picker Threshold" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:default_value 0.3 ; + vamp:value_names (); + . +plugbase:aubionotes_param_silencethreshold a vamp:Parameter ; + vamp:identifier "silencethreshold" ; + dc:title "Silence Threshold" ; + dc:format "dB" ; + vamp:min_value -120 ; + vamp:max_value 0 ; + vamp:unit "dB" ; + vamp:default_value -70 ; + vamp:value_names (); + . +plugbase:aubionotes_param_minioi a vamp:QuantizedParameter ; + vamp:identifier "minioi" ; + dc:title "Minimum Inter-Onset Interval" ; + dc:format "ms" ; + vamp:min_value 0 ; + vamp:max_value 40 ; + vamp:unit "ms" ; + vamp:quantize_step 1 ; + vamp:default_value 4 ; + vamp:value_names (); + . +plugbase:aubionotes_output_notes a vamp:SparseOutput ; + vamp:identifier "notes" ; + dc:title "Notes" ; + dc:description """""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "Hz" ; + vamp:bin_count 2 ; + vamp:bin_names ( "Frequency" "Velocity"); + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubioonset a vamp:Plugin ; + dc:title "Aubio Onset Detector" ; + vamp:name "Aubio Onset Detector" ; + dc:description """Estimate note onset times""" ; + foaf:maker [ foaf:name "Paul Brossier (plugin by Chris Cannam)" ] ; # FIXME could give plugin author's URI here + dc:rights """GPL""" ; +# cc:license ; + vamp:identifier "aubioonset" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "2" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter plugbase:aubioonset_param_onsettype ; + vamp:parameter plugbase:aubioonset_param_peakpickthreshold ; + vamp:parameter plugbase:aubioonset_param_silencethreshold ; + vamp:parameter plugbase:aubioonset_param_minioi ; + + vamp:output plugbase:aubioonset_output_onsets ; + . +plugbase:aubioonset_param_onsettype a vamp:QuantizedParameter ; + vamp:identifier "onsettype" ; + dc:title "Onset Detection Function Type" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 7 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 3 ; + vamp:value_names ( "Energy Based" "Spectral Difference" "High-Frequency Content" "Complex Domain" "Phase Deviation" "Kullback-Liebler" "Modified Kullback-Liebler" "Spectral Flux"); + . +plugbase:aubioonset_param_peakpickthreshold a vamp:Parameter ; + vamp:identifier "peakpickthreshold" ; + dc:title "Peak Picker Threshold" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:default_value 0.3 ; + vamp:value_names (); + . +plugbase:aubioonset_param_silencethreshold a vamp:Parameter ; + vamp:identifier "silencethreshold" ; + dc:title "Silence Threshold" ; + dc:format "dB" ; + vamp:min_value -120 ; + vamp:max_value 0 ; + vamp:unit "dB" ; + vamp:default_value -70 ; + vamp:value_names (); + . +plugbase:aubioonset_param_minioi a vamp:QuantizedParameter ; + vamp:identifier "minioi" ; + dc:title "Minimum Inter-Onset Interval" ; + dc:format "ms" ; + vamp:min_value 0 ; + vamp:max_value 40 ; + vamp:unit "ms" ; + vamp:quantize_step 1 ; + vamp:default_value 4 ; + vamp:value_names (); + . +plugbase:aubioonset_output_onsets a vamp:SparseOutput ; + vamp:identifier "onsets" ; + dc:title "Onsets" ; + dc:description """""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubiopitch a vamp:Plugin ; + dc:title "Aubio Pitch Detector" ; + vamp:name "Aubio Pitch Detector" ; + dc:description """Track estimated note pitches""" ; + foaf:maker [ foaf:name "Paul Brossier (plugin by Chris Cannam)" ] ; # FIXME could give plugin author's URI here + dc:rights """GPL""" ; +# cc:license ; + vamp:identifier "aubiopitch" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "3" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter plugbase:aubiopitch_param_pitchtype ; + vamp:parameter plugbase:aubiopitch_param_minfreq ; + vamp:parameter plugbase:aubiopitch_param_maxfreq ; + vamp:parameter plugbase:aubiopitch_param_wraprange ; + vamp:parameter plugbase:aubiopitch_param_silencethreshold ; + + vamp:output plugbase:aubiopitch_output_frequency ; + . +plugbase:aubiopitch_param_pitchtype a vamp:QuantizedParameter ; + vamp:identifier "pitchtype" ; + dc:title "Pitch Detection Function Type" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 4 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 4 ; + vamp:value_names ( "YIN Frequency Estimator" "Spectral Comb" "Schmitt" "Fast Harmonic Comb" "YIN with FFT"); + . +plugbase:aubiopitch_param_minfreq a vamp:Parameter ; + vamp:identifier "minfreq" ; + dc:title "Minimum Fundamental Frequency" ; + dc:format "Hz" ; + vamp:min_value 1 ; + vamp:max_value 24000 ; + vamp:unit "Hz" ; + vamp:default_value 51.9131 ; + vamp:value_names (); + . +plugbase:aubiopitch_param_maxfreq a vamp:Parameter ; + vamp:identifier "maxfreq" ; + dc:title "Maximum Fundamental Frequency" ; + dc:format "Hz" ; + vamp:min_value 1 ; + vamp:max_value 24000 ; + vamp:unit "Hz" ; + vamp:default_value 1975.53 ; + vamp:value_names (); + . +plugbase:aubiopitch_param_wraprange a vamp:QuantizedParameter ; + vamp:identifier "wraprange" ; + dc:title "Fold Higher or Lower Frequencies into Range" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 0 ; + vamp:value_names (); + . +plugbase:aubiopitch_param_silencethreshold a vamp:Parameter ; + vamp:identifier "silencethreshold" ; + dc:title "Silence Threshold" ; + dc:format "dB" ; + vamp:min_value -120 ; + vamp:max_value 0 ; + vamp:unit "dB" ; + vamp:default_value -90 ; + vamp:value_names (); + . +plugbase:aubiopitch_output_frequency a vamp:SparseOutput ; + vamp:identifier "frequency" ; + dc:title "Fundamental Frequency" ; + dc:description """""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "Hz" ; + vamp:bin_count 1 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubiosilence a vamp:Plugin ; + dc:title "Aubio Silence Detector" ; + vamp:name "Aubio Silence Detector" ; + dc:description """Detect levels below a certain threshold""" ; + foaf:maker [ foaf:name "Paul Brossier (plugin by Chris Cannam)" ] ; # FIXME could give plugin author's URI here + dc:rights """GPL""" ; +# cc:license ; + vamp:identifier "aubiosilence" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "4" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter plugbase:aubiosilence_param_silencethreshold ; + + vamp:output plugbase:aubiosilence_output_silent ; + vamp:output plugbase:aubiosilence_output_noisy ; + vamp:output plugbase:aubiosilence_output_silencelevel ; + . +plugbase:aubiosilence_param_silencethreshold a vamp:Parameter ; + vamp:identifier "silencethreshold" ; + dc:title "Silence Threshold" ; + dc:format "dB" ; + vamp:min_value -120 ; + vamp:max_value 0 ; + vamp:unit "dB" ; + vamp:default_value -80 ; + vamp:value_names (); + . +plugbase:aubiosilence_output_silent a vamp:SparseOutput ; + vamp:identifier "silent" ; + dc:title "Silent Regions" ; + dc:description """Return an interval covering each silent region""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubiosilence_output_noisy a vamp:SparseOutput ; + vamp:identifier "noisy" ; + dc:title "Non-Silent Regions" ; + dc:description """Return an interval covering each non-silent region""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubiosilence_output_silencelevel a vamp:SparseOutput ; + vamp:identifier "silencelevel" ; + dc:title "Silence Test" ; + dc:description """Return a function that switches from 1 to 0 when silence falls, and back again when it ends""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + a vamp:QuantizedOutput ; + vamp:quantize_step 1 ; + a vamp:KnownExtentsOutput ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:bin_count 1 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +plugbase:aubiotempo a vamp:Plugin ; + dc:title "Aubio Beat Tracker" ; + vamp:name "Aubio Beat Tracker" ; + dc:description """Estimate the musical tempo and track beat positions""" ; + foaf:maker [ foaf:name "Paul Brossier (method by Matthew Davies, plugin by Chris Cannam)" ] ; # FIXME could give plugin author's URI here + dc:rights """GPL""" ; +# cc:license ; + vamp:identifier "aubiotempo" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "2" ; + vamp:input_domain vamp:TimeDomain ; + + vamp:parameter plugbase:aubiotempo_param_onsettype ; + vamp:parameter plugbase:aubiotempo_param_peakpickthreshold ; + vamp:parameter plugbase:aubiotempo_param_silencethreshold ; + + vamp:output plugbase:aubiotempo_output_beats ; + . +plugbase:aubiotempo_param_onsettype a vamp:QuantizedParameter ; + vamp:identifier "onsettype" ; + dc:title "Onset Detection Function Type" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 7 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 3 ; + vamp:value_names ( "Energy Based" "Spectral Difference" "High-Frequency Content" "Complex Domain" "Phase Deviation" "Kullback-Liebler" "Modified Kullback-Liebler" "Spectral Flux"); + . +plugbase:aubiotempo_param_peakpickthreshold a vamp:Parameter ; + vamp:identifier "peakpickthreshold" ; + dc:title "Peak Picker Threshold" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:default_value 0.3 ; + vamp:value_names (); + . +plugbase:aubiotempo_param_silencethreshold a vamp:Parameter ; + vamp:identifier "silencethreshold" ; + dc:title "Silence Threshold" ; + dc:format "dB" ; + vamp:min_value -120 ; + vamp:max_value 0 ; + vamp:unit "dB" ; + vamp:default_value -70 ; + vamp:value_names (); + . +plugbase:aubiotempo_output_beats a vamp:SparseOutput ; + vamp:identifier "beats" ; + dc:title "Beats" ; + dc:description """""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 0 ; + vamp:sample_type vamp:VariableSampleRate ; +# vamp:computes_event_type ; +# vamp:computes_feature ; +# vamp:computes_signal_type ; + . +