# ground/profile.ttl
#
# GENERATED by bin/write-profile.js. Do not edit: the digests are of the
# files on disk, and editing them by hand is how a profile comes to describe
# artefacts that no longer exist. Edit profile.json and run ./build.sh.

@base <https://strandz.it/jigdaw/plugins/ground/> .

@prefix jig:   <http://purl.org/stuff/jigdaw/> .
@prefix trn:   <http://purl.org/stuff/transmissions/> .
@prefix pu:    <http://purl.org/stuff/plugin-universe/> .
@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix midi:  <http://lv2plug.in/ns/ext/midi#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix doap:  <http://usefulinc.com/ns/doap#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .

<>
    a jig:WebPlugin , trn:PluginProfile ;
    rdfs:label "Ground" ;
    rdfs:comment "Transport synced long-form bass generator. Form shapes and phrase roles plan a whole section that plays in time with the session, with arc tension and Conductor control including scene-driven role overrides." ;
    trn:vendor "danja" ;
    doap:revision "1.0.0" ;
    doap:developer <http://danny.ayers.name> ;
    foaf:homepage <> ;
    trn:role trn:MidiGenerator ;
    trn:accepts trn:ControlMidi ;
    trn:produces trn:Midi , trn:BassMidi ;
    trn:genre "Dub" , "Jazz" , "Fugue" , "Rock" ;
    trn:caution "Silent until the host transport is rolling and reports a tempo and a beat position. A generator with no idea what time it is would be guessing, and this one says so by producing nothing." ;
    trn:caution "Pure MIDI, no audio: route its MIDI output to a bass instrument. New Form, New Phrase and Mutate Cell are triggers that fire on the rising edge, so each press is one action." ;
    trn:caution "Monophonic by design. A new note ends the note before it rather than overlapping." ;
    trn:format trn:Jig , trn:WebAudio ;
    pu:licenceId "Apache-2.0" ;
    trn:requires jig:MidiEvents ;
    trn:requires jig:MidiOut ;
    trn:requires trn:HostTransport ;

    jig:stateless true ;
    jig:audioInputs 0 ;
    jig:audioOutputs 0 ;
    jig:renderQuantum 128 ;
    jig:latencyFrames 0 ;

    jig:module <#module> ;
    jig:processor <#processor> ;

    lv2:port <#root_note> , <#scale> , <#style> , <#channel> , <#form_bars> , <#phrase_bars> , <#density> , <#motion> , <#tension> , <#cadence> , <#register> , <#register_arc> , <#sequence> , <#seed> , <#vary> , <#new_form> , <#new_phrase> , <#mutate_cell> , <#color> , <#note_length> , <#note_length_variation> , <#form_shape> , <#phrase_role_1> , <#phrase_role_2> , <#phrase_role_3> , <#phrase_role_4> , <#phrase_role_5> , <#phrase_role_6> , <#phrase_role_7> , <#phrase_role_8> , <#phrase_role_9> , <#phrase_role_10> , <#phrase_role_11> , <#phrase_role_12> , <#phrase_role_13> , <#phrase_role_14> , <#phrase_role_15> , <#phrase_role_16> , <#phrase_role_17> , <#phrase_role_18> , <#phrase_role_19> , <#phrase_role_20> , <#phrase_role_21> , <#phrase_role_22> , <#phrase_role_23> , <#phrase_role_24> , <#phrase_role_25> , <#phrase_role_26> , <#phrase_role_27> , <#phrase_role_28> , <#phrase_role_29> , <#phrase_role_30> , <#phrase_role_31> , <#phrase_role_32> , <#clamp> , <#conductor_ch> .

<#module>
    a jig:Module ;
    jig:location <ground.wasm> ;
    jig:mediaType "application/wasm" ;
    jig:abi jig:Abi2 ;
    jig:integrity "sha384-qSNSa7zFB2I9Q12FMuc7OjwMg/pZy0gsD2yU3k6xFytwlK2AdXs9H5lo3D+8uj2o" .

<#processor>
    a jig:Processor ;
    jig:location <ground-processor.js> ;
    jig:mediaType "text/javascript" ;
    jig:registeredName "ground" ;
    jig:integrity "sha384-jiKxKbqMN2Oy4WcO42JiAZ7MxdUZf2E9ELezMIjUD3VyCWvipuz+VsJUM4VCZgVK" .

<#root_note>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "root_note" ; lv2:name "Root Note" ;
    lv2:default 36 ; lv2:minimum 0 ; lv2:maximum 127 ;
    jig:paramIndex 0 .

<#scale>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "scale" ; lv2:name "Scale" ;
    lv2:default 2 ; lv2:minimum 0 ; lv2:maximum 22 ;
    jig:paramIndex 1 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#scale-0> ,
        <#scale-1> ,
        <#scale-2> ,
        <#scale-3> ,
        <#scale-4> ,
        <#scale-5> ,
        <#scale-6> ,
        <#scale-7> ,
        <#scale-8> ,
        <#scale-9> ,
        <#scale-10> ,
        <#scale-11> ,
        <#scale-12> ,
        <#scale-13> ,
        <#scale-14> ,
        <#scale-15> ,
        <#scale-16> ,
        <#scale-17> ,
        <#scale-18> ,
        <#scale-19> ,
        <#scale-20> ,
        <#scale-21> ,
        <#scale-22> .

<#scale-0> rdfs:label "Major" ; rdf:value 0 .

<#scale-1> rdfs:label "Ionian" ; rdf:value 1 .

<#scale-2> rdfs:label "Minor" ; rdf:value 2 .

<#scale-3> rdfs:label "Harmonic Minor" ; rdf:value 3 .

<#scale-4> rdfs:label "Melodic Minor" ; rdf:value 4 .

<#scale-5> rdfs:label "Dorian" ; rdf:value 5 .

<#scale-6> rdfs:label "Phrygian" ; rdf:value 6 .

<#scale-7> rdfs:label "Lydian" ; rdf:value 7 .

<#scale-8> rdfs:label "Mixolydian" ; rdf:value 8 .

<#scale-9> rdfs:label "Locrian" ; rdf:value 9 .

<#scale-10> rdfs:label "Phrygian Dominant" ; rdf:value 10 .

<#scale-11> rdfs:label "Neapolitan Major" ; rdf:value 11 .

<#scale-12> rdfs:label "Neapolitan Minor" ; rdf:value 12 .

<#scale-13> rdfs:label "Pent Major" ; rdf:value 13 .

<#scale-14> rdfs:label "Pent Minor" ; rdf:value 14 .

<#scale-15> rdfs:label "Blues" ; rdf:value 15 .

<#scale-16> rdfs:label "Whole Tone" ; rdf:value 16 .

<#scale-17> rdfs:label "Altered" ; rdf:value 17 .

<#scale-18> rdfs:label "Half Whole Diminished" ; rdf:value 18 .

<#scale-19> rdfs:label "Whole Half Diminished" ; rdf:value 19 .

<#scale-20> rdfs:label "Bebop Dominant" ; rdf:value 20 .

<#scale-21> rdfs:label "Bebop Major" ; rdf:value 21 .

<#scale-22> rdfs:label "Bebop Minor" ; rdf:value 22 .

<#style>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "style" ; lv2:name "Style" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 11 ;
    jig:paramIndex 2 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#style-0> ,
        <#style-1> ,
        <#style-2> ,
        <#style-3> ,
        <#style-4> ,
        <#style-5> ,
        <#style-6> ,
        <#style-7> ,
        <#style-8> ,
        <#style-9> ,
        <#style-10> .

<#style-0> rdfs:label "Grounded" ; rdf:value 0 .

<#style-1> rdfs:label "Ostinato" ; rdf:value 1 .

<#style-2> rdfs:label "March" ; rdf:value 2 .

<#style-3> rdfs:label "Pulse" ; rdf:value 3 .

<#style-4> rdfs:label "Drone" ; rdf:value 4 .

<#style-5> rdfs:label "Climb" ; rdf:value 5 .

<#style-6> rdfs:label "Dub" ; rdf:value 6 .

<#style-7> rdfs:label "Jazz" ; rdf:value 7 .

<#style-8> rdfs:label "Rock" ; rdf:value 8 .

<#style-9> rdfs:label "Descend" ; rdf:value 9 .

<#style-10> rdfs:label "Ascend" ; rdf:value 10 .

<#channel>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "channel" ; lv2:name "Channel" ;
    lv2:default 1 ; lv2:minimum 1 ; lv2:maximum 16 ;
    jig:paramIndex 3 .

<#form_bars>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "form_bars" ; lv2:name "Form Bars" ;
    lv2:default 16 ; lv2:minimum 8 ; lv2:maximum 64 ;
    jig:paramIndex 4 .

<#phrase_bars>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_bars" ; lv2:name "Phrase Bars" ;
    lv2:default 4 ; lv2:minimum 1 ; lv2:maximum 12 ;
    jig:paramIndex 5 .

<#density>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "density" ; lv2:name "Density" ;
    lv2:default 0.45 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 6 .

<#motion>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "motion" ; lv2:name "Motion" ;
    lv2:default 0.55 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 7 .

<#tension>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "tension" ; lv2:name "Tension" ;
    lv2:default 0.45 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 8 .

<#cadence>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "cadence" ; lv2:name "Cadence" ;
    lv2:default 0.5 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 9 .

<#register>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "register" ; lv2:name "Register" ;
    lv2:default 1 ; lv2:minimum 0 ; lv2:maximum 3 ;
    jig:paramIndex 10 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#register-0> ,
        <#register-1> ,
        <#register-2> ,
        <#register-3> .

<#register-0> rdfs:label "Sub" ; rdf:value 0 .

<#register-1> rdfs:label "Low" ; rdf:value 1 .

<#register-2> rdfs:label "Mid" ; rdf:value 2 .

<#register-3> rdfs:label "High" ; rdf:value 3 .

<#register_arc>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "register_arc" ; lv2:name "Register Arc" ;
    lv2:default 0.4 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 11 .

<#sequence>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "sequence" ; lv2:name "Sequence" ;
    lv2:default 0.35 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 12 .

<#seed>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "seed" ; lv2:name "Seed" ;
    lv2:default 1 ; lv2:minimum 1 ; lv2:maximum 65535 ;
    jig:paramIndex 13 .

<#vary>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "vary" ; lv2:name "Vary" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 14 .

<#new_form>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "new_form" ; lv2:name "New Form" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 15 ;
    lv2:portProperty lv2:toggled .

<#new_phrase>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "new_phrase" ; lv2:name "New Phrase" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 16 ;
    lv2:portProperty lv2:toggled .

<#mutate_cell>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "mutate_cell" ; lv2:name "Mutate Cell" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 17 ;
    lv2:portProperty lv2:toggled .

<#color>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "color" ; lv2:name "Color" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 18 .

<#note_length>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "note_length" ; lv2:name "Note Length" ;
    lv2:default 0.35 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 19 .

<#note_length_variation>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "note_length_variation" ; lv2:name "Note Length Variation" ;
    lv2:default 0.35 ; lv2:minimum 0 ; lv2:maximum 1 ;
    jig:paramIndex 20 .

<#form_shape>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "form_shape" ; lv2:name "Form Shape" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 12 ;
    jig:paramIndex 21 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#form_shape-0> ,
        <#form_shape-1> ,
        <#form_shape-2> ,
        <#form_shape-3> ,
        <#form_shape-4> ,
        <#form_shape-5> ,
        <#form_shape-6> ,
        <#form_shape-7> ,
        <#form_shape-8> ,
        <#form_shape-9> ,
        <#form_shape-10> ,
        <#form_shape-11> ,
        <#form_shape-12> .

<#form_shape-0> rdfs:label "Free" ; rdf:value 0 .

<#form_shape-1> rdfs:label "12 Blues" ; rdf:value 1 .

<#form_shape-2> rdfs:label "12 Blues Quick" ; rdf:value 2 .

<#form_shape-3> rdfs:label "12 Minor Blues" ; rdf:value 3 .

<#form_shape-4> rdfs:label "12 Jazz Blues" ; rdf:value 4 .

<#form_shape-5> rdfs:label "16 Classical" ; rdf:value 5 .

<#form_shape-6> rdfs:label "16 Fugue" ; rdf:value 6 .

<#form_shape-7> rdfs:label "32 Jazz AABA" ; rdf:value 7 .

<#form_shape-8> rdfs:label "32 Rhythm" ; rdf:value 8 .

<#form_shape-9> rdfs:label "16 Techno" ; rdf:value 9 .

<#form_shape-10> rdfs:label "16 Dub" ; rdf:value 10 .

<#form_shape-11> rdfs:label "8 Ambient" ; rdf:value 11 .

<#form_shape-12> rdfs:label "32 Rondo" ; rdf:value 12 .

<#phrase_role_1>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_1" ; lv2:name "Phrase Role 1" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 22 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_1-0> ,
        <#phrase_role_1-1> ,
        <#phrase_role_1-2> ,
        <#phrase_role_1-3> ,
        <#phrase_role_1-4> ,
        <#phrase_role_1-5> ,
        <#phrase_role_1-6> ,
        <#phrase_role_1-7> .

<#phrase_role_1-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_1-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_1-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_1-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_1-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_1-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_1-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_1-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_2>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_2" ; lv2:name "Phrase Role 2" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 23 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_2-0> ,
        <#phrase_role_2-1> ,
        <#phrase_role_2-2> ,
        <#phrase_role_2-3> ,
        <#phrase_role_2-4> ,
        <#phrase_role_2-5> ,
        <#phrase_role_2-6> ,
        <#phrase_role_2-7> .

<#phrase_role_2-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_2-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_2-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_2-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_2-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_2-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_2-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_2-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_3>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_3" ; lv2:name "Phrase Role 3" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 24 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_3-0> ,
        <#phrase_role_3-1> ,
        <#phrase_role_3-2> ,
        <#phrase_role_3-3> ,
        <#phrase_role_3-4> ,
        <#phrase_role_3-5> ,
        <#phrase_role_3-6> ,
        <#phrase_role_3-7> .

<#phrase_role_3-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_3-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_3-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_3-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_3-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_3-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_3-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_3-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_4>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_4" ; lv2:name "Phrase Role 4" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 25 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_4-0> ,
        <#phrase_role_4-1> ,
        <#phrase_role_4-2> ,
        <#phrase_role_4-3> ,
        <#phrase_role_4-4> ,
        <#phrase_role_4-5> ,
        <#phrase_role_4-6> ,
        <#phrase_role_4-7> .

<#phrase_role_4-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_4-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_4-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_4-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_4-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_4-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_4-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_4-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_5>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_5" ; lv2:name "Phrase Role 5" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 26 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_5-0> ,
        <#phrase_role_5-1> ,
        <#phrase_role_5-2> ,
        <#phrase_role_5-3> ,
        <#phrase_role_5-4> ,
        <#phrase_role_5-5> ,
        <#phrase_role_5-6> ,
        <#phrase_role_5-7> .

<#phrase_role_5-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_5-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_5-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_5-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_5-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_5-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_5-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_5-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_6>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_6" ; lv2:name "Phrase Role 6" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 27 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_6-0> ,
        <#phrase_role_6-1> ,
        <#phrase_role_6-2> ,
        <#phrase_role_6-3> ,
        <#phrase_role_6-4> ,
        <#phrase_role_6-5> ,
        <#phrase_role_6-6> ,
        <#phrase_role_6-7> .

<#phrase_role_6-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_6-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_6-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_6-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_6-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_6-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_6-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_6-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_7>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_7" ; lv2:name "Phrase Role 7" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 28 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_7-0> ,
        <#phrase_role_7-1> ,
        <#phrase_role_7-2> ,
        <#phrase_role_7-3> ,
        <#phrase_role_7-4> ,
        <#phrase_role_7-5> ,
        <#phrase_role_7-6> ,
        <#phrase_role_7-7> .

<#phrase_role_7-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_7-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_7-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_7-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_7-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_7-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_7-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_7-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_8>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_8" ; lv2:name "Phrase Role 8" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 29 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_8-0> ,
        <#phrase_role_8-1> ,
        <#phrase_role_8-2> ,
        <#phrase_role_8-3> ,
        <#phrase_role_8-4> ,
        <#phrase_role_8-5> ,
        <#phrase_role_8-6> ,
        <#phrase_role_8-7> .

<#phrase_role_8-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_8-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_8-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_8-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_8-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_8-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_8-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_8-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_9>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_9" ; lv2:name "Phrase Role 9" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 30 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_9-0> ,
        <#phrase_role_9-1> ,
        <#phrase_role_9-2> ,
        <#phrase_role_9-3> ,
        <#phrase_role_9-4> ,
        <#phrase_role_9-5> ,
        <#phrase_role_9-6> ,
        <#phrase_role_9-7> .

<#phrase_role_9-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_9-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_9-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_9-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_9-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_9-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_9-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_9-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_10>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_10" ; lv2:name "Phrase Role 10" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 31 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_10-0> ,
        <#phrase_role_10-1> ,
        <#phrase_role_10-2> ,
        <#phrase_role_10-3> ,
        <#phrase_role_10-4> ,
        <#phrase_role_10-5> ,
        <#phrase_role_10-6> ,
        <#phrase_role_10-7> .

<#phrase_role_10-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_10-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_10-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_10-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_10-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_10-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_10-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_10-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_11>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_11" ; lv2:name "Phrase Role 11" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 32 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_11-0> ,
        <#phrase_role_11-1> ,
        <#phrase_role_11-2> ,
        <#phrase_role_11-3> ,
        <#phrase_role_11-4> ,
        <#phrase_role_11-5> ,
        <#phrase_role_11-6> ,
        <#phrase_role_11-7> .

<#phrase_role_11-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_11-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_11-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_11-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_11-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_11-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_11-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_11-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_12>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_12" ; lv2:name "Phrase Role 12" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 33 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_12-0> ,
        <#phrase_role_12-1> ,
        <#phrase_role_12-2> ,
        <#phrase_role_12-3> ,
        <#phrase_role_12-4> ,
        <#phrase_role_12-5> ,
        <#phrase_role_12-6> ,
        <#phrase_role_12-7> .

<#phrase_role_12-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_12-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_12-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_12-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_12-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_12-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_12-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_12-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_13>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_13" ; lv2:name "Phrase Role 13" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 34 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_13-0> ,
        <#phrase_role_13-1> ,
        <#phrase_role_13-2> ,
        <#phrase_role_13-3> ,
        <#phrase_role_13-4> ,
        <#phrase_role_13-5> ,
        <#phrase_role_13-6> ,
        <#phrase_role_13-7> .

<#phrase_role_13-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_13-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_13-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_13-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_13-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_13-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_13-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_13-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_14>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_14" ; lv2:name "Phrase Role 14" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 35 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_14-0> ,
        <#phrase_role_14-1> ,
        <#phrase_role_14-2> ,
        <#phrase_role_14-3> ,
        <#phrase_role_14-4> ,
        <#phrase_role_14-5> ,
        <#phrase_role_14-6> ,
        <#phrase_role_14-7> .

<#phrase_role_14-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_14-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_14-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_14-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_14-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_14-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_14-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_14-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_15>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_15" ; lv2:name "Phrase Role 15" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 36 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_15-0> ,
        <#phrase_role_15-1> ,
        <#phrase_role_15-2> ,
        <#phrase_role_15-3> ,
        <#phrase_role_15-4> ,
        <#phrase_role_15-5> ,
        <#phrase_role_15-6> ,
        <#phrase_role_15-7> .

<#phrase_role_15-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_15-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_15-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_15-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_15-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_15-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_15-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_15-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_16>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_16" ; lv2:name "Phrase Role 16" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 37 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_16-0> ,
        <#phrase_role_16-1> ,
        <#phrase_role_16-2> ,
        <#phrase_role_16-3> ,
        <#phrase_role_16-4> ,
        <#phrase_role_16-5> ,
        <#phrase_role_16-6> ,
        <#phrase_role_16-7> .

<#phrase_role_16-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_16-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_16-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_16-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_16-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_16-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_16-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_16-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_17>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_17" ; lv2:name "Phrase Role 17" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 38 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_17-0> ,
        <#phrase_role_17-1> ,
        <#phrase_role_17-2> ,
        <#phrase_role_17-3> ,
        <#phrase_role_17-4> ,
        <#phrase_role_17-5> ,
        <#phrase_role_17-6> ,
        <#phrase_role_17-7> .

<#phrase_role_17-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_17-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_17-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_17-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_17-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_17-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_17-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_17-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_18>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_18" ; lv2:name "Phrase Role 18" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 39 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_18-0> ,
        <#phrase_role_18-1> ,
        <#phrase_role_18-2> ,
        <#phrase_role_18-3> ,
        <#phrase_role_18-4> ,
        <#phrase_role_18-5> ,
        <#phrase_role_18-6> ,
        <#phrase_role_18-7> .

<#phrase_role_18-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_18-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_18-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_18-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_18-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_18-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_18-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_18-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_19>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_19" ; lv2:name "Phrase Role 19" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 40 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_19-0> ,
        <#phrase_role_19-1> ,
        <#phrase_role_19-2> ,
        <#phrase_role_19-3> ,
        <#phrase_role_19-4> ,
        <#phrase_role_19-5> ,
        <#phrase_role_19-6> ,
        <#phrase_role_19-7> .

<#phrase_role_19-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_19-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_19-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_19-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_19-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_19-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_19-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_19-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_20>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_20" ; lv2:name "Phrase Role 20" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 41 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_20-0> ,
        <#phrase_role_20-1> ,
        <#phrase_role_20-2> ,
        <#phrase_role_20-3> ,
        <#phrase_role_20-4> ,
        <#phrase_role_20-5> ,
        <#phrase_role_20-6> ,
        <#phrase_role_20-7> .

<#phrase_role_20-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_20-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_20-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_20-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_20-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_20-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_20-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_20-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_21>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_21" ; lv2:name "Phrase Role 21" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 42 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_21-0> ,
        <#phrase_role_21-1> ,
        <#phrase_role_21-2> ,
        <#phrase_role_21-3> ,
        <#phrase_role_21-4> ,
        <#phrase_role_21-5> ,
        <#phrase_role_21-6> ,
        <#phrase_role_21-7> .

<#phrase_role_21-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_21-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_21-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_21-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_21-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_21-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_21-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_21-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_22>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_22" ; lv2:name "Phrase Role 22" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 43 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_22-0> ,
        <#phrase_role_22-1> ,
        <#phrase_role_22-2> ,
        <#phrase_role_22-3> ,
        <#phrase_role_22-4> ,
        <#phrase_role_22-5> ,
        <#phrase_role_22-6> ,
        <#phrase_role_22-7> .

<#phrase_role_22-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_22-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_22-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_22-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_22-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_22-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_22-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_22-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_23>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_23" ; lv2:name "Phrase Role 23" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 44 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_23-0> ,
        <#phrase_role_23-1> ,
        <#phrase_role_23-2> ,
        <#phrase_role_23-3> ,
        <#phrase_role_23-4> ,
        <#phrase_role_23-5> ,
        <#phrase_role_23-6> ,
        <#phrase_role_23-7> .

<#phrase_role_23-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_23-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_23-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_23-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_23-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_23-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_23-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_23-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_24>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_24" ; lv2:name "Phrase Role 24" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 45 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_24-0> ,
        <#phrase_role_24-1> ,
        <#phrase_role_24-2> ,
        <#phrase_role_24-3> ,
        <#phrase_role_24-4> ,
        <#phrase_role_24-5> ,
        <#phrase_role_24-6> ,
        <#phrase_role_24-7> .

<#phrase_role_24-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_24-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_24-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_24-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_24-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_24-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_24-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_24-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_25>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_25" ; lv2:name "Phrase Role 25" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 46 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_25-0> ,
        <#phrase_role_25-1> ,
        <#phrase_role_25-2> ,
        <#phrase_role_25-3> ,
        <#phrase_role_25-4> ,
        <#phrase_role_25-5> ,
        <#phrase_role_25-6> ,
        <#phrase_role_25-7> .

<#phrase_role_25-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_25-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_25-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_25-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_25-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_25-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_25-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_25-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_26>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_26" ; lv2:name "Phrase Role 26" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 47 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_26-0> ,
        <#phrase_role_26-1> ,
        <#phrase_role_26-2> ,
        <#phrase_role_26-3> ,
        <#phrase_role_26-4> ,
        <#phrase_role_26-5> ,
        <#phrase_role_26-6> ,
        <#phrase_role_26-7> .

<#phrase_role_26-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_26-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_26-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_26-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_26-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_26-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_26-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_26-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_27>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_27" ; lv2:name "Phrase Role 27" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 48 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_27-0> ,
        <#phrase_role_27-1> ,
        <#phrase_role_27-2> ,
        <#phrase_role_27-3> ,
        <#phrase_role_27-4> ,
        <#phrase_role_27-5> ,
        <#phrase_role_27-6> ,
        <#phrase_role_27-7> .

<#phrase_role_27-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_27-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_27-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_27-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_27-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_27-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_27-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_27-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_28>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_28" ; lv2:name "Phrase Role 28" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 49 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_28-0> ,
        <#phrase_role_28-1> ,
        <#phrase_role_28-2> ,
        <#phrase_role_28-3> ,
        <#phrase_role_28-4> ,
        <#phrase_role_28-5> ,
        <#phrase_role_28-6> ,
        <#phrase_role_28-7> .

<#phrase_role_28-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_28-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_28-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_28-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_28-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_28-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_28-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_28-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_29>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_29" ; lv2:name "Phrase Role 29" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 50 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_29-0> ,
        <#phrase_role_29-1> ,
        <#phrase_role_29-2> ,
        <#phrase_role_29-3> ,
        <#phrase_role_29-4> ,
        <#phrase_role_29-5> ,
        <#phrase_role_29-6> ,
        <#phrase_role_29-7> .

<#phrase_role_29-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_29-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_29-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_29-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_29-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_29-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_29-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_29-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_30>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_30" ; lv2:name "Phrase Role 30" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 51 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_30-0> ,
        <#phrase_role_30-1> ,
        <#phrase_role_30-2> ,
        <#phrase_role_30-3> ,
        <#phrase_role_30-4> ,
        <#phrase_role_30-5> ,
        <#phrase_role_30-6> ,
        <#phrase_role_30-7> .

<#phrase_role_30-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_30-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_30-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_30-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_30-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_30-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_30-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_30-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_31>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_31" ; lv2:name "Phrase Role 31" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 52 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_31-0> ,
        <#phrase_role_31-1> ,
        <#phrase_role_31-2> ,
        <#phrase_role_31-3> ,
        <#phrase_role_31-4> ,
        <#phrase_role_31-5> ,
        <#phrase_role_31-6> ,
        <#phrase_role_31-7> .

<#phrase_role_31-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_31-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_31-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_31-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_31-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_31-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_31-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_31-7> rdfs:label "Release" ; rdf:value 7 .

<#phrase_role_32>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "phrase_role_32" ; lv2:name "Phrase Role 32" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 7 ;
    jig:paramIndex 53 ;
    lv2:portProperty lv2:enumeration ;
    lv2:scalePoint
        <#phrase_role_32-0> ,
        <#phrase_role_32-1> ,
        <#phrase_role_32-2> ,
        <#phrase_role_32-3> ,
        <#phrase_role_32-4> ,
        <#phrase_role_32-5> ,
        <#phrase_role_32-6> ,
        <#phrase_role_32-7> .

<#phrase_role_32-0> rdfs:label "Auto" ; rdf:value 0 .

<#phrase_role_32-1> rdfs:label "Statement" ; rdf:value 1 .

<#phrase_role_32-2> rdfs:label "Answer" ; rdf:value 2 .

<#phrase_role_32-3> rdfs:label "Climb" ; rdf:value 3 .

<#phrase_role_32-4> rdfs:label "Pedal" ; rdf:value 4 .

<#phrase_role_32-5> rdfs:label "Breakdown" ; rdf:value 5 .

<#phrase_role_32-6> rdfs:label "Cadence" ; rdf:value 6 .

<#phrase_role_32-7> rdfs:label "Release" ; rdf:value 7 .

<#clamp>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "clamp" ; lv2:name "Clamp" ;
    lv2:default 12 ; lv2:minimum 12 ; lv2:maximum 48 ;
    jig:paramIndex 54 .

<#conductor_ch>
    a lv2:InputPort , lv2:ControlPort ;
    lv2:symbol "conductor_ch" ; lv2:name "Conductor Ch" ;
    lv2:default 0 ; lv2:minimum 0 ; lv2:maximum 16 ;
    jig:paramIndex 55 .
