source: python/demos/demo_onset.py @ 9582713

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 9582713 was 459e46f, checked in by Paul Brossier <piem@piem.org>, 12 years ago

python/demos/: update and add some demos

  • Property mode set to 100755
File size: 990 bytes
Line 
1#! /usr/bin/env python
2
3import sys
4from aubio import onset, source
5from numpy import array, hstack, zeros
6
7win_s = 512                 # fft size
8hop_s = win_s / 2           # hop size
9
10if len(sys.argv) < 2:
11    print "Usage: %s <filename> [samplerate]" % sys.argv[0]
12    sys.exit(1)
13
14filename = sys.argv[1]
15
16samplerate = 0
17if len( sys.argv ) > 2: samplerate = int(sys.argv[2])
18
19s = source(filename, samplerate, hop_s)
20samplerate = s.samplerate
21o = onset("default", win_s, hop_s, samplerate)
22
23# onset detection delay, in samples
24# default to 4 blocks delay to catch up with
25delay = 4. * hop_s
26
27# list of onsets, in samples
28onsets = []
29
30# total number of frames read
31total_frames = 0
32while True:
33    samples, read = s()
34    is_onset = o(samples)
35    if is_onset:
36        this_onset = int(total_frames - delay + is_onset[0] * hop_s)
37        print "%f" % (this_onset / float(samplerate))
38        onsets.append(this_onset)
39    total_frames += read
40    if read < hop_s: break
41#print len(onsets)
Note: See TracBrowser for help on using the repository browser.