SlideShare a Scribd company logo
1 of 42
Download to read offline
Tom 
Collins 
Faculty 
of 
Technology 
www.tomcollinsresearch.net
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
• Stravinsqi 
stands 
for 
STaff 
Representation 
Analysed 
VIa 
Natural 
language 
String 
Query 
Input. 
1. Get 
question 
string 
and 
division 
value, 
analyse 
it 
and 
split 
into 
compound 
questions 
if 
necessary. 
2. Load 
staff 
names, 
time 
signatures, 
and 
point-­‐set 
representations 
of 
the 
piece. 
3. Produce 
time-­‐interval 
answers 
to 
elemental 
question(s). 
4. Cross-­‐check 
timings 
of 
answers 
to 
compound 
questions. 
5. Convert 
time-­‐interval 
answers 
to 
required 
format.
; 
Set 
paths. 
(setq 
question-­‐path&name 
(merge-­‐pathnames 
(make-­‐pathname 
:directory 
'(:relative 
"C@merata2014" 
"training_v1") 
:name 
"training_v1" 
:type 
"xml") 
*MCStylistic-­‐MonthYear-­‐data-­‐path*))
(setq 
notation-­‐path 
(merge-­‐pathnames 
(make-­‐pathname 
:directory 
'(:relative 
"C@merata2014" 
"training_v1")) 
*MCStylistic-­‐MonthYear-­‐data-­‐path*))
#| 
Let's 
begin 
by 
looking 
at 
Morley's 
'April 
is 
in 
my 
mistress' 
face'. 
|# 
(setq 
notation-­‐name 
"f1") 
(setq 
notation-­‐path&name 
(merge-­‐pathnames 
(make-­‐pathname 
:name 
notation-­‐name 
:type 
"krn") 
notation-­‐path)) 
(setq 
question-­‐number 
"001")
#| 
********************************* 
**** 
1. 
ANALYSE 
QUESTION 
STRING 
**** 
********************************* 
|# 
; 
Load 
question 
string 
and 
division 
value. 
(setq 
question&division 
(c@merata2014-­‐question-­‐file2question-­‐string 
question-­‐number 
question-­‐path&name 
notation-­‐name)) 
; 
-­‐-­‐> 
("F# 
followed 
two 
crotchets 
later 
by 
a 
G" 
1) 
(setq 
division 
(second 
question&division)) 
; 
-­‐-­‐> 
1
; 
Split 
up 
compound 
questions. 
(setq 
questions 
(followed-­‐by-­‐splitter 
(first 
question&division))) 
; 
-­‐-­‐> 
(("F#" 
0) 
("G" 
2)) 
; 
Try 
US 
version 
of 
the 
question 
string. 
(setq 
questions 
(followed-­‐by-­‐splitter 
"F# 
followed 
two 
quarter 
notes 
later 
by 
a 
G")) 
; 
-­‐-­‐> 
(("F#" 
0) 
("G" 
2))
; 
Try 
junk 
version 
of 
the 
question 
string. 
(setq 
questions 
(followed-­‐by-­‐splitter 
"F# 
blah 
followed 
two 
crotchets 
later 
by 
a 
blah 
G")) 
; 
-­‐-­‐> 
(("F# 
blah" 
0) 
("blah 
G" 
2)) 
; 
Try 
reference 
to 
bars 
rather 
than 
a 
specific 
duration. 
(setq 
questions 
(followed-­‐by-­‐splitter 
"F# 
followed 
two 
bars 
later 
by 
a 
G")) 
; 
-­‐-­‐> 
(("F#" 
0) 
("G" 
2 
"bars"))
; 
Try 
'consecutive' 
question. 
(setq 
questions 
(followed-­‐by-­‐splitter 
"F# 
followed 
by 
two 
consecutive 
crotchets")) 
; 
-­‐-­‐> 
(("F#" 
0) 
("crotchet" 
0) 
("crotchet" 
0))
; 
Try 
linguistic 
variant 
of 
compound 
query. 
(setq 
questions 
(followed-­‐by-­‐splitter 
(concatenate 
'string 
"F# 
then 
two 
bars 
later 
a 
G 
" 
"then 
consecutive 
fifths 
in 
the 
left 
hand"))) 
#| 
-­‐-­‐> 
(("F#" 
0) 
("G" 
2 
"bars") 
("fifths 
in 
the 
left 
hand" 
0) 
("fifths 
in 
the 
left 
hand" 
0)) 
|#
; 
Back 
to 
original 
question. 
(setq 
questions 
(followed-­‐by-­‐splitter 
(first 
question&division))) 
; 
-­‐-­‐> 
(("F#" 
0) 
("G" 
2))
#| 
*************************************** 
**** 
2. 
LOAD 
REPRESENTATIONS 
OF 
PIECE 
**** 
*************************************** 
|# 
#| 
Load 
staff 
names 
and 
names 
of 
the 
opening 
clefs 
on 
each 
staff. 
|# 
(setq 
staff&clef-­‐names 
(staves-­‐info2staff&clef-­‐names 
notation-­‐path&name)) 
#| 
-­‐-­‐> 
(("Bass" 
"bass 
clef") 
("Tenor" 
"tenor 
clef") 
("Alto" 
"treble 
clef") 
("Soprano" 
"treble 
clef")) 
|#
#| 
Load 
time-­‐signature 
information 
and 
any 
changes 
across 
the 
piece. 
|# 
(setq 
ontimes-­‐signatures 
(append-­‐ontimes-­‐to-­‐time-­‐signatures 
(kern-­‐file2ontimes-­‐signatures 
notation-­‐path&name))) 
; 
-­‐-­‐> 
((1 
4 
4 
0)) 
; 
If 
there 
was 
a 
change, 
it 
might 
look 
like: 
; 
-­‐-­‐> 
((1 
4 
4 
0) 
(9 
3 
2 
32))
; 
Load 
point-­‐set 
representations. 
(setq 
artic-­‐set 
(kern-­‐file2points-­‐artic-­‐dynam-­‐lyrics 
notation-­‐path&name)) 
#| 
-­‐-­‐> 
((0 
46 
52 
4 
3 
NIL 
NIL 
("place.")) 
(0 
58 
59 
2 
2 
NIL 
NIL 
("place.")) 
(0 
65 
63 
2 
1 
NIL 
NIL 
("place.")) 
(0 
70 
66 
2 
0 
NIL 
NIL 
("place")) 
(3 
58 
59 
1 
2 
NIL 
NIL 
("With-­‐")) 
...) 
|#
#| 
********************************************** 
**** 
3. 
TIME-­‐INTERVAL 
ANSWERS 
TO 
QUESTION(S) 
**** 
********************************************** 
|# 
(setq 
ans-­‐harmonic-­‐interval 
(mapcar 
#'(lambda 
(x) 
(harmonic-­‐interval-­‐of-­‐a 
(first 
x) 
point-­‐set 
staff&clef-­‐names)) 
questions)) 
; 
-­‐-­‐> 
(NIL 
NIL)
; 
Mel. 
intervals 
to 
be 
prefaced 
by 
"melodic". 
(setq 
ans-­‐melodic-­‐interval 
(mapcar 
#'(lambda 
(x) 
(melodic-­‐interval-­‐of-­‐a 
(first 
x) 
point-­‐set 
staff&clef-­‐names)) 
questions)) 
; 
-­‐-­‐> 
(NIL 
NIL)
(setq 
ans-­‐dur-­‐pitch 
(mapcar 
#'(lambda 
(x) 
(duration&pitch-­‐class-­‐time-­‐intervals 
(first 
x) 
point-­‐set 
staff&clef-­‐names)) 
questions)) 
; 
-­‐-­‐> 
(NIL 
NIL)
; 
This 
is 
the 
function 
of 
interest 
on 
this 
occasion... 
(setq 
ans-­‐pitch 
(mapcar 
#'(lambda 
(x) 
(pitch-­‐class-­‐time-­‐intervals 
(first 
x) 
point-­‐set 
staff&clef-­‐names)) 
questions)) 
#| 
-­‐-­‐> 
(((32 
36) 
(57 
115/2) 
(58 
60)) 
((12 
13) 
(12 
13) 
(24 
32) 
(26 
27) 
(28 
32) 
(46 
48) 
(48 
50) 
(49 
50) 
(50 
52) 
(50 
52) 
(54 
57) 
(60 
62) 
(60 
61) 
(61 
62) 
(62 
63) 
(63 
64))) 
|#
#| 
**************************************************** 
**** 
4. 
Cross-­‐check 
timings 
for 
compound 
questions 
**** 
**************************************************** 
|# 
; 
Put 
the 
answers 
next 
to 
one 
another 
in 
one 
list. 
(setq 
time-­‐intervals 
(list 
ans-­‐harmonic-­‐interval 
ans-­‐melodic-­‐interval 
ans-­‐dur-­‐pitch 
ans-­‐pitch 
ans-­‐dur 
ans-­‐nadir-­‐apex 
ans-­‐triad 
ans-­‐triad-­‐inversion 
ans-­‐texture 
ans-­‐cadence 
ans-­‐word&event 
ans-­‐word 
ans-­‐artic 
ans-­‐dur-­‐rest 
ans-­‐tied&event))
#| 
-­‐-­‐> 
((NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(((32 
36) 
(57 
115/2) 
(58 
60)) 
((12 
13) 
(12 
13) 
(24 
32) 
(26 
27) 
(28 
32) 
(46 
48) 
(48 
50) 
(49 
50) 
(50 
52) 
(50 
52) 
(54 
57) 
(60 
62) 
(60 
61) 
(61 
62) 
(62 
63) 
(63 
64) 
(63 
64))) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL) 
(NIL 
NIL)) 
|#
; 
Cross-­‐check 
the 
timings 
of 
compound 
questions. 
(setq 
time-­‐intervals 
(if 
(> 
(length 
questions) 
1) 
(cross-­‐check-­‐compound-­‐questions 
questions 
ontimes-­‐signatures 
time-­‐intervals) 
(if 
(index-­‐item-­‐1st-­‐doesnt-­‐occur 
(list 
nil) 
time-­‐intervals) 
(first 
(nth 
(index-­‐item-­‐1st-­‐doesnt-­‐occur 
(list 
nil) 
time-­‐intervals) 
time-­‐intervals))))) 
; 
-­‐-­‐> 
((58 
62)) 
(bar&beat-­‐number-­‐of-­‐ontime 
58 
ontimes-­‐signatures) 
; 
-­‐-­‐> 
(15 
3 
58)
Spider Plot 
Pitch and Duration 
0.75 
0.5 
Duration 
0.75 
1 
Pitch 
1 
0.75 
0.5 
0.25 
0.5 
1 
Mean 
All 0.25 
0.25 0.5 0.75 1 
0.25 
0.25 
0.75 
0.5 
1 
Articulation 
0.25 
0.5 
0.75 
Voice Specific 1 
0.25 
0.5 
0.75 
1 
Lyrics 
0.25 
0.5 
0.75 
1 
Compound 
0.25 
0.5 
0.75 
1 
Melodic Interval 
0.25 
0.5 
0.75 
1 
Harmonic Interval 
0.25 
0.5 
0.75 
Pitch and Duration 
1 
Cadence 
0.25 
0.5 
0.75 
1 Triad 
0.25 
0.5 
0.75 
1 
Texture 
Measure Recall 
Measure Precision 
Beat Recall 
Beat Precision 
Spider Plot Triad 
Duration 
1 
1 
0.75 
0.75 
1 
Articulation 
Voice Specific 1 
Measure Recall 
Measure Precision 
Beat Recall 
Beat Precision
(melody with accompn, 1)! 
(contrapuntal, 1)! 
(melody with accompn, .8)!
• The 
Stravinsqi 
algorithm 
has 
effectively 
solved 
seven 
of 
the 
twelve 
C@merata 
task 
categories 
(pitch, 
duration, 
pitch 
and 
duration, 
articulation, 
voice 
specific, 
lyrics, 
and 
melodic 
interval) 
• As 
for 
the 
remaining 
five 
categories, 
precision 
for 
one 
category 
(compound 
queries) 
can 
be 
improved 
by 
fixing 
a 
selection-­‐criteria 
bug 
• More 
data 
are 
required 
for 
the 
triad, 
cadence, 
and 
texture 
query 
categories 
• A 
big 
“thank 
you” 
to 
Richard 
Sutcliffe 
and 
team
• The 
Stravinsqi 
algorithm 
has 
effectively 
solved 
seven 
of 
the 
twelve 
C@merata 
task 
categories 
(pitch, 
duration, 
pitch 
and 
duration, 
articulation, 
voice 
specific, 
lyrics, 
and 
melodic 
interval) 
• As 
for 
the 
remaining 
five 
categories, 
precision 
for 
one 
category 
(compound 
queries) 
can 
be 
improved 
by 
fixing 
a 
selection-­‐criteria 
bug 
• More 
data 
are 
required 
for 
the 
triad, 
cadence, 
and 
texture 
query 
categories 
• A 
big 
“thank 
you” 
to 
Richard 
Sutcliffe 
and 
team
• The 
Stravinsqi 
algorithm 
has 
effectively 
solved 
seven 
of 
the 
twelve 
C@merata 
task 
categories 
(pitch, 
duration, 
pitch 
and 
duration, 
articulation, 
voice 
specific, 
lyrics, 
and 
melodic 
interval) 
• As 
for 
the 
remaining 
five 
categories, 
precision 
for 
one 
category 
(compound 
queries) 
can 
be 
improved 
by 
fixing 
a 
selection-­‐criteria 
bug 
• More 
data 
are 
required 
for 
the 
triad, 
cadence, 
and 
texture 
query 
categories 
• A 
big 
“thank 
you” 
to 
Richard 
Sutcliffe 
and 
team
• The 
Stravinsqi 
algorithm 
has 
effectively 
solved 
seven 
of 
the 
twelve 
C@merata 
task 
categories 
(pitch, 
duration, 
pitch 
and 
duration, 
articulation, 
voice 
specific, 
lyrics, 
and 
melodic 
interval) 
• As 
for 
the 
remaining 
five 
categories, 
precision 
for 
one 
category 
(compound 
queries) 
can 
be 
improved 
by 
fixing 
a 
selection-­‐criteria 
bug 
• More 
data 
are 
required 
for 
the 
triad, 
cadence, 
and 
texture 
query 
categories 
• A 
big 
“thank 
you” 
to 
Richard 
Sutcliffe 
and 
team
Researchers 
at 
CCARH 
for 
creating 
and 
hosting 
kern 
scores 
Collaborators 
at: 
Johannes 
Kepler 
University: 
Gerhard 
Widmer, 
Andreas 
Arzt, 
Sebastian 
Böck, 
and 
Sebastian 
Flossmann 
Center 
for 
Mind 
and 
Brain, 
UC 
Davis: 
Petr 
Janata, 
Fred 
Barrett, 
and 
Joy 
Geng 
Aalborg 
University: 
David 
Meredith 
University 
of 
Lyon: 
Barbara 
Tillmann 
The 
Open 
University: 
Robin 
Laney, 
Alistair 
Willis, 
and 
Paul 
Garthwaite 
Funding 
bodies: 
Austrian 
Science 
Fund 
(FWF) 
project 
number 
Z159 
(Wittgenstein 
Grant), 
NSF 
grant 
#1025310, 
ESPRC
Code 
for 
Stravinsqi 
(as 
well 
as 
other 
projects): 
http://www.tomcollinsresearch.net
Allegro non tanto 
#$$$$$ %% 
!" 
!" 
! & %! &! & & & '%! &! & & & &%!! & & & '&%!! & &! '&( 
)$$$$$ * &+ 
& & & & & & * &+ 
& & '& & & & * '+& & & 
6 
#$$$$$ %! &! & & '& '%! &! & & ' && ' '%& 
! 
! '& % '& '%! &! & &! '&( %! &! & & '& 
)$$$$$',%! %% 
'' 
'%! && 
'' 
%% 
%! && 
! * '&( & & '%! && 
' ' %% 
%% 
! 
'' 
%% 
*! %! &- & . && 
11 
#$$$$$'%! &! & & ' &'& $% 
%! & & &% & & / & & & & / & & & & && 
'' $ && 
( 
)$$$$$ '%! && 
'' 
%% 
&&& 
'& & & & 
&! &+ 
% & / & % & % & 
/ & % & &( 
! 
P 
1,2 
P 
2,2 
! 
P 
3,3 
! 
P 
3,2 
! 
P 
2,1 
! 
P 
3,4 
! 
P 
2,3 
! 
P 
3,1 
! 
P 
1,1 
Beginning 
of 
op.56 
no.1 
by 
Chopin
Allegro non tanto 
#$$$$$ % &% &% 
'$$$$$ 
!" 
!" 
% &% 
6 
#$$$$$ 
'$$$$$ &% 
11 
#$$$$$ 
'$$$$$ 
! 
P 
22 
! 
P 
33 
! 
P 
32 
! 
P 
21 
! 
P 
34 
! 
P 
23 
! 
P 
31 
! 
P 
11 
! 
P 
12 
Beginning 
of 
op.56 
no.1 
by 
Chopin
Allegro non tanto 
#$$$$$ 
!" 
!" 
&" &" 
% % %% % % % & % '' 
% % '% % % % ( '% '% % '% '% 3 
'% % ' ! %%% % 
#" 3 
!" 
3 
#$$$$$ %%% ' %% ' %%% 
%%%% 
( ) %% '$ 
%! 
' % %% ' %% % '' % & +' % ' % ' %% % 
&'% %! * &#%% 
%! * & %% ' ' % %% '' 
+ %% 
% % 
6 
#$$$$$ '% %'% %! '% '% '% %'' 
%% +' ' '' % ' & % ' %%%% 
%% % 
! % '%'%%'% '% '% %'% %! '% 
3 
#$$$$$ 
% ' %%% 
' %% 
) '% 
% ( '% ( ( # %% % 
+' %% ' ' % %% '' 
% ' %%% 
' %% 
) 
+ %% 
( % % 
11 
#$$$$$'%'% %'' 
%% +' ' '' % ' & % ' %%%% 
% $ ! % %%* 
%%% 
, , 
3 
% %! % - %%% $ - %%% --$ '% '% % %$% 
)$$$$$'% 
% ( %%% 
$ 
$ ' % ( ( $$$ $ 
%%% 
( 
% 
% $$ % -- 
%%% ' $ % '% 
% 
%%% 
#" 
$" #" %" 
&" 
Generated 
passage
Code 
for 
Stravinsqi 
(as 
well 
as 
other 
projects): 
http://www.tomcollinsresearch.net

More Related Content

Viewers also liked

Viewers also liked (11)

The NNI Query-by-Example System for MediaEval 2014
The NNI Query-by-Example System for MediaEval 2014The NNI Query-by-Example System for MediaEval 2014
The NNI Query-by-Example System for MediaEval 2014
 
4845 Distrito Rotary International Argentina Paraguay Presentación
4845 Distrito Rotary International Argentina Paraguay Presentación 4845 Distrito Rotary International Argentina Paraguay Presentación
4845 Distrito Rotary International Argentina Paraguay Presentación
 
4845 Programa de Embajadores Rotarios 2016 2017
4845 Programa de Embajadores Rotarios 2016 20174845 Programa de Embajadores Rotarios 2016 2017
4845 Programa de Embajadores Rotarios 2016 2017
 
T he SPL - IT Query by Example Search on Speech system for MediaEval 2014
T he SPL - IT Query by Example Search on Speech system for MediaEval 2014T he SPL - IT Query by Example Search on Speech system for MediaEval 2014
T he SPL - IT Query by Example Search on Speech system for MediaEval 2014
 
TALP-UPC at MediaEval 2014 Placing Task: Combining Geographical Knowledge Bas...
TALP-UPC at MediaEval 2014 Placing Task: Combining Geographical Knowledge Bas...TALP-UPC at MediaEval 2014 Placing Task: Combining Geographical Knowledge Bas...
TALP-UPC at MediaEval 2014 Placing Task: Combining Geographical Knowledge Bas...
 
MediaEval 2014: THU-HCSIL Approach to Emotion in Music Task using Multi-level...
MediaEval 2014: THU-HCSIL Approach to Emotion in Music Task using Multi-level...MediaEval 2014: THU-HCSIL Approach to Emotion in Music Task using Multi-level...
MediaEval 2014: THU-HCSIL Approach to Emotion in Music Task using Multi-level...
 
Synchronizing Multi-User Photo Galleries with MRF
Synchronizing Multi-User Photo Galleries with MRFSynchronizing Multi-User Photo Galleries with MRF
Synchronizing Multi-User Photo Galleries with MRF
 
LIMSI @ MediaEval SED 2014
LIMSI @ MediaEval SED 2014LIMSI @ MediaEval SED 2014
LIMSI @ MediaEval SED 2014
 
04 sem cert hparticipation_final
04 sem cert hparticipation_final04 sem cert hparticipation_final
04 sem cert hparticipation_final
 
RECOD at MediaEval 2014: Violent Scenes Detection Task
RECOD at MediaEval 2014: Violent Scenes Detection TaskRECOD at MediaEval 2014: Violent Scenes Detection Task
RECOD at MediaEval 2014: Violent Scenes Detection Task
 
The Munich LSTM-RNN Approach to the MediaEval 2014 “Emotion in Music” Task
The Munich LSTM-RNN Approach to the MediaEval 2014 “Emotion in Music” TaskThe Munich LSTM-RNN Approach to the MediaEval 2014 “Emotion in Music” Task
The Munich LSTM-RNN Approach to the MediaEval 2014 “Emotion in Music” Task
 

Similar to Stravinsqi/De Montfort University at the MediaEval 2014 C@merata Task

Airlover 20030324 1
Airlover 20030324 1Airlover 20030324 1
Airlover 20030324 1
Dr.Ravi
 
QuinnMcFeeWorkSample(R)
QuinnMcFeeWorkSample(R)QuinnMcFeeWorkSample(R)
QuinnMcFeeWorkSample(R)
Quinn McFee
 
QwalKeko, a History Querying Tool
QwalKeko, a History Querying ToolQwalKeko, a History Querying Tool
QwalKeko, a History Querying Tool
stevensreinout
 
Clojure for Java developers - Stockholm
Clojure for Java developers - StockholmClojure for Java developers - Stockholm
Clojure for Java developers - Stockholm
Jan Kronquist
 
Predictably
PredictablyPredictably
Predictably
ztellman
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Anne Nicolas
 
Profiling and optimization
Profiling and optimizationProfiling and optimization
Profiling and optimization
g3_nittala
 

Similar to Stravinsqi/De Montfort University at the MediaEval 2014 C@merata Task (20)

Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012Continuation Passing Style and Macros in Clojure - Jan 2012
Continuation Passing Style and Macros in Clojure - Jan 2012
 
Cassandra lesson learned - extended
Cassandra   lesson learned  - extendedCassandra   lesson learned  - extended
Cassandra lesson learned - extended
 
Cassandra - lesson learned
Cassandra  - lesson learnedCassandra  - lesson learned
Cassandra - lesson learned
 
Microchip Mfg. problem
Microchip Mfg. problemMicrochip Mfg. problem
Microchip Mfg. problem
 
Spark_Documentation_Template1
Spark_Documentation_Template1Spark_Documentation_Template1
Spark_Documentation_Template1
 
Text analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco ControlText analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco Control
 
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term RewritingCompiler Construction | Lecture 5 | Transformation by Term Rewriting
Compiler Construction | Lecture 5 | Transformation by Term Rewriting
 
Airlover 20030324 1
Airlover 20030324 1Airlover 20030324 1
Airlover 20030324 1
 
Clojure made simple - Lightning talk
Clojure made simple - Lightning talkClojure made simple - Lightning talk
Clojure made simple - Lightning talk
 
QuinnMcFeeWorkSample(R)
QuinnMcFeeWorkSample(R)QuinnMcFeeWorkSample(R)
QuinnMcFeeWorkSample(R)
 
bluespec talk
bluespec talkbluespec talk
bluespec talk
 
Term Rewriting
Term RewritingTerm Rewriting
Term Rewriting
 
QwalKeko, a History Querying Tool
QwalKeko, a History Querying ToolQwalKeko, a History Querying Tool
QwalKeko, a History Querying Tool
 
Test (S) on R
Test (S) on RTest (S) on R
Test (S) on R
 
Clojure for Java developers - Stockholm
Clojure for Java developers - StockholmClojure for Java developers - Stockholm
Clojure for Java developers - Stockholm
 
R Cheat Sheet
R Cheat SheetR Cheat Sheet
R Cheat Sheet
 
Predictably
PredictablyPredictably
Predictably
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Profiling and optimization
Profiling and optimizationProfiling and optimization
Profiling and optimization
 
R Programming: Export/Output Data In R
R Programming: Export/Output Data In RR Programming: Export/Output Data In R
R Programming: Export/Output Data In R
 

More from multimediaeval

Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
multimediaeval
 

More from multimediaeval (20)

Classification of Strokes in Table Tennis with a Three Stream Spatio-Temporal...
Classification of Strokes in Table Tennis with a Three Stream Spatio-Temporal...Classification of Strokes in Table Tennis with a Three Stream Spatio-Temporal...
Classification of Strokes in Table Tennis with a Three Stream Spatio-Temporal...
 
HCMUS at MediaEval 2020: Ensembles of Temporal Deep Neural Networks for Table...
HCMUS at MediaEval 2020: Ensembles of Temporal Deep Neural Networks for Table...HCMUS at MediaEval 2020: Ensembles of Temporal Deep Neural Networks for Table...
HCMUS at MediaEval 2020: Ensembles of Temporal Deep Neural Networks for Table...
 
Sports Video Classification: Classification of Strokes in Table Tennis for Me...
Sports Video Classification: Classification of Strokes in Table Tennis for Me...Sports Video Classification: Classification of Strokes in Table Tennis for Me...
Sports Video Classification: Classification of Strokes in Table Tennis for Me...
 
Predicting Media Memorability from a Multimodal Late Fusion of Self-Attention...
Predicting Media Memorability from a Multimodal Late Fusion of Self-Attention...Predicting Media Memorability from a Multimodal Late Fusion of Self-Attention...
Predicting Media Memorability from a Multimodal Late Fusion of Self-Attention...
 
Essex-NLIP at MediaEval Predicting Media Memorability 2020 Task
Essex-NLIP at MediaEval Predicting Media Memorability 2020 TaskEssex-NLIP at MediaEval Predicting Media Memorability 2020 Task
Essex-NLIP at MediaEval Predicting Media Memorability 2020 Task
 
Overview of MediaEval 2020 Predicting Media Memorability task: What Makes a V...
Overview of MediaEval 2020 Predicting Media Memorability task: What Makes a V...Overview of MediaEval 2020 Predicting Media Memorability task: What Makes a V...
Overview of MediaEval 2020 Predicting Media Memorability task: What Makes a V...
 
Fooling an Automatic Image Quality Estimator
Fooling an Automatic Image Quality EstimatorFooling an Automatic Image Quality Estimator
Fooling an Automatic Image Quality Estimator
 
Fooling Blind Image Quality Assessment by Optimizing a Human-Understandable C...
Fooling Blind Image Quality Assessment by Optimizing a Human-Understandable C...Fooling Blind Image Quality Assessment by Optimizing a Human-Understandable C...
Fooling Blind Image Quality Assessment by Optimizing a Human-Understandable C...
 
Pixel Privacy: Quality Camouflage for Social Images
Pixel Privacy: Quality Camouflage for Social ImagesPixel Privacy: Quality Camouflage for Social Images
Pixel Privacy: Quality Camouflage for Social Images
 
HCMUS at MediaEval 2020:Image-Text Fusion for Automatic News-Images Re-Matching
HCMUS at MediaEval 2020:Image-Text Fusion for Automatic News-Images Re-MatchingHCMUS at MediaEval 2020:Image-Text Fusion for Automatic News-Images Re-Matching
HCMUS at MediaEval 2020:Image-Text Fusion for Automatic News-Images Re-Matching
 
Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
Efficient Supervision Net: Polyp Segmentation using EfficientNet and Attentio...
 
HCMUS at Medico Automatic Polyp Segmentation Task 2020: PraNet and ResUnet++ ...
HCMUS at Medico Automatic Polyp Segmentation Task 2020: PraNet and ResUnet++ ...HCMUS at Medico Automatic Polyp Segmentation Task 2020: PraNet and ResUnet++ ...
HCMUS at Medico Automatic Polyp Segmentation Task 2020: PraNet and ResUnet++ ...
 
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
Depth-wise Separable Atrous Convolution for Polyps Segmentation in Gastro-Int...
 
Deep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp SegmentationDeep Conditional Adversarial learning for polyp Segmentation
Deep Conditional Adversarial learning for polyp Segmentation
 
A Temporal-Spatial Attention Model for Medical Image Detection
A Temporal-Spatial Attention Model for Medical Image DetectionA Temporal-Spatial Attention Model for Medical Image Detection
A Temporal-Spatial Attention Model for Medical Image Detection
 
HCMUS-Juniors 2020 at Medico Task in MediaEval 2020: Refined Deep Neural Netw...
HCMUS-Juniors 2020 at Medico Task in MediaEval 2020: Refined Deep Neural Netw...HCMUS-Juniors 2020 at Medico Task in MediaEval 2020: Refined Deep Neural Netw...
HCMUS-Juniors 2020 at Medico Task in MediaEval 2020: Refined Deep Neural Netw...
 
Fine-tuning for Polyp Segmentation with Attention
Fine-tuning for Polyp Segmentation with AttentionFine-tuning for Polyp Segmentation with Attention
Fine-tuning for Polyp Segmentation with Attention
 
Bigger Networks are not Always Better: Deep Convolutional Neural Networks for...
Bigger Networks are not Always Better: Deep Convolutional Neural Networks for...Bigger Networks are not Always Better: Deep Convolutional Neural Networks for...
Bigger Networks are not Always Better: Deep Convolutional Neural Networks for...
 
Insights for wellbeing: Predicting Personal Air Quality Index using Regressio...
Insights for wellbeing: Predicting Personal Air Quality Index using Regressio...Insights for wellbeing: Predicting Personal Air Quality Index using Regressio...
Insights for wellbeing: Predicting Personal Air Quality Index using Regressio...
 
Use Visual Features From Surrounding Scenes to Improve Personal Air Quality ...
 Use Visual Features From Surrounding Scenes to Improve Personal Air Quality ... Use Visual Features From Surrounding Scenes to Improve Personal Air Quality ...
Use Visual Features From Surrounding Scenes to Improve Personal Air Quality ...
 

Recently uploaded

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 

Stravinsqi/De Montfort University at the MediaEval 2014 C@merata Task

  • 1. Tom Collins Faculty of Technology www.tomcollinsresearch.net
  • 2.
  • 3.
  • 4. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 5. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 6. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 7. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 8. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 9. • Stravinsqi stands for STaff Representation Analysed VIa Natural language String Query Input. 1. Get question string and division value, analyse it and split into compound questions if necessary. 2. Load staff names, time signatures, and point-­‐set representations of the piece. 3. Produce time-­‐interval answers to elemental question(s). 4. Cross-­‐check timings of answers to compound questions. 5. Convert time-­‐interval answers to required format.
  • 10. ; Set paths. (setq question-­‐path&name (merge-­‐pathnames (make-­‐pathname :directory '(:relative "C@merata2014" "training_v1") :name "training_v1" :type "xml") *MCStylistic-­‐MonthYear-­‐data-­‐path*))
  • 11. (setq notation-­‐path (merge-­‐pathnames (make-­‐pathname :directory '(:relative "C@merata2014" "training_v1")) *MCStylistic-­‐MonthYear-­‐data-­‐path*))
  • 12. #| Let's begin by looking at Morley's 'April is in my mistress' face'. |# (setq notation-­‐name "f1") (setq notation-­‐path&name (merge-­‐pathnames (make-­‐pathname :name notation-­‐name :type "krn") notation-­‐path)) (setq question-­‐number "001")
  • 13. #| ********************************* **** 1. ANALYSE QUESTION STRING **** ********************************* |# ; Load question string and division value. (setq question&division (c@merata2014-­‐question-­‐file2question-­‐string question-­‐number question-­‐path&name notation-­‐name)) ; -­‐-­‐> ("F# followed two crotchets later by a G" 1) (setq division (second question&division)) ; -­‐-­‐> 1
  • 14. ; Split up compound questions. (setq questions (followed-­‐by-­‐splitter (first question&division))) ; -­‐-­‐> (("F#" 0) ("G" 2)) ; Try US version of the question string. (setq questions (followed-­‐by-­‐splitter "F# followed two quarter notes later by a G")) ; -­‐-­‐> (("F#" 0) ("G" 2))
  • 15. ; Try junk version of the question string. (setq questions (followed-­‐by-­‐splitter "F# blah followed two crotchets later by a blah G")) ; -­‐-­‐> (("F# blah" 0) ("blah G" 2)) ; Try reference to bars rather than a specific duration. (setq questions (followed-­‐by-­‐splitter "F# followed two bars later by a G")) ; -­‐-­‐> (("F#" 0) ("G" 2 "bars"))
  • 16. ; Try 'consecutive' question. (setq questions (followed-­‐by-­‐splitter "F# followed by two consecutive crotchets")) ; -­‐-­‐> (("F#" 0) ("crotchet" 0) ("crotchet" 0))
  • 17. ; Try linguistic variant of compound query. (setq questions (followed-­‐by-­‐splitter (concatenate 'string "F# then two bars later a G " "then consecutive fifths in the left hand"))) #| -­‐-­‐> (("F#" 0) ("G" 2 "bars") ("fifths in the left hand" 0) ("fifths in the left hand" 0)) |#
  • 18. ; Back to original question. (setq questions (followed-­‐by-­‐splitter (first question&division))) ; -­‐-­‐> (("F#" 0) ("G" 2))
  • 19. #| *************************************** **** 2. LOAD REPRESENTATIONS OF PIECE **** *************************************** |# #| Load staff names and names of the opening clefs on each staff. |# (setq staff&clef-­‐names (staves-­‐info2staff&clef-­‐names notation-­‐path&name)) #| -­‐-­‐> (("Bass" "bass clef") ("Tenor" "tenor clef") ("Alto" "treble clef") ("Soprano" "treble clef")) |#
  • 20. #| Load time-­‐signature information and any changes across the piece. |# (setq ontimes-­‐signatures (append-­‐ontimes-­‐to-­‐time-­‐signatures (kern-­‐file2ontimes-­‐signatures notation-­‐path&name))) ; -­‐-­‐> ((1 4 4 0)) ; If there was a change, it might look like: ; -­‐-­‐> ((1 4 4 0) (9 3 2 32))
  • 21. ; Load point-­‐set representations. (setq artic-­‐set (kern-­‐file2points-­‐artic-­‐dynam-­‐lyrics notation-­‐path&name)) #| -­‐-­‐> ((0 46 52 4 3 NIL NIL ("place.")) (0 58 59 2 2 NIL NIL ("place.")) (0 65 63 2 1 NIL NIL ("place.")) (0 70 66 2 0 NIL NIL ("place")) (3 58 59 1 2 NIL NIL ("With-­‐")) ...) |#
  • 22. #| ********************************************** **** 3. TIME-­‐INTERVAL ANSWERS TO QUESTION(S) **** ********************************************** |# (setq ans-­‐harmonic-­‐interval (mapcar #'(lambda (x) (harmonic-­‐interval-­‐of-­‐a (first x) point-­‐set staff&clef-­‐names)) questions)) ; -­‐-­‐> (NIL NIL)
  • 23. ; Mel. intervals to be prefaced by "melodic". (setq ans-­‐melodic-­‐interval (mapcar #'(lambda (x) (melodic-­‐interval-­‐of-­‐a (first x) point-­‐set staff&clef-­‐names)) questions)) ; -­‐-­‐> (NIL NIL)
  • 24. (setq ans-­‐dur-­‐pitch (mapcar #'(lambda (x) (duration&pitch-­‐class-­‐time-­‐intervals (first x) point-­‐set staff&clef-­‐names)) questions)) ; -­‐-­‐> (NIL NIL)
  • 25. ; This is the function of interest on this occasion... (setq ans-­‐pitch (mapcar #'(lambda (x) (pitch-­‐class-­‐time-­‐intervals (first x) point-­‐set staff&clef-­‐names)) questions)) #| -­‐-­‐> (((32 36) (57 115/2) (58 60)) ((12 13) (12 13) (24 32) (26 27) (28 32) (46 48) (48 50) (49 50) (50 52) (50 52) (54 57) (60 62) (60 61) (61 62) (62 63) (63 64))) |#
  • 26. #| **************************************************** **** 4. Cross-­‐check timings for compound questions **** **************************************************** |# ; Put the answers next to one another in one list. (setq time-­‐intervals (list ans-­‐harmonic-­‐interval ans-­‐melodic-­‐interval ans-­‐dur-­‐pitch ans-­‐pitch ans-­‐dur ans-­‐nadir-­‐apex ans-­‐triad ans-­‐triad-­‐inversion ans-­‐texture ans-­‐cadence ans-­‐word&event ans-­‐word ans-­‐artic ans-­‐dur-­‐rest ans-­‐tied&event))
  • 27. #| -­‐-­‐> ((NIL NIL) (NIL NIL) (NIL NIL) (((32 36) (57 115/2) (58 60)) ((12 13) (12 13) (24 32) (26 27) (28 32) (46 48) (48 50) (49 50) (50 52) (50 52) (54 57) (60 62) (60 61) (61 62) (62 63) (63 64) (63 64))) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL) (NIL NIL)) |#
  • 28. ; Cross-­‐check the timings of compound questions. (setq time-­‐intervals (if (> (length questions) 1) (cross-­‐check-­‐compound-­‐questions questions ontimes-­‐signatures time-­‐intervals) (if (index-­‐item-­‐1st-­‐doesnt-­‐occur (list nil) time-­‐intervals) (first (nth (index-­‐item-­‐1st-­‐doesnt-­‐occur (list nil) time-­‐intervals) time-­‐intervals))))) ; -­‐-­‐> ((58 62)) (bar&beat-­‐number-­‐of-­‐ontime 58 ontimes-­‐signatures) ; -­‐-­‐> (15 3 58)
  • 29.
  • 30. Spider Plot Pitch and Duration 0.75 0.5 Duration 0.75 1 Pitch 1 0.75 0.5 0.25 0.5 1 Mean All 0.25 0.25 0.5 0.75 1 0.25 0.25 0.75 0.5 1 Articulation 0.25 0.5 0.75 Voice Specific 1 0.25 0.5 0.75 1 Lyrics 0.25 0.5 0.75 1 Compound 0.25 0.5 0.75 1 Melodic Interval 0.25 0.5 0.75 1 Harmonic Interval 0.25 0.5 0.75 Pitch and Duration 1 Cadence 0.25 0.5 0.75 1 Triad 0.25 0.5 0.75 1 Texture Measure Recall Measure Precision Beat Recall Beat Precision Spider Plot Triad Duration 1 1 0.75 0.75 1 Articulation Voice Specific 1 Measure Recall Measure Precision Beat Recall Beat Precision
  • 31.
  • 32. (melody with accompn, 1)! (contrapuntal, 1)! (melody with accompn, .8)!
  • 33. • The Stravinsqi algorithm has effectively solved seven of the twelve C@merata task categories (pitch, duration, pitch and duration, articulation, voice specific, lyrics, and melodic interval) • As for the remaining five categories, precision for one category (compound queries) can be improved by fixing a selection-­‐criteria bug • More data are required for the triad, cadence, and texture query categories • A big “thank you” to Richard Sutcliffe and team
  • 34. • The Stravinsqi algorithm has effectively solved seven of the twelve C@merata task categories (pitch, duration, pitch and duration, articulation, voice specific, lyrics, and melodic interval) • As for the remaining five categories, precision for one category (compound queries) can be improved by fixing a selection-­‐criteria bug • More data are required for the triad, cadence, and texture query categories • A big “thank you” to Richard Sutcliffe and team
  • 35. • The Stravinsqi algorithm has effectively solved seven of the twelve C@merata task categories (pitch, duration, pitch and duration, articulation, voice specific, lyrics, and melodic interval) • As for the remaining five categories, precision for one category (compound queries) can be improved by fixing a selection-­‐criteria bug • More data are required for the triad, cadence, and texture query categories • A big “thank you” to Richard Sutcliffe and team
  • 36. • The Stravinsqi algorithm has effectively solved seven of the twelve C@merata task categories (pitch, duration, pitch and duration, articulation, voice specific, lyrics, and melodic interval) • As for the remaining five categories, precision for one category (compound queries) can be improved by fixing a selection-­‐criteria bug • More data are required for the triad, cadence, and texture query categories • A big “thank you” to Richard Sutcliffe and team
  • 37. Researchers at CCARH for creating and hosting kern scores Collaborators at: Johannes Kepler University: Gerhard Widmer, Andreas Arzt, Sebastian Böck, and Sebastian Flossmann Center for Mind and Brain, UC Davis: Petr Janata, Fred Barrett, and Joy Geng Aalborg University: David Meredith University of Lyon: Barbara Tillmann The Open University: Robin Laney, Alistair Willis, and Paul Garthwaite Funding bodies: Austrian Science Fund (FWF) project number Z159 (Wittgenstein Grant), NSF grant #1025310, ESPRC
  • 38. Code for Stravinsqi (as well as other projects): http://www.tomcollinsresearch.net
  • 39. Allegro non tanto #$$$$$ %% !" !" ! & %! &! & & & '%! &! & & & &%!! & & & '&%!! & &! '&( )$$$$$ * &+ & & & & & & * &+ & & '& & & & * '+& & & 6 #$$$$$ %! &! & & '& '%! &! & & ' && ' '%& ! ! '& % '& '%! &! & &! '&( %! &! & & '& )$$$$$',%! %% '' '%! && '' %% %! && ! * '&( & & '%! && ' ' %% %% ! '' %% *! %! &- & . && 11 #$$$$$'%! &! & & ' &'& $% %! & & &% & & / & & & & / & & & & && '' $ && ( )$$$$$ '%! && '' %% &&& '& & & & &! &+ % & / & % & % & / & % & &( ! P 1,2 P 2,2 ! P 3,3 ! P 3,2 ! P 2,1 ! P 3,4 ! P 2,3 ! P 3,1 ! P 1,1 Beginning of op.56 no.1 by Chopin
  • 40. Allegro non tanto #$$$$$ % &% &% '$$$$$ !" !" % &% 6 #$$$$$ '$$$$$ &% 11 #$$$$$ '$$$$$ ! P 22 ! P 33 ! P 32 ! P 21 ! P 34 ! P 23 ! P 31 ! P 11 ! P 12 Beginning of op.56 no.1 by Chopin
  • 41. Allegro non tanto #$$$$$ !" !" &" &" % % %% % % % & % '' % % '% % % % ( '% '% % '% '% 3 '% % ' ! %%% % #" 3 !" 3 #$$$$$ %%% ' %% ' %%% %%%% ( ) %% '$ %! ' % %% ' %% % '' % & +' % ' % ' %% % &'% %! * &#%% %! * & %% ' ' % %% '' + %% % % 6 #$$$$$ '% %'% %! '% '% '% %'' %% +' ' '' % ' & % ' %%%% %% % ! % '%'%%'% '% '% %'% %! '% 3 #$$$$$ % ' %%% ' %% ) '% % ( '% ( ( # %% % +' %% ' ' % %% '' % ' %%% ' %% ) + %% ( % % 11 #$$$$$'%'% %'' %% +' ' '' % ' & % ' %%%% % $ ! % %%* %%% , , 3 % %! % - %%% $ - %%% --$ '% '% % %$% )$$$$$'% % ( %%% $ $ ' % ( ( $$$ $ %%% ( % % $$ % -- %%% ' $ % '% % %%% #" $" #" %" &" Generated passage
  • 42. Code for Stravinsqi (as well as other projects): http://www.tomcollinsresearch.net