feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change
on this file since e6f7a4a was
e6f7a4a,
checked in by Paul Brossier <piem@piem.org>, 12 years ago
|
demos/demo_onset.py: add simple onset example, update demo_onset_plot.py
|
-
Property mode set to
100755
|
File size:
872 bytes
|
Rev | Line | |
---|
[e6f7a4a] | 1 | #! /usr/bin/env python |
---|
| 2 | |
---|
| 3 | import sys |
---|
| 4 | from aubio import onset, source |
---|
| 5 | from numpy import array, hstack, zeros |
---|
| 6 | |
---|
| 7 | win_s = 512 # fft size |
---|
| 8 | hop_s = win_s / 2 # hop size |
---|
| 9 | |
---|
| 10 | if len(sys.argv) < 2: |
---|
| 11 | print "Usage: %s <filename> [samplerate]" % sys.argv[0] |
---|
| 12 | sys.exit(1) |
---|
| 13 | |
---|
| 14 | filename = sys.argv[1] |
---|
| 15 | |
---|
| 16 | samplerate = 0 |
---|
| 17 | if len( sys.argv ) > 2: samplerate = int(sys.argv[2]) |
---|
| 18 | |
---|
| 19 | s = source(filename, samplerate, hop_s) |
---|
| 20 | samplerate = s.samplerate |
---|
| 21 | o = onset("default", win_s, hop_s) |
---|
| 22 | |
---|
| 23 | # onset detection delay, in blocks |
---|
| 24 | delay = 4. * hop_s |
---|
| 25 | |
---|
| 26 | onsets = [] |
---|
| 27 | total_frames = 0 |
---|
| 28 | while True: |
---|
| 29 | samples, read = s() |
---|
| 30 | is_onset = o(samples) |
---|
| 31 | if is_onset: |
---|
| 32 | this_onset = int(total_frames - delay + is_onset[0] * hop_s) |
---|
| 33 | print "%f" % (this_onset / float(samplerate)) |
---|
| 34 | onsets.append(this_onset) |
---|
| 35 | total_frames += read |
---|
| 36 | if read < hop_s: break |
---|
| 37 | #print len(onsets) |
---|
Note: See
TracBrowser
for help on using the repository browser.