My favorites | Sign in
Project Logo
                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
@prefix mo: <http://purl.org/ontology/mo/>.
@prefix dsp: <http://purl.org/ontology/dsp/>.
@prefix vamp: <http://purl.org/ontology/vamp/>.
@prefix event: <http://purl.org/NET/c4dm/event.owl#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix list: <http://www.w3.org/2000/10/swap/list#>.
@prefix af: <http://purl.org/ontology/af/>.
@prefix to: <http://purl.org/ontology/tonality/>.
@prefix key: <http://purl.org/ontology/tonality/key/>.
@prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>.
@prefix : <#>.

vamp:plugin
a rdf:Property;
rdfs:label "A generic vamp plugin, linking its output and its inputs/parameters";
.

vamp:qm-plugin
a rdf:Property;
rdfs:subPropertyOf vamp:plugin;
rdfs:label "A generic queen mary vamp plugin";
.

vamp:qm-chromagram
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Chromagram vamp plugin";
.

vamp:qm-constantq
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Constant-Q vamp plugin";
.

vamp:qm-keydetector
a <http://purl.org/ontology/tabling/TabledPredicate>;
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Onset detector vamp plugin";
.

vamp:qm-onsetdetector
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Onset detection vamp plugin";
.

vamp:qm-beats
a <http://purl.org/ontology/tabling/TabledPredicate>;
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Tempo tracking vamp plugin";
.

vamp:qm-tonalchange
a rdf:Property;
rdfs:subPropertyOf vamp:qm-plugin;
rdfs:label "Tonal change vamp plugin";
.

vamp:qm-mfccparameters
a <http://purl.org/ontology/tabling/TabledPredicate>;
a rdf:Property;
rdfs:subPropertyOf vamp:qm-feature;
rdfs:label "Mfcc means and vars processing";
.

vamp:qm-similarity
a <http://purl.org/ontology/tabling/TabledPredicate>;
a rdf:Property;
rdfs:subPropertyOf vamp:qm-feature;
rdfs:label "Similarity features: timbre and rhythm";
.

#{
#(?c ?sr ?l (?sig1 ?sig2)) vamp:qm-keydetector ?otp.
#("key" ?start _:fduration ?key) list:in ?otp.
#(("key" ?start _:fduration ?key) ("key" ?end _:fduration2 _:key)) list:nextto ?otp.
#} => {
#_:keyevent a af:KeyEvent;
# rdfs:label "key event";
# tl:startsAt ?start;
# tl:endsAt ?end;
# af:key ?key.
#}.


# 1 -> key:Cmajor
# 2 -> key:Csmajor
# 3 -> key:Dmajor
# 4 -> key:Dsmajor
# 5 -> key:Emajor
# 6 -> key:Fmajor
# 7 -> key:Fsmajor
# 8 -> key:Gmajor
# 9 -> key:Gsmajor
# 10 -> key:Amajor
# 11 -> key:Asmajor
# 12 -> key:Bmajor
# 13 -> key:Cminor
# 14 -> key:Csminor
# 15 -> key:Dminor
# 16 -> key:Dsminor
# 17 -> key:Eminor
# 18 -> key:Fminor
# 19 -> key:Fsminor
# 20 -> key:Gminor
# 21 -> key:Gsminor
# 22 -> key:Aminor
# 23 -> key:Asminor
# 24 -> key:Bminor

# Should it be the default behavior?
vamp:transform a <http://purl.org/ontology/tabling/TabledPredicate>.

:key_translation = ((1.0 key:Cmajor) (2.0 key:Csmajor) (3.0 key:Dmajor) (4.0 key:Dsmajor) (5.0 key:Emajor) (6.0 key:Fmajor) (7.0 key:Fsmajor) (8.0 key:Gmajor) (9.0 key:Gsmajor) (10.0 key:Amajor) (11.0 key:Asmajor) (12.0 key:Bmajor) (13.0 key:Cminor) (14.0 key:Csminor) (15.0 key:Dminor) (16.0 key:Dsminor) (17.0 key:Eminor) (18.0 key:Fminor) (19.0 key:Fsminor) (20.0 key:Gminor) (21.0 key:Gsminor) (22.0 key:Aminor) (23.0 key:Asminor) (24.0 key:Bminor)).

{

?af mo:encodes ?signal.
?signal mo:time [tl:timeline ?stl].
("qm-vamp-plugins" "qm-keydetector" ?signal ("key")) vamp:transform ?otp.
("key" ?start _:fduration ?keys) list:in ?otp.
?key_number list:in ?keys.
(?key_number ?key) list:in :key_translation.

} => {

_:tonalregion a af:KeyChange;
rdfs:label "Tonal region delimited by the key";
event:time [
tl:timeline ?stl;
tl:at ?start ] ;
af:new_key ?key.
}.

{

?af1 mo:encodes ?signal1.
("qm-vamp-plugins" "qm-similarity" ?signal1 ("means" "variances")) vamp:transform ?otp1.
("means" _:start1 _:duration1 ?meanv1) list:in ?otp1.
("variances" _:start1 _:duration1 ?varv1) list:in ?otp1.

#

?af2 mo:encodes ?signal2.
("qm-vamp-plugins" "qm-similarity" ?signal2 ("means" "variances")) vamp:transform ?otp2.
("means" _:start2 _:duration2 ?meanv2) list:in ?otp2.
("variances" _:start2 _:duration2 ?varv2) list:in ?otp2.

#>>

((?meanv1 ?varv1) (?meanv2 ?varv2)) <http://purl.org/ontology/dsp/mfcc_kldiv> ?div
} => {
(?af1 ?af2) <http://purl.org/ontology/similarity/div> ?div
}.

#rule for beat features



Show details Hide details

Change log

r533 by yves.raimond on Aug 12, 2008   Diff
Oops - Gsmajr --> Gsmajor
Go to: 
Project members, sign in to write a code review

Older revisions

r519 by yves.raimond on Jul 28, 2008   Diff
New skolem identifier
Proof traking (check
cache(S,P,O,proof))
sameAs handling
sameAs for builtin arguments
r502 by yves.raimond on Jul 23, 2008   Diff
Canonical plugin name
r500 by david.pas on Jul 23, 2008   Diff
[No log message]
All revisions of this file

File info

Size: 4456 bytes, 163 lines
Hosted by Google Code