python/demos/demo_pitch.py: remove stdout, plot in midi
[aubio.git] / python / demos / demo_onset.py
1 #! /usr/bin/env python
2
3 import sys
4 from aubio import source, onset
5
6 win_s = 512                 # fft size
7 hop_s = win_s / 2           # hop size
8
9 if len(sys.argv) < 2:
10     print "Usage: %s <filename> [samplerate]" % sys.argv[0]
11     sys.exit(1)
12
13 filename = sys.argv[1]
14
15 samplerate = 0
16 if len( sys.argv ) > 2: samplerate = int(sys.argv[2])
17
18 s = source(filename, samplerate, hop_s)
19 samplerate = s.samplerate
20
21 o = onset("default", win_s, hop_s, samplerate)
22
23 # list of onsets, in samples
24 onsets = []
25
26 # total number of frames read
27 total_frames = 0
28 while True:
29     samples, read = s()
30     if o(samples):
31         print "%f" % o.get_last_s()
32         onsets.append(o.get_last())
33     total_frames += read
34     if read < hop_s: break
35 #print len(onsets)