History

protected onset enumerators, factorise python check_modes

Paul Brossier committed 21 years ago

Commit 5cf415f1 parent a29ad468 files · +94 −73Browse files

Showing the changes to python (3 of 8 files). Show all

Unified · Split

3 files
  1. python/aubio/aubioclass.py +39 −2
  2. python/aubiocut +1 −23
  3. python/aubiopitch +2 −12
python/aubio/aubioclass.py+39−2
@@ -79,8 +79,8 @@ class onsetpick: · 78 unmodified lines
7979 self.myfft = cvec(bufsize,channels)
8080 self.pv = pvoc(bufsize,hopsize,channels)
8181 if mode in ['dual'] :
82− self.myod = onsetdetection(hfc,bufsize,channels)
83− self.myod2 = onsetdetection(complexdomain,bufsize,channels)
82+ self.myod = onsetdetection(aubio_onset_hfc,bufsize,channels)
83+ self.myod2 = onsetdetection(aubio_onset_complex,bufsize,channels)
8484 self.myonset = fvec(1,channels)
8585 self.myonset2 = fvec(1,channels)
8686 else:
@@ -105,6 +105,43 @@ class onsetpick: · 18 unmodified lines
105105 else: self.myonset.set(0.,0,0)
106106 return self.pp.do(self.myonset),self.myonset.get(0,0)
107107
108+def check_onset_mode(option, opt, value, parser):
109+ nvalue = parser.rargs[0]
110+ if nvalue == 'complexdomain' or nvalue == 'complex' :
111+ setattr(parser.values, option.dest, aubio_onset_complex)
112+ elif nvalue == 'hfc' :
113+ setattr(parser.values, option.dest, aubio_onset_hfc)
114+ elif nvalue == 'phase' :
115+ setattr(parser.values, option.dest, aubio_onset_phase)
116+ elif nvalue == 'specdiff' :
117+ setattr(parser.values, option.dest, aubio_onset_specdiff)
118+ elif nvalue == 'energy' :
119+ setattr(parser.values, option.dest, aubio_onset_energy)
120+ elif nvalue == 'kl' :
121+ setattr(parser.values, option.dest, aubio_onset_kl)
122+ elif nvalue == 'mkl' :
123+ setattr(parser.values, option.dest, aubio_onset_mkl)
124+ elif nvalue == 'dual' :
125+ setattr(parser.values, option.dest, 'dual')
126+ else:
127+ print "unknown detection function selected\n", usage
128+ sys.exit(1)
129+
130+def check_pitch_mode(option, opt, value, parser):
131+ nvalue = parser.rargs[0]
132+ if nvalue == 'mcomb' :
133+ setattr(parser.values, option.dest, aubio_pitch_mcomb)
134+ elif nvalue == 'yin' :
135+ setattr(parser.values, option.dest, aubio_pitch_yin)
136+ elif nvalue == 'fcomb' :
137+ setattr(parser.values, option.dest, aubio_pitch_fcomb)
138+ elif nvalue == 'schmitt' :
139+ setattr(parser.values, option.dest, aubio_pitch_schmitt)
140+ else:
141+ print "unknown detection function selected\n", usage
142+ sys.exit(1)
143+
144+
108145 def getonsets(filein,threshold=0.2,silence=-70.,bufsize=1024,hopsize=512,
109146 mode='dual',localmin=False,storefunc=False,derivate=False):
110147 frameread = 0
python/aubiocut+1−23
@@ -9,28 +9,6 @@ from aubio.aubioclass import * · 8 unmodified lines
99
1010 usage = "usage: %s [options] -i soundfile" % sys.argv[0]
1111
12−def check_mode(option, opt, value, parser):
13− nvalue = parser.rargs[0]
14− if nvalue == 'complexdomain' :
15− setattr(parser.values, option.dest, complexdomain)
16− elif nvalue == 'hfc' :
17− setattr(parser.values, option.dest, hfc)
18− elif nvalue == 'phase' :
19− setattr(parser.values, option.dest, phase)
20− elif nvalue == 'specdiff' :
21− setattr(parser.values, option.dest, specdiff)
22− elif nvalue == 'energy' :
23− setattr(parser.values, option.dest, energy)
24− elif nvalue == 'kl' :
25− setattr(parser.values, option.dest, kl)
26− elif nvalue == 'mkl' :
27− setattr(parser.values, option.dest, mkl)
28− elif nvalue == 'dual' :
29− setattr(parser.values, option.dest, 'dual')
30− else:
31− print "unknown detection function selected\n", usage
32− sys.exit(1)
33−
3412 def parse_args():
3513 from optparse import OptionParser
3614 parser = OptionParser(usage=usage)
@@ -38,7 +16,7 @@ def parse_args(): · 1 unmodified line
3816 action="store", dest="filename",
3917 help="input sound file")
4018 parser.add_option("-m","--mode", action="callback",
41− callback=check_mode, dest="mode", default='dual',
19+ callback=check_onset_mode, dest="mode", default='dual',
4220 help="onset detection mode [default=dual] \
4321 complexdomain|hfc|phase|specdiff|energy|kl|mkl|dual")
4422 parser.add_option("-B","--bufsize",
python/aubiopitch+2−12
@@ -10,17 +10,6 @@ from aubio.aubioclass import * · 9 unmodified lines
1010
1111 usage = "usage: %s [options] -i soundfile" % sys.argv[0]
1212
13−def check_mode(option, opt, value, parser):
14− nvalue = parser.rargs[0]
15− if nvalue == 'mcomb' :
16− setattr(parser.values, option.dest, aubio_pitch_mcomb)
17− elif nvalue == 'yin' :
18− setattr(parser.values, option.dest, aubio_pitch_yin)
19− elif nvalue == 'fcomb' :
20− setattr(parser.values, option.dest, aubio_pitch_fcomb)
21− elif nvalue == 'schmitt' :
22− setattr(parser.values, option.dest, aubio_pitch_schmitt)
23−
2413
2514 def parse_args():
2615 from optparse import OptionParser
@@ -29,7 +18,8 @@ def parse_args(): · 2 unmodified lines
2918 action="store", dest="filename",
3019 help="input sound file")
3120 parser.add_option("-m","--mode", action="callback",
32− callback=check_mode, dest="mode", default=aubio_pitch_mcomb,
21+ callback=check_pitch_mode, dest="mode",
22+ default=aubio_pitch_mcomb,
3323 help="pitch detection mode [default=mcomb] \
3424 mcomb|yin|fcomb|schmitt")
3525 parser.add_option("-B","--bufsize",

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