Revision 208:01b5abe6f170 capnp/piper.capnp

View differences:

capnp/piper.capnp
45 45
    variableSampleRate @2;                        # Features have their own individual timestamps.
46 46
}
47 47

  
48
struct StaticOutputDescriptor {
49

  
50
    # Properties of an output, that is, a single stream of features
51
    # produced in response to process and finish requests. A feature
52
    # extractor may have any number of outputs, and it always
53
    # calculates and returns features from all of them when
54
    # processing; this is useful in cases where more than one feature
55
    # can be easily calculated using a single method.
56
    # 
57
    # This structure contains the properties of an output that are
58
    # static, i.e. that do not depend on the parameter values provided
59
    # at configuration, excluding the Basic struct parameters like id
60
    # and description.  The Basic struct properties are not included
61
    # for historical reasons: they were already referenced separately
62
    # in the OutputDescriptor and ExtractorStaticData before this
63
    # struct was introduced.
64
    
65
    typeURI            @0  :Text;                 # URI indicating the sort of feature that this output returns (see docs).
66
}
67

  
48 68
struct ConfiguredOutputDescriptor {
49 69
    # Properties of an output, that is, a single stream of features produced
50 70
    # in response to process and finish requests. A feature extractor may
......
69 89
}
70 90

  
71 91
struct OutputDescriptor {
72
    # All the properties of an output, both static (the basic metadata) and
73
    # potentially dependent on configuration parameters (the configured descriptor).
92
    # All the properties of an output, both static (the basic metadata and static
93
    # descriptor) and potentially dependent on configuration parameters (the
94
    # configured descriptor).
74 95

  
75 96
    basic              @0  :Basic;                # Basic metadata about the output.
76 97
    configured         @1  :ConfiguredOutputDescriptor;    # Properties of the output that may depend on configuration parameters.
98
    static             @2  :StaticOutputDescriptor;        # Properties (other than Basic) that do not depend on parameters.
77 99
}
78 100

  
79 101
enum InputDomain {
......
102 124
    programs           @9  :List(Text);           # List of predefined programs. For backward-compatibility, not recommended.
103 125
    inputDomain        @10 :InputDomain;          # Whether the extractor requires time-domain or frequency-domain input audio.
104 126
    basicOutputInfo    @11 :List(Basic);          # Basic metadata about all of the outputs of the extractor.
127

  
128
    struct SOPair {
129
        # A mapping between output identifier and static descriptor for
130
	# that output.
131
	
132
        output         @0  :Text;                 # Output id, matching the output's descriptor's basic identifier.
133
        static         @1  :StaticOutputDescriptor;
134
    }
135

  
136
    staticOutputInfo   @12 :List(SOPair);         # Static descriptors for all outputs that have any static metadata.
105 137
}
106 138

  
107 139
struct RealTime {

Also available in: Unified diff