History

added aubiodiffs-onset added aubiodiffs-onset

Paul Brossier committed 21 years ago

Commit 0c205821 parent f382ac61 file · +91 −0Browse files

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

Unified · Split

python/aubiodiffs-onset+91−0
@@ -0,0 +1,91 @@
1+#! /usr/bin/python
2+
3+"""Copyright (C) 2004 Paul Brossier <piem@altern.org>
4+
5+print aubio.__LICENSE__ for the terms of use
6+
7+or see LICENSE.txt in the numarray installation directory.
8+"""
9+__LICENSE__ = """\
10+ Copyright (C) 2004 Paul Brossier <piem@altern.org>
11+
12+ This program is free software; you can redistribute it and/or modify
13+ it under the terms of the GNU General Public License as published by
14+ the Free Software Foundation; either version 2 of the License, or
15+ (at your option) any later version.
16+
17+ This program is distributed in the hope that it will be useful,
18+ but WITHOUT ANY WARRANTY; without even the implied warranty of
19+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+ GNU General Public License for more details.
21+
22+ You should have received a copy of the GNU General Public License
23+ along with this program; if not, write to the Free Software
24+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25+"""
26+
27+
28+__HELP__ = """\
29+# required arguments
30+ -c targetfilename
31+ -o detectfilename
32+(both must be text files with 1 time a line expressed in seconds)
33+
34+# optional arguments
35+ -D <delay> delay in seconds
36+ -v verbose mode
37+ -d debug mode
38+
39+# output
40+results:number of correct detections
41+ number of incorrect detections
42+ number of doubled detections
43+ number of total detections
44+ number of total targets
45+
46+# example:
47+$ aubioonset-comp -c checked-onsets.txt -o handlab-onsets.txt -v
48+( gd fp dd ) tot / real
49+( 5 4 0 ) 9 / 9
50+55.5555555556 %GD 44.4444444444 %FP 0.0 %OD
51+
52+# bugs
53+does not scale to very long lists
54+"""
55+
56+import sys
57+from aubio.onsetcompare import onset_diffs
58+from aubio.txtfile import read_datafile
59+
60+# default values
61+fileo=None;filec=None;vmode=None;dmode=None;delay=0.
62+# default tolerance is 50 ms
63+#tol = 0.050
64+tol = 0.048
65+
66+while len(sys.argv) >=2:
67+ option = sys.argv[1]; del sys.argv[1]
68+ if option == '-h': print __HELP__; sys.exit()
69+ if option == '-o': fileo = sys.argv[1]; del sys.argv[1]
70+ if option == '-c': filec = sys.argv[1]; del sys.argv[1]
71+ if option == '-v': vmode = 'verbose'
72+ if option == '-d': dmode = 'debug'
73+ if option == '-D': delay = float(sys.argv[1]); del sys.argv[1]
74+ if option == '-tol': tol = float(sys.argv[1]); del sys.argv[1]
75+
76+# arguments required
77+if (not fileo) or (not filec):
78+ print 'wrong set of arguments. use \'-h\' for help'
79+ sys.exit('error: needs at least \'-c targets.txt -o detected.txt\'')
80+
81+# load files
82+ltru, lres = read_datafile(fileo,depth=0),read_datafile(filec,depth=0)
83+
84+# delay onsets as required with -D
85+if delay:
86+ for i in range(len(lres)):
87+ lres[i] = lres[i] + delay
88+# compute errors types
89+l = onset_diffs(ltru,lres,tol)
90+for i in l: print i
91+

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