History

added onset_rocloc simultaneous comparison and diffs added onset_rocloc simultaneous comparison and diffs

Paul Brossier committed 20 years ago

Commit 8b0595e1 parent a3254df1 file · +32 −0Browse files

Showing the changes to python (1 of 1 file). Show all

Unified · Split

python/aubio/onsetcompare.py+32−0
@@ -71,6 +71,38 @@ def onset_diffs(ltru, lexp, eps): · 70 unmodified lines
7171 # return list of diffs
7272 return l
7373
74+def onset_rocloc(ltru, lexp, eps):
75+ """ compute differences between two lists
76+ orig = hits + missed + merged
77+ expc = hits + bad + doubled
78+ returns orig, missed, merged, expc, bad, doubled
79+ """
80+ orig, expc = len(ltru), len(lexp)
81+ l = []
82+ mean = 0
83+ # if lexp is empty
84+ if expc == 0 : return orig,orig,0,0,0,0,l,mean
85+ missed, bad, doubled, merged = 0, 0, 0, 0
86+ # find missed and doubled ones first
87+ for x in ltru:
88+ correspond = 0
89+ for y in lexp:
90+ if abs(x-y) <= eps: correspond += 1
91+ if correspond == 0: missed += 1
92+ elif correspond > 1: doubled += correspond - 1
93+ # then look for bad and merged ones
94+ for y in lexp:
95+ correspond = 0
96+ for x in ltru:
97+ if abs(x-y) <= eps:
98+ correspond += 1
99+ l.append(y-x)
100+ if correspond == 0: bad += 1
101+ elif correspond > 1: merged += correspond - 1
102+ # check consistancy of the results
103+ assert ( orig - missed - merged == expc - bad - doubled)
104+ return orig, missed, merged, expc, bad, doubled, l, sum(l)/float(max(len(l),1))
105+
74106 def notes_roc (la, lb, eps):
75107 from numarray import transpose, add, resize
76108 """ creates a matrix of size len(la)*len(lb) then look for hit and miss

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t