Chris@8: @prefix rdfs: . Chris@8: @prefix xsd: . Chris@8: @prefix vamp: . Chris@8: @prefix plugbase: . Chris@8: @prefix owl: . Chris@8: @prefix dc: . Chris@8: @prefix af: . Chris@8: @prefix foaf: . Chris@77: @prefix doap: . Chris@8: @prefix cc: . Chris@11: @prefix : <#> . Chris@8: Chris@77: <> a vamp:PluginDescription ; Chris@77: foaf:maker ; Chris@77: foaf:primaryTopic . Chris@8: Chris@77: :library_maker Chris@50: foaf:name "Simon Dixon and Chris Cannam" ; Chris@49: foaf:logo ; Chris@77: foaf:page ; Chris@77: . Chris@49: Chris@49: plugbase:library a vamp:PluginLibrary ; Chris@8: vamp:identifier "match-vamp-plugin" ; Chris@49: dc:title "MATCH Vamp Plugin" ; Chris@49: dc:description """Vamp implementation of the MATCH audio alignment algorithm from Simon Dixon. Sonic Visualiser can use this for automatic time alignment among multiple audio files.""" ; Chris@8: vamp:available_plugin plugbase:match ; Chris@77: foaf:maker :library_maker ; Chris@49: foaf:page ; Chris@8: . Chris@8: Chris@8: plugbase:match a vamp:Plugin ; Chris@8: dc:title "Match Performance Aligner" ; Chris@8: vamp:name "Match Performance Aligner" ; Chris@8: dc:description """Calculate alignment between two performances in separate channel inputs""" ; Chris@77: foaf:maker :library_maker ; Chris@8: dc:rights """GPL""" ; Chris@8: # cc:license ; Chris@8: vamp:identifier "match" ; Chris@8: vamp:vamp_API_version vamp:api_version_2 ; Chris@77: owl:versionInfo "3" ; Chris@8: vamp:input_domain vamp:FrequencyDomain ; Chris@8: Chris@77: vamp:parameter plugbase:match_param_freq1 ; Chris@77: vamp:parameter plugbase:match_param_freq2 ; Chris@77: vamp:parameter plugbase:match_param_usechroma ; Chris@77: vamp:parameter plugbase:match_param_usespecdiff ; Chris@77: vamp:parameter plugbase:match_param_framenorm ; Chris@77: vamp:parameter plugbase:match_param_metric ; Chris@77: vamp:parameter plugbase:match_param_distnorm ; Chris@77: vamp:parameter plugbase:match_param_silencethreshold ; Chris@77: vamp:parameter plugbase:match_param_noise ; Chris@77: vamp:parameter plugbase:match_param_gradientlimit ; Chris@77: vamp:parameter plugbase:match_param_zonewidth ; Chris@77: vamp:parameter plugbase:match_param_diagonalweight ; Chris@77: vamp:parameter plugbase:match_param_smooth ; Chris@8: vamp:parameter plugbase:match_param_serialise ; Chris@8: Chris@8: vamp:output plugbase:match_output_path ; Chris@8: vamp:output plugbase:match_output_a_b ; Chris@8: vamp:output plugbase:match_output_b_a ; Chris@8: vamp:output plugbase:match_output_a_b_divergence ; Chris@8: vamp:output plugbase:match_output_a_b_temporatio ; Chris@77: vamp:output plugbase:match_output_a_features ; Chris@77: vamp:output plugbase:match_output_b_features ; Chris@77: vamp:output plugbase:match_output_a_cfeatures ; Chris@77: vamp:output plugbase:match_output_b_cfeatures ; Chris@77: vamp:output plugbase:match_output_overall_cost ; Chris@77: . Chris@77: Chris@77: plugbase:match_param_freq1 a vamp:Parameter ; Chris@77: vamp:identifier "freq1" ; Chris@77: dc:title "Tuning frequency of first input" ; Chris@77: dc:format "Hz" ; Chris@77: vamp:min_value 220 ; Chris@77: vamp:max_value 880 ; Chris@77: vamp:unit "Hz" ; Chris@77: vamp:default_value 440 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_freq2 a vamp:Parameter ; Chris@77: vamp:identifier "freq2" ; Chris@77: dc:title "Tuning frequency of second input" ; Chris@77: dc:format "Hz" ; Chris@77: vamp:min_value 220 ; Chris@77: vamp:max_value 880 ; Chris@77: vamp:unit "Hz" ; Chris@77: vamp:default_value 440 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_usechroma a vamp:QuantizedParameter ; Chris@77: vamp:identifier "usechroma" ; Chris@77: dc:title "Feature type" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 1 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 0 ; Chris@77: vamp:value_names ( "Spectral" "Chroma"); Chris@77: . Chris@77: plugbase:match_param_usespecdiff a vamp:QuantizedParameter ; Chris@77: vamp:identifier "usespecdiff" ; Chris@77: dc:title "Use feature difference" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 1 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 1 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_framenorm a vamp:QuantizedParameter ; Chris@77: vamp:identifier "framenorm" ; Chris@77: dc:title "Frame normalisation" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 2 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 1 ; Chris@77: vamp:value_names ( "None" "Sum to 1" "Long-term average"); Chris@77: . Chris@77: plugbase:match_param_metric a vamp:QuantizedParameter ; Chris@77: vamp:identifier "metric" ; Chris@77: dc:title "Distance metric" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 2 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 0 ; Chris@77: vamp:value_names ( "Manhattan" "Euclidean" "Cosine"); Chris@77: . Chris@77: plugbase:match_param_distnorm a vamp:QuantizedParameter ; Chris@77: vamp:identifier "distnorm" ; Chris@77: dc:title "Distance normalisation" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 2 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 2 ; Chris@77: vamp:value_names ( "None" "Sum of frames" "Log sum of frames"); Chris@77: . Chris@77: plugbase:match_param_silencethreshold a vamp:Parameter ; Chris@77: vamp:identifier "silencethreshold" ; Chris@77: dc:title "Silence threshold" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 0.1 ; Chris@77: vamp:unit "" ; Chris@77: vamp:default_value 0.01 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_noise a vamp:QuantizedParameter ; Chris@77: vamp:identifier "noise" ; Chris@77: dc:title "Add noise" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 1 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 1 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_gradientlimit a vamp:QuantizedParameter ; Chris@77: vamp:identifier "gradientlimit" ; Chris@77: dc:title "Gradient limit" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 1 ; Chris@77: vamp:max_value 10 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 3 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_zonewidth a vamp:QuantizedParameter ; Chris@77: vamp:identifier "zonewidth" ; Chris@77: dc:title "Search zone width" ; Chris@77: dc:format "s" ; Chris@77: vamp:min_value 1 ; Chris@77: vamp:max_value 60 ; Chris@77: vamp:unit "s" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 10 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_diagonalweight a vamp:Parameter ; Chris@77: vamp:identifier "diagonalweight" ; Chris@77: dc:title "Diagonal weight" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 1 ; Chris@77: vamp:max_value 2 ; Chris@77: vamp:unit "" ; Chris@77: vamp:default_value 2 ; Chris@77: vamp:value_names (); Chris@77: . Chris@77: plugbase:match_param_smooth a vamp:QuantizedParameter ; Chris@77: vamp:identifier "smooth" ; Chris@77: dc:title "Use path smoothing" ; Chris@77: dc:format "" ; Chris@77: vamp:min_value 0 ; Chris@77: vamp:max_value 1 ; Chris@77: vamp:unit "" ; Chris@77: vamp:quantize_step 1 ; Chris@77: vamp:default_value 0 ; Chris@77: vamp:value_names (); Chris@8: . Chris@8: plugbase:match_param_serialise a vamp:QuantizedParameter ; Chris@8: vamp:identifier "serialise" ; Chris@77: dc:title "Serialise plugin invocations" ; Chris@8: dc:format "" ; Chris@8: vamp:min_value 0 ; Chris@8: vamp:max_value 1 ; Chris@8: vamp:unit "" ; Chris@8: vamp:quantize_step 1 ; Chris@8: vamp:default_value 0 ; Chris@8: vamp:value_names (); Chris@8: . Chris@8: plugbase:match_output_path a vamp:SparseOutput ; Chris@8: vamp:identifier "path" ; Chris@8: dc:title "Path" ; Chris@77: dc:description """Alignment path""" ; Chris@8: vamp:fixed_bin_count "true" ; Chris@8: vamp:unit "" ; Chris@8: a vamp:QuantizedOutput ; Chris@8: vamp:quantize_step 1 ; Chris@8: vamp:bin_count 1 ; Chris@8: vamp:sample_type vamp:VariableSampleRate ; Chris@8: vamp:sample_rate 50 ; Chris@8: # vamp:computes_event_type ; Chris@8: # vamp:computes_feature ; Chris@8: # vamp:computes_signal_type ; Chris@8: . Chris@8: plugbase:match_output_a_b a vamp:SparseOutput ; Chris@8: vamp:identifier "a_b" ; Chris@8: dc:title "A-B Timeline" ; Chris@77: dc:description """Timing in performance B corresponding to moments in performance A""" ; Chris@8: vamp:fixed_bin_count "true" ; Chris@8: vamp:unit "sec" ; Chris@8: vamp:bin_count 1 ; Chris@8: vamp:sample_type vamp:VariableSampleRate ; Chris@8: vamp:sample_rate 50 ; Chris@8: # vamp:computes_event_type ; Chris@8: # vamp:computes_feature ; Chris@8: # vamp:computes_signal_type ; Chris@8: . Chris@8: plugbase:match_output_b_a a vamp:SparseOutput ; Chris@8: vamp:identifier "b_a" ; Chris@8: dc:title "B-A Timeline" ; Chris@77: dc:description """Timing in performance A corresponding to moments in performance B""" ; Chris@8: vamp:fixed_bin_count "true" ; Chris@8: vamp:unit "sec" ; Chris@8: vamp:bin_count 1 ; Chris@8: vamp:sample_type vamp:VariableSampleRate ; Chris@8: vamp:sample_rate 50 ; Chris@8: # vamp:computes_event_type ; Chris@8: # vamp:computes_feature ; Chris@8: # vamp:computes_signal_type ; Chris@8: . Chris@8: plugbase:match_output_a_b_divergence a vamp:SparseOutput ; Chris@8: vamp:identifier "a_b_divergence" ; Chris@8: dc:title "A-B Divergence" ; Chris@77: dc:description """Difference between timings in performances A and B""" ; Chris@8: vamp:fixed_bin_count "true" ; Chris@8: vamp:unit "sec" ; Chris@8: vamp:bin_count 1 ; Chris@8: vamp:sample_type vamp:VariableSampleRate ; Chris@8: vamp:sample_rate 50 ; Chris@8: # vamp:computes_event_type ; Chris@8: # vamp:computes_feature ; Chris@8: # vamp:computes_signal_type ; Chris@8: . Chris@8: plugbase:match_output_a_b_temporatio a vamp:SparseOutput ; Chris@8: vamp:identifier "a_b_temporatio" ; Chris@8: dc:title "A-B Tempo Ratio" ; Chris@77: dc:description """Ratio of tempi between performances A and B""" ; Chris@8: vamp:fixed_bin_count "true" ; Chris@8: vamp:unit "" ; Chris@8: vamp:bin_count 1 ; Chris@8: vamp:sample_type vamp:VariableSampleRate ; Chris@8: vamp:sample_rate 50 ; Chris@8: # vamp:computes_event_type ; Chris@8: # vamp:computes_feature ; Chris@8: # vamp:computes_signal_type ; Chris@8: . Chris@77: plugbase:match_output_a_features a vamp:DenseOutput ; Chris@77: vamp:identifier "a_features" ; Chris@77: dc:title "Raw A Features" ; Chris@77: dc:description """Spectral features extracted from performance A""" ; Chris@77: vamp:fixed_bin_count "true" ; Chris@77: vamp:unit "" ; Chris@77: vamp:bin_count 84 ; Chris@77: # vamp:computes_event_type ; Chris@77: # vamp:computes_feature ; Chris@77: # vamp:computes_signal_type ; Chris@77: . Chris@77: plugbase:match_output_b_features a vamp:DenseOutput ; Chris@77: vamp:identifier "b_features" ; Chris@77: dc:title "Raw B Features" ; Chris@77: dc:description """Spectral features extracted from performance B""" ; Chris@77: vamp:fixed_bin_count "true" ; Chris@77: vamp:unit "" ; Chris@77: vamp:bin_count 84 ; Chris@77: # vamp:computes_event_type ; Chris@77: # vamp:computes_feature ; Chris@77: # vamp:computes_signal_type ; Chris@77: . Chris@77: plugbase:match_output_a_cfeatures a vamp:DenseOutput ; Chris@77: vamp:identifier "a_cfeatures" ; Chris@77: dc:title "Conditioned A Features" ; Chris@77: dc:description """Spectral features extracted from performance A, after normalisation and conditioning""" ; Chris@77: vamp:fixed_bin_count "true" ; Chris@77: vamp:unit "" ; Chris@77: vamp:bin_count 84 ; Chris@77: # vamp:computes_event_type ; Chris@77: # vamp:computes_feature ; Chris@77: # vamp:computes_signal_type ; Chris@77: . Chris@77: plugbase:match_output_b_cfeatures a vamp:DenseOutput ; Chris@77: vamp:identifier "b_cfeatures" ; Chris@77: dc:title "Conditioned B Features" ; Chris@77: dc:description """Spectral features extracted from performance B, after norrmalisation and conditioning""" ; Chris@77: vamp:fixed_bin_count "true" ; Chris@77: vamp:unit "" ; Chris@77: vamp:bin_count 84 ; Chris@77: # vamp:computes_event_type ; Chris@77: # vamp:computes_feature ; Chris@77: # vamp:computes_signal_type ; Chris@77: . Chris@77: plugbase:match_output_overall_cost a vamp:DenseOutput ; Chris@77: vamp:identifier "overall_cost" ; Chris@77: dc:title "Overall Cost" ; Chris@77: dc:description """Normalised overall path cost for the cheapest path""" ; Chris@77: vamp:fixed_bin_count "true" ; Chris@77: vamp:unit "" ; Chris@77: vamp:bin_count 1 ; Chris@77: # vamp:computes_event_type ; Chris@77: # vamp:computes_feature ; Chris@77: # vamp:computes_signal_type ; Chris@77: . Chris@8: