view nnls-chroma.n3 @ 50:b6cddb109482 matthiasm-plugin

added chord change value, some other tweaks
author matthiasm
date Mon, 25 Oct 2010 18:34:44 +0900
parents 61d35e59ee2b
children 01bc078f5f61
line wrap: on
line source
@prefix rdfs:     <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix vamp:     <http://purl.org/ontology/vamp/> .
@prefix plugbase: <http://vamp-plugins.org/rdf/plugins/nnls-chroma#> .
@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix dc:       <http://purl.org/dc/elements/1.1/> .
@prefix af:       <http://purl.org/ontology/af/> .
@prefix foaf:     <http://xmlns.com/foaf/0.1/> .
@prefix cc:       <http://web.resource.org/cc/> .
@prefix :         <#> .

<>  a   vamp:PluginDescription ;
    foaf:maker          <http://www.vamp-plugins.org/doap.rdf#template-generator> ;
    foaf:primaryTopic   <http://vamp-plugins.org/rdf/plugins/nnls-chroma> .

:nnls-chroma a  vamp:PluginLibrary ;
    vamp:identifier "nnls-chroma"  ; 
    vamp:available_plugin plugbase:chordino ; 
    vamp:available_plugin plugbase:nnls_chroma ; 
    vamp:available_plugin plugbase:tuning ; 
#   foaf:page <Place more-information HTML page URL here and uncomment> ;
    .

plugbase:chordino a   vamp:Plugin ;
    dc:title              "Chordino" ;
    vamp:name             "Chordino" ;
    dc:description        """This plugin provides a number of features derived from a log-frequency amplitude spectrum of the DFT: some variants of the log-frequency spectrum, including a semitone spectrum derived from approximate transcription using the NNLS algorithm; based on this semitone spectrum, chroma features and a simple chord estimate.""" ;
    foaf:maker            [ foaf:name "Matthias Mauch" ] ; # FIXME could give plugin author's URI here
    dc:rights             """GPL""" ;
#   cc:license            <Place plugin license URI here and uncomment> ; 
    vamp:identifier       "chordino" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:FrequencyDomain ;


    vamp:parameter   plugbase:chordino_param_preset ;
    vamp:parameter   plugbase:chordino_param_rollon ;
    vamp:parameter   plugbase:chordino_param_tuningmode ;
    vamp:parameter   plugbase:chordino_param_chromanormalize ;

    vamp:output      plugbase:chordino_output_simplechord ;
    vamp:output      plugbase:chordino_output_harmonicchange ;
    .
plugbase:chordino_param_preset a  vamp:QuantizedParameter ;
    vamp:identifier     "preset" ;
    dc:title            "preset" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "polyphonic pop" "polyphonic pop (fast)" "solo keyboard" "manual");
    .
plugbase:chordino_param_rollon a  vamp:Parameter ;
    vamp:identifier     "rollon" ;
    dc:title            "spectral roll-on" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           ""  ;
    vamp:default_value   0 ;
    vamp:value_names     ();
    .
plugbase:chordino_param_tuningmode a  vamp:QuantizedParameter ;
    vamp:identifier     "tuningmode" ;
    dc:title            "tuning mode" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "global tuning" "local tuning");
    .
plugbase:chordino_param_chromanormalize a  vamp:QuantizedParameter ;
    vamp:identifier     "chromanormalize" ;
    dc:title            "chroma normalization" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "none" "maximum norm" "L1 norm" "L2 norm");
    .
plugbase:chordino_output_simplechord a  vamp:SparseOutput ;
    vamp:identifier       "simplechord" ;
    dc:title              "Chord Estimate" ;
    dc:description        """A simple chord estimate based on the inner product of chord templates with the smoothed chroma."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        0 ;
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:sample_rate      21.5332 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:chordino_output_harmonicchange a  vamp:DenseOutput ;
    vamp:identifier       "harmonicchange" ;
    dc:title              "Harmonic Change Value" ;
    dc:description        """Harmonic change."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    a                 vamp:KnownExtentsOutput ;
    vamp:min_value    0  ;
    vamp:max_value    0.999  ;
    vamp:bin_count        1 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma a   vamp:Plugin ;
    dc:title              "NNLS Chroma" ;
    vamp:name             "NNLS Chroma" ;
    dc:description        """This plugin provides a number of features derived from a log-frequency amplitude spectrum of the DFT: some variants of the log-frequency spectrum, including a semitone spectrum derived from approximate transcription using the NNLS algorithm; based on this semitone spectrum, chroma features and a simple chord estimate.""" ;
    foaf:maker            [ foaf:name "Matthias Mauch" ] ; # FIXME could give plugin author's URI here
    dc:rights             """GPL""" ;
#   cc:license            <Place plugin license URI here and uncomment> ; 
    vamp:identifier       "nnls_chroma" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:FrequencyDomain ;


    vamp:parameter   plugbase:nnls_chroma_param_preset ;
    vamp:parameter   plugbase:nnls_chroma_param_rollon ;
    vamp:parameter   plugbase:nnls_chroma_param_tuningmode ;
    vamp:parameter   plugbase:nnls_chroma_param_chromanormalize ;

    vamp:output      plugbase:nnls_chroma_output_logfreqspec ;
    vamp:output      plugbase:nnls_chroma_output_tunedlogfreqspec ;
    vamp:output      plugbase:nnls_chroma_output_semitonespectrum ;
    vamp:output      plugbase:nnls_chroma_output_chroma ;
    vamp:output      plugbase:nnls_chroma_output_basschroma ;
    vamp:output      plugbase:nnls_chroma_output_bothchroma ;
    .
plugbase:nnls_chroma_param_preset a  vamp:QuantizedParameter ;
    vamp:identifier     "preset" ;
    dc:title            "preset" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "polyphonic pop" "polyphonic pop (fast)" "solo keyboard" "manual");
    .
plugbase:nnls_chroma_param_rollon a  vamp:Parameter ;
    vamp:identifier     "rollon" ;
    dc:title            "spectral roll-on" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           ""  ;
    vamp:default_value   0 ;
    vamp:value_names     ();
    .
plugbase:nnls_chroma_param_tuningmode a  vamp:QuantizedParameter ;
    vamp:identifier     "tuningmode" ;
    dc:title            "tuning mode" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "global tuning" "local tuning");
    .
plugbase:nnls_chroma_param_chromanormalize a  vamp:QuantizedParameter ;
    vamp:identifier     "chromanormalize" ;
    dc:title            "chroma normalization" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "none" "maximum norm" "L1 norm" "L2 norm");
    .
plugbase:nnls_chroma_output_logfreqspec a  vamp:DenseOutput ;
    vamp:identifier       "logfreqspec" ;
    dc:title              "Log-Frequency Spectrum" ;
    dc:description        """A Log-Frequency Spectrum (constant Q) that is obtained by cosine filter mapping."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        256 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma_output_tunedlogfreqspec a  vamp:DenseOutput ;
    vamp:identifier       "tunedlogfreqspec" ;
    dc:title              "Tuned Log-Frequency Spectrum" ;
    dc:description        """A Log-Frequency Spectrum (constant Q) that is obtained by cosine filter mapping, then its tuned using the estimated tuning frequency."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        256 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma_output_semitonespectrum a  vamp:DenseOutput ;
    vamp:identifier       "semitonespectrum" ;
    dc:title              "Semitone Spectrum" ;
    dc:description        """A semitone-spaced log-frequency spectrum derived from the third-of-a-semitone-spaced tuned log-frequency spectrum."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        84 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma_output_chroma a  vamp:DenseOutput ;
    vamp:identifier       "chroma" ;
    dc:title              "Chromagram" ;
    dc:description        """Tuning-adjusted chromagram from NNLS soft transcription, with an emphasis on the medium note range."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        12 ;
    vamp:bin_names        ( "A  (bass)" "Bb (bass)" "B  (bass)" "C  (bass)" "C# (bass)" "D  (bass)" "Eb (bass)" "E  (bass)" "F  (bass)" "F# (bass)" "G  (bass)" "Ab (bass)");
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma_output_basschroma a  vamp:DenseOutput ;
    vamp:identifier       "basschroma" ;
    dc:title              "Bass Chromagram" ;
    dc:description        """Tuning-adjusted bass chromagram from NNLS soft transcription, with an emphasis on the bass note range."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        12 ;
    vamp:bin_names        ( "A  (bass)" "Bb (bass)" "B  (bass)" "C  (bass)" "C# (bass)" "D  (bass)" "Eb (bass)" "E  (bass)" "F  (bass)" "F# (bass)" "G  (bass)" "Ab (bass)");
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:nnls_chroma_output_bothchroma a  vamp:DenseOutput ;
    vamp:identifier       "bothchroma" ;
    dc:title              "Chromagram and Bass Chromagram" ;
    dc:description        """Tuning-adjusted chromagram and bass chromagram (stacked on top of each other) from NNLS soft transcription."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "" ;
    vamp:bin_count        24 ;
    vamp:bin_names        ( "A  (bass)" "Bb (bass)" "B  (bass)" "C  (bass)" "C# (bass)" "D  (bass)" "Eb (bass)" "E  (bass)" "F  (bass)" "F# (bass)" "G  (bass)" "Ab (bass)" "A" "Bb" "B" "C" "C#" "D" "Eb" "E" "F" "F#" "G" "Ab");
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:tuning a   vamp:Plugin ;
    dc:title              "Tuning" ;
    vamp:name             "Tuning" ;
    dc:description        """This plugin provides a number of features derived from a log-frequency amplitude spectrum of the DFT: some variants of the log-frequency spectrum, including a semitone spectrum derived from approximate transcription using the NNLS algorithm; based on this semitone spectrum, chroma features and a simple chord estimate.""" ;
    foaf:maker            [ foaf:name "Matthias Mauch" ] ; # FIXME could give plugin author's URI here
    dc:rights             """GPL""" ;
#   cc:license            <Place plugin license URI here and uncomment> ; 
    vamp:identifier       "tuning" ;
    vamp:vamp_API_version vamp:api_version_2 ;
    owl:versionInfo       "1" ;
    vamp:input_domain     vamp:FrequencyDomain ;


    vamp:parameter   plugbase:tuning_param_preset ;
    vamp:parameter   plugbase:tuning_param_rollon ;
    vamp:parameter   plugbase:tuning_param_tuningmode ;
    vamp:parameter   plugbase:tuning_param_chromanormalize ;

    vamp:output      plugbase:tuning_output_tuning ;
    vamp:output      plugbase:tuning_output_localtuning ;
    .
plugbase:tuning_param_preset a  vamp:QuantizedParameter ;
    vamp:identifier     "preset" ;
    dc:title            "preset" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "polyphonic pop" "polyphonic pop (fast)" "solo keyboard" "manual");
    .
plugbase:tuning_param_rollon a  vamp:Parameter ;
    vamp:identifier     "rollon" ;
    dc:title            "spectral roll-on" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           ""  ;
    vamp:default_value   0 ;
    vamp:value_names     ();
    .
plugbase:tuning_param_tuningmode a  vamp:QuantizedParameter ;
    vamp:identifier     "tuningmode" ;
    dc:title            "tuning mode" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       1 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "global tuning" "local tuning");
    .
plugbase:tuning_param_chromanormalize a  vamp:QuantizedParameter ;
    vamp:identifier     "chromanormalize" ;
    dc:title            "chroma normalization" ;
    dc:format           "" ;
    vamp:min_value       0 ;
    vamp:max_value       3 ;
    vamp:unit           "" ;
    vamp:quantize_step   1  ;
    vamp:default_value   0 ;
    vamp:value_names     ( "none" "maximum norm" "L1 norm" "L2 norm");
    .
plugbase:tuning_output_tuning a  vamp:SparseOutput ;
    vamp:identifier       "tuning" ;
    dc:title              "Tuning" ;
    dc:description        """The concert pitch."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "Hz" ;
    a                 vamp:KnownExtentsOutput ;
    vamp:min_value    427.47  ;
    vamp:max_value    452.89  ;
    vamp:bin_count        0 ;
    vamp:sample_type      vamp:VariableSampleRate ;
    vamp:sample_rate      9.06382e-30 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .
plugbase:tuning_output_localtuning a  vamp:DenseOutput ;
    vamp:identifier       "localtuning" ;
    dc:title              "Local Tuning" ;
    dc:description        """Tuning based on the history up to this timestamp."""  ;
    vamp:fixed_bin_count  "true" ;
    vamp:unit             "Hz" ;
    a                 vamp:KnownExtentsOutput ;
    vamp:min_value    427.47  ;
    vamp:max_value    452.89  ;
    vamp:bin_count        1 ;
#   vamp:computes_event_type   <Place event type URI here and uncomment> ;
#   vamp:computes_feature      <Place feature attribute URI here and uncomment> ;
#   vamp:computes_signal_type  <Place signal type URI here and uncomment> ;
    .