Showing the changes to python (24 of 24 files). Show all
Unified · Split
| @@ -45,12 +45,18 @@ def get_file_bpm(path, params = None): · 44 unmodified lines | ||
| 45 | 45 | break |
| 46 | 46 | |
| 47 | 47 | # Convert to periods and to bpm |
| 48 | − bpms = 60./diff(beats) | |
| 49 | − b = median(bpms) | |
| 48 | + if len(beats) > 1: | |
| 49 | + if len(beats) < 4: | |
| 50 | + print("few beats found in {:s}".format(path)) | |
| 51 | + bpms = 60./diff(beats) | |
| 52 | + b = median(bpms) | |
| 53 | + else: | |
| 54 | + b = 0 | |
| 55 | + print("not enough beats found in {:s}".format(path)) | |
| 50 | 56 | return b |
| 51 | 57 | |
| 52 | 58 | if __name__ == '__main__': |
| 53 | 59 | import sys |
| 54 | 60 | for f in sys.argv[1:]: |
| 55 | 61 | bpm = get_file_bpm(f) |
| 56 | − print "%6s" % ("%.2f" % bpm), f | |
| 62 | + print("{:6s} {:s}".format("{:2f}".format(bpm), f)) | |
| @@ -19,7 +19,7 @@ coeffs[4] *= 5. · 18 unmodified lines | ||
| 19 | 19 | |
| 20 | 20 | f.set_coeffs(coeffs) |
| 21 | 21 | |
| 22 | −times = vstack([arange(win_s / 2 + 1) * samplerate / win_s] * n_filters) | |
| 22 | +times = vstack([arange(win_s // 2 + 1) * samplerate / win_s] * n_filters) | |
| 23 | 23 | title('Bank of filters built using a simple list of boundaries\nThe middle band has been amplified by 2.') |
| 24 | 24 | loglog(times.T, f.get_coeffs().T, '.-') |
| 25 | 25 | xlim([50, samplerate/2]) |
| @@ -11,7 +11,7 @@ f.set_mel_coeffs_slaney(samplerate) · 10 unmodified lines | ||
| 11 | 11 | |
| 12 | 12 | from pylab import loglog, title, show, xlim, ylim, xlabel, ylabel |
| 13 | 13 | xlim([0,samplerate / 2]) |
| 14 | −times = vstack([arange(win_s / 2 + 1) * samplerate / win_s] * 40) | |
| 14 | +times = vstack([arange(win_s // 2 + 1) * samplerate / win_s] * 40) | |
| 15 | 15 | loglog(times.T, f.get_coeffs().T, '.-') |
| 16 | 16 | title('Mel frequency bands coefficients') |
| 17 | 17 | xlim([100, 7500]) |
| @@ -16,7 +16,7 @@ f.set_triangle_bands(freqs, samplerate) · 15 unmodified lines | ||
| 16 | 16 | |
| 17 | 17 | subplot(211) |
| 18 | 18 | title('Examples of filterbank built with set_triangle_bands and set_coeffs') |
| 19 | −times = vstack([arange(win_s / 2 + 1) * samplerate / win_s] * n_filters) | |
| 19 | +times = vstack([arange(win_s // 2 + 1) * samplerate / win_s] * n_filters) | |
| 20 | 20 | loglog(times.T, f.get_coeffs().T, '.-') |
| 21 | 21 | xlim([50, samplerate/2]) |
| 22 | 22 | ylim([1.0e-6, 2.0e-2]) |
| @@ -37,7 +37,7 @@ coeffs[4] *= 5. · 14 unmodified lines | ||
| 37 | 37 | f.set_coeffs(coeffs) |
| 38 | 38 | |
| 39 | 39 | subplot(212) |
| 40 | −times = vstack([arange(win_s / 2 + 1) * samplerate / win_s] * n_filters) | |
| 40 | +times = vstack([arange(win_s // 2 + 1) * samplerate / win_s] * n_filters) | |
| 41 | 41 | loglog(times.T, f.get_coeffs().T, '.-') |
| 42 | 42 | xlim([50, samplerate/2]) |
| 43 | 43 | ylim([1.0e-6, 2.0e-2]) |
| @@ -5,10 +5,10 @@ from aubio import source, pvoc, filterbank · 4 unmodified lines | ||
| 5 | 5 | from numpy import vstack, zeros |
| 6 | 6 | |
| 7 | 7 | win_s = 512 # fft size |
| 8 | −hop_s = win_s / 4 # hop size | |
| 8 | +hop_s = win_s // 4 # hop size | |
| 9 | 9 | |
| 10 | 10 | if len(sys.argv) < 2: |
| 11 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 11 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 12 | 12 | sys.exit(1) |
| 13 | 13 | |
| 14 | 14 | filename = sys.argv[1] |
| @@ -34,14 +34,14 @@ while True: · 19 unmodified lines | ||
| 34 | 34 | samples, read = s() |
| 35 | 35 | fftgrain = pv(samples) |
| 36 | 36 | new_energies = f(fftgrain) |
| 37 | − print '%f' % (total_frames / float(samplerate) ), | |
| 38 | − print ' '.join(['%f' % b for b in new_energies]) | |
| 37 | + timestr = '%f' % (total_frames / float(samplerate) ) | |
| 38 | + print('{:s} {:s}'.format(timestr, ' '.join(['%f' % b for b in new_energies]))) | |
| 39 | 39 | energies = vstack( [energies, new_energies] ) |
| 40 | 40 | total_frames += read |
| 41 | 41 | if read < hop_s: break |
| 42 | 42 | |
| 43 | 43 | if 1: |
| 44 | − print "done computing, now plotting" | |
| 44 | + print("done computing, now plotting") | |
| 45 | 45 | import matplotlib.pyplot as plt |
| 46 | 46 | from demo_waveform_plot import get_waveform_plot |
| 47 | 47 | from demo_waveform_plot import set_xlabels_sample2time |
| @@ -5,13 +5,13 @@ from aubio import source, pvoc, mfcc · 4 unmodified lines | ||
| 5 | 5 | from numpy import vstack, zeros |
| 6 | 6 | |
| 7 | 7 | win_s = 512 # fft size |
| 8 | −hop_s = win_s / 4 # hop size | |
| 8 | +hop_s = win_s // 4 # hop size | |
| 9 | 9 | n_filters = 40 # must be 40 for mfcc |
| 10 | 10 | n_coeffs = 13 |
| 11 | 11 | samplerate = 44100 |
| 12 | 12 | |
| 13 | 13 | if len(sys.argv) < 2: |
| 14 | − print "Usage: %s <source_filename>" % sys.argv[0] | |
| 14 | + print("Usage: %s <source_filename>" % sys.argv[0]) | |
| 15 | 15 | sys.exit(1) |
| 16 | 16 | |
| 17 | 17 | source_filename = sys.argv[1] |
| @@ -4,10 +4,10 @@ import sys · 3 unmodified lines | ||
| 4 | 4 | from aubio import source, onset |
| 5 | 5 | |
| 6 | 6 | win_s = 512 # fft size |
| 7 | −hop_s = win_s / 2 # hop size | |
| 7 | +hop_s = win_s // 2 # hop size | |
| 8 | 8 | |
| 9 | 9 | if len(sys.argv) < 2: |
| 10 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 10 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 11 | 11 | sys.exit(1) |
| 12 | 12 | |
| 13 | 13 | filename = sys.argv[1] |
| @@ -28,7 +28,7 @@ total_frames = 0 · 14 unmodified lines | ||
| 28 | 28 | while True: |
| 29 | 29 | samples, read = s() |
| 30 | 30 | if o(samples): |
| 31 | − print "%f" % o.get_last_s() | |
| 31 | + print("%f" % o.get_last_s()) | |
| 32 | 32 | onsets.append(o.get_last()) |
| 33 | 33 | total_frames += read |
| 34 | 34 | if read < hop_s: break |
| @@ -5,10 +5,10 @@ from aubio import onset, source · 4 unmodified lines | ||
| 5 | 5 | from numpy import hstack, zeros |
| 6 | 6 | |
| 7 | 7 | win_s = 512 # fft size |
| 8 | −hop_s = win_s / 2 # hop size | |
| 8 | +hop_s = win_s // 2 # hop size | |
| 9 | 9 | |
| 10 | 10 | if len(sys.argv) < 2: |
| 11 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 11 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 12 | 12 | sys.exit(1) |
| 13 | 13 | |
| 14 | 14 | filename = sys.argv[1] |
| @@ -34,10 +34,10 @@ total_frames = 0 · 19 unmodified lines | ||
| 34 | 34 | while True: |
| 35 | 35 | samples, read = s() |
| 36 | 36 | if o(samples): |
| 37 | − print "%f" % (o.get_last_s()) | |
| 37 | + print("%f" % (o.get_last_s())) | |
| 38 | 38 | onsets.append(o.get_last()) |
| 39 | 39 | # keep some data to plot it later |
| 40 | − new_maxes = (abs(samples.reshape(hop_s/downsample, downsample))).max(axis=0) | |
| 40 | + new_maxes = (abs(samples.reshape(hop_s//downsample, downsample))).max(axis=0) | |
| 41 | 41 | allsamples_max = hstack([allsamples_max, new_maxes]) |
| 42 | 42 | desc.append(o.get_descriptor()) |
| 43 | 43 | tdesc.append(o.get_thresholded_descriptor()) |
| @@ -61,9 +61,10 @@ if 1: · 17 unmodified lines | ||
| 61 | 61 | plt1.xaxis.set_visible(False) |
| 62 | 62 | plt1.yaxis.set_visible(False) |
| 63 | 63 | desc_times = [ float(t) * hop_s / samplerate for t in range(len(desc)) ] |
| 64 | − desc_plot = [d / max(desc) for d in desc] | |
| 64 | + desc_max = max(desc) if max(desc) != 0 else 1. | |
| 65 | + desc_plot = [d / desc_max for d in desc] | |
| 65 | 66 | plt2.plot(desc_times, desc_plot, '-g') |
| 66 | − tdesc_plot = [d / max(desc) for d in tdesc] | |
| 67 | + tdesc_plot = [d / desc_max for d in tdesc] | |
| 67 | 68 | for stamp in onsets: |
| 68 | 69 | stamp /= float(samplerate) |
| 69 | 70 | plt2.plot([stamp, stamp], [min(tdesc_plot), max(desc_plot)], '-r') |
| @@ -4,17 +4,17 @@ import sys · 3 unmodified lines | ||
| 4 | 4 | from aubio import source, pitch |
| 5 | 5 | |
| 6 | 6 | if len(sys.argv) < 2: |
| 7 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 7 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 8 | 8 | sys.exit(1) |
| 9 | 9 | |
| 10 | 10 | filename = sys.argv[1] |
| 11 | 11 | |
| 12 | 12 | downsample = 1 |
| 13 | −samplerate = 44100 / downsample | |
| 13 | +samplerate = 44100 // downsample | |
| 14 | 14 | if len( sys.argv ) > 2: samplerate = int(sys.argv[2]) |
| 15 | 15 | |
| 16 | −win_s = 4096 / downsample # fft size | |
| 17 | −hop_s = 512 / downsample # hop size | |
| 16 | +win_s = 4096 // downsample # fft size | |
| 17 | +hop_s = 512 // downsample # hop size | |
| 18 | 18 | |
| 19 | 19 | s = source(filename, samplerate, hop_s) |
| 20 | 20 | samplerate = s.samplerate |
| @@ -36,7 +36,7 @@ while True: · 15 unmodified lines | ||
| 36 | 36 | #pitch = int(round(pitch)) |
| 37 | 37 | confidence = pitch_o.get_confidence() |
| 38 | 38 | #if confidence < 0.8: pitch = 0. |
| 39 | − #print "%f %f %f" % (total_frames / float(samplerate), pitch, confidence) | |
| 39 | + print("%f %f %f" % (total_frames / float(samplerate), pitch, confidence)) | |
| 40 | 40 | pitches += [pitch] |
| 41 | 41 | confidences += [confidence] |
| 42 | 42 | total_frames += read |
| @@ -22,7 +22,7 @@ samplerate = 44100 · 21 unmodified lines | ||
| 22 | 22 | sin_length = (samplerate * 10) % 512 * 512 |
| 23 | 23 | freqs = np.zeros(sin_length) |
| 24 | 24 | |
| 25 | −partition = sin_length / 8 | |
| 25 | +partition = sin_length // 8 | |
| 26 | 26 | pointer = 0 |
| 27 | 27 | |
| 28 | 28 | pointer += partition |
| @@ -44,9 +44,10 @@ a = build_sinusoid(sin_length, freqs, samplerate) · 15 unmodified lines | ||
| 44 | 44 | for method in methods: |
| 45 | 45 | p = aubio.pitch(method, buf_size, hop_size, samplerate) |
| 46 | 46 | cands[method] = run_pitch(p, a) |
| 47 | − print cands[method] | |
| 47 | + print(method) | |
| 48 | + print(cands[method]) | |
| 48 | 49 | |
| 49 | −print "done computing" | |
| 50 | +print("done computing") | |
| 50 | 51 | |
| 51 | 52 | if 1: |
| 52 | 53 | import matplotlib.pyplot as plt |
| @@ -10,7 +10,6 @@ def record_sink(sink_path): · 9 unmodified lines | ||
| 10 | 10 | duration = 5 # in seconds |
| 11 | 11 | s = Stream(blocksize = hop_size, channels = 1) |
| 12 | 12 | g = sink(sink_path, samplerate = int(s.samplerate)) |
| 13 | − print s.channels | |
| 14 | 13 | |
| 15 | 14 | s.start() |
| 16 | 15 | total_frames = 0 |
| @@ -22,7 +21,8 @@ def record_sink(sink_path): · 5 unmodified lines | ||
| 22 | 21 | g(mono_vec, hop_size) |
| 23 | 22 | total_frames += hop_size |
| 24 | 23 | except KeyboardInterrupt: |
| 25 | − print "stopped after", "%.2f seconds" % (total_frames / s.samplerate) | |
| 24 | + duration = total_frames / float(s.samplerate) | |
| 25 | + print("stopped after %.2f seconds" % duration) | |
| 26 | 26 | s.stop() |
| 27 | 27 | |
| 28 | 28 | if __name__ == '__main__': |
| @@ -5,7 +5,7 @@ from aubio import source, sink, pvoc · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | if __name__ == '__main__': |
| 7 | 7 | if len(sys.argv) < 2: |
| 8 | − print 'usage: %s <inputfile> <outputfile>' % sys.argv[0] | |
| 8 | + print('usage: %s <inputfile> <outputfile>' % sys.argv[0]) | |
| 9 | 9 | sys.exit(1) |
| 10 | 10 | samplerate = 44100 |
| 11 | 11 | f = source(sys.argv[1], samplerate, 256) |
| @@ -13,7 +13,7 @@ if __name__ == '__main__': · 1 unmodified line | ||
| 13 | 13 | total_frames, read = 0, 256 |
| 14 | 14 | |
| 15 | 15 | win_s = 512 # fft size |
| 16 | − hop_s = win_s / 2 # hop size | |
| 16 | + hop_s = win_s // 2 # hop size | |
| 17 | 17 | pv = pvoc(win_s, hop_s) # phase vocoder |
| 18 | 18 | |
| 19 | 19 | while read: |
| @@ -25,4 +25,5 @@ if __name__ == '__main__': · 5 unmodified lines | ||
| 25 | 25 | g(new_samples, read) # write to output |
| 26 | 26 | total_frames += read |
| 27 | 27 | |
| 28 | − print "wrote", total_frames, "from", f.uri, "to", g.uri | |
| 28 | + format_str = "read {:d} samples from {:s}, written to {:s}" | |
| 29 | + print(format_str.format(total_frames, f.uri, g.uri)) | |
| @@ -13,7 +13,7 @@ def hanningz(size): · 12 unmodified lines | ||
| 13 | 13 | |
| 14 | 14 | if __name__ == '__main__': |
| 15 | 15 | if len(sys.argv) < 2: |
| 16 | − print 'usage: %s <inputfile> <outputfile>' % sys.argv[0] | |
| 16 | + print('usage: %s <inputfile> <outputfile>' % sys.argv[0]) | |
| 17 | 17 | sys.exit(1) |
| 18 | 18 | samplerate = 0 |
| 19 | 19 | if len(sys.argv) > 3: samplerate = int(sys.argv[3]) |
| @@ -22,7 +22,7 @@ if __name__ == '__main__': · 2 unmodified lines | ||
| 22 | 22 | g = sink(sys.argv[2], samplerate) |
| 23 | 23 | |
| 24 | 24 | win_s = 512 # fft size |
| 25 | − hop_s = win_s / 2 # hop size | |
| 25 | + hop_s = win_s // 2 # hop size | |
| 26 | 26 | pv = pvoc(win_s, hop_s) # phase vocoder |
| 27 | 27 | |
| 28 | 28 | # spectral weighting vector |
| @@ -30,7 +30,7 @@ if __name__ == '__main__': · 1 unmodified line | ||
| 30 | 30 | .8 * hanningz(80)[40:], |
| 31 | 31 | zeros( 50 ), |
| 32 | 32 | 1.3 * hanningz(100), |
| 33 | − zeros (win_s / 2 + 1 - 40 - 50 - 100), | |
| 33 | + zeros (win_s // 2 + 1 - 40 - 50 - 100), | |
| 34 | 34 | ] ) |
| 35 | 35 | |
| 36 | 36 | if 0: |
| @@ -52,4 +52,5 @@ if __name__ == '__main__': · 15 unmodified lines | ||
| 52 | 52 | g(new_samples, read) |
| 53 | 53 | total_frames += read |
| 54 | 54 | |
| 55 | − print "read", total_frames / float(samplerate), "seconds from", f.uri | |
| 55 | + duration = total_frames / float(samplerate) | |
| 56 | + print("read {:.3f}s from {:s}".format(duration, f.uri)) | |
| @@ -5,7 +5,7 @@ from aubio import source, sink · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | if __name__ == '__main__': |
| 7 | 7 | if len(sys.argv) < 3: |
| 8 | − print 'usage: %s <inputfile> <outputfile> [samplerate] [hop_size]' % sys.argv[0] | |
| 8 | + print('usage: %s <inputfile> <outputfile> [samplerate] [hop_size]' % sys.argv[0]) | |
| 9 | 9 | sys.exit(1) |
| 10 | 10 | |
| 11 | 11 | if len(sys.argv) > 3: samplerate = int(sys.argv[3]) |
| @@ -22,8 +22,10 @@ if __name__ == '__main__': · 10 unmodified lines | ||
| 22 | 22 | vec, read = f() |
| 23 | 23 | g(vec, read) |
| 24 | 24 | total_frames += read |
| 25 | − print "wrote", "%.2fs" % (total_frames / float(samplerate) ), | |
| 26 | − print "(", total_frames, "frames", "in", | |
| 27 | − print total_frames / f.hop_size, "blocks", "at", "%dHz" % f.samplerate, ")", | |
| 28 | − print "from", f.uri, | |
| 29 | − print "to", g.uri | |
| 25 | + outstr = "wrote %.2fs" % (total_frames / float(samplerate)) | |
| 26 | + outstr += " (%d frames in" % total_frames | |
| 27 | + outstr += " %d blocks" % (total_frames // f.hop_size) | |
| 28 | + outstr += " at %dHz)" % f.samplerate | |
| 29 | + outstr += " from " + f.uri | |
| 30 | + outstr += " to " + g.uri | |
| 31 | + print(outstr) | |
| @@ -2,11 +2,11 @@ · 1 unmodified line | ||
| 2 | 2 | |
| 3 | 3 | import sys |
| 4 | 4 | from math import pi, e |
| 5 | −from aubio import sink | |
| 5 | +from aubio import sink, float_type | |
| 6 | 6 | from numpy import arange, sin, exp, zeros |
| 7 | 7 | |
| 8 | 8 | if len(sys.argv) < 2: |
| 9 | − print 'usage: %s <outputfile> [samplerate]' % sys.argv[0] | |
| 9 | + print('usage: %s <outputfile> [samplerate]' % sys.argv[0]) | |
| 10 | 10 | sys.exit(1) |
| 11 | 11 | |
| 12 | 12 | samplerate = 44100 # samplerate in Hz |
| @@ -25,9 +25,9 @@ decay = .5 · 12 unmodified lines | ||
| 25 | 25 | period = float(samplerate) / pitch |
| 26 | 26 | # create a sine lookup table |
| 27 | 27 | tablelen = 1000 |
| 28 | −sinetable = arange(tablelen + 1, dtype = 'float32') | |
| 28 | +sinetable = arange(tablelen + 1, dtype = float_type) | |
| 29 | 29 | sinetable = 0.7 * sin(twopi * sinetable/tablelen) |
| 30 | −sinetone = zeros((duration,), dtype = 'float32') | |
| 30 | +sinetone = zeros((duration,), dtype = float_type) | |
| 31 | 31 | |
| 32 | 32 | # compute sinetone at floating point period |
| 33 | 33 | for i in range(duration): |
| @@ -39,7 +39,7 @@ for i in range(duration): · 5 unmodified lines | ||
| 39 | 39 | sinetone[i] = a + frac * (b -a) |
| 40 | 40 | |
| 41 | 41 | # apply some envelope |
| 42 | −float_ramp = arange(duration, dtype = 'float32') | |
| 42 | +float_ramp = arange(duration, dtype = float_type) | |
| 43 | 43 | sinetone *= exp( - e * float_ramp / duration / decay) |
| 44 | 44 | sinetone[:attack] *= exp( e * ( float_ramp[:attack] / attack - 1 ) ) |
| 45 | 45 | |
| @@ -5,7 +5,7 @@ from aubio import source, sink · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | if __name__ == '__main__': |
| 7 | 7 | if len(sys.argv) < 3: |
| 8 | − print 'usage: %s <inputfile> <outputfile> [samplerate] [hop_size]' % sys.argv[0] | |
| 8 | + print('usage: %s <inputfile> <outputfile> [samplerate] [hop_size]' % sys.argv[0]) | |
| 9 | 9 | sys.exit(1) |
| 10 | 10 | |
| 11 | 11 | if len(sys.argv) > 3: samplerate = int(sys.argv[3]) |
| @@ -22,10 +22,11 @@ if __name__ == '__main__': · 10 unmodified lines | ||
| 22 | 22 | vec, read = f.do_multi() |
| 23 | 23 | g.do_multi(vec, read) |
| 24 | 24 | total_frames += read |
| 25 | − print "wrote", "%.2fs" % (total_frames / float(samplerate) ), | |
| 26 | − print "(", total_frames, "frames", "in", | |
| 27 | − print total_frames / f.hop_size, "blocks", | |
| 28 | − print "of", f.channels, "channels", | |
| 29 | − print "at", "%dHz" % f.samplerate, ")", | |
| 30 | − print "from", f.uri, | |
| 31 | − print "to", g.uri | |
| 25 | + outstr = "wrote %.2fs" % (total_frames / float(samplerate)) | |
| 26 | + outstr += " (%d frames in" % total_frames | |
| 27 | + outstr += " %d blocks" % (total_frames // f.hop_size) | |
| 28 | + outstr += " of %d channels" % f.channels | |
| 29 | + outstr += " at %dHz)" % f.samplerate | |
| 30 | + outstr += " from " + f.uri | |
| 31 | + outstr += " to " + g.uri | |
| 32 | + print(outstr) | |
| @@ -6,7 +6,7 @@ from aubio import source, sink · 5 unmodified lines | ||
| 6 | 6 | |
| 7 | 7 | if __name__ == '__main__': |
| 8 | 8 | if len(sys.argv) < 3: |
| 9 | − print 'usage: %s <inputfile> <duration>' % sys.argv[0] | |
| 9 | + print('usage: %s <inputfile> <duration>' % sys.argv[0]) | |
| 10 | 10 | sys.exit(1) |
| 11 | 11 | source_file = sys.argv[1] |
| 12 | 12 | duration = float(sys.argv[2]) |
| @@ -44,7 +44,8 @@ if __name__ == '__main__': · 31 unmodified lines | ||
| 44 | 44 | total_frames_written += read |
| 45 | 45 | total_duration = total_frames_written / float(samplerate) |
| 46 | 46 | slice_n += 1 |
| 47 | − print 'created %(slice_n)s slices from %(source_base_name)s%(source_ext)s' % locals(), | |
| 48 | − print ' (total duration %(total_duration).2fs)' % locals() | |
| 47 | + outstr = 'created %(slice_n)s slices from %(source_base_name)s%(source_ext)s' % locals() | |
| 48 | + outstr += ' (total duration %(total_duration).2fs)' % locals() | |
| 49 | + print(outstr) | |
| 49 | 50 | # close source and sink files |
| 50 | 51 | del f, g |
| @@ -5,7 +5,7 @@ from aubio import source · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | if __name__ == '__main__': |
| 7 | 7 | if len(sys.argv) < 2: |
| 8 | − print 'usage: %s <inputfile> [samplerate] [hop_size]' % sys.argv[0] | |
| 8 | + print('usage: %s <inputfile> [samplerate] [hop_size]' % sys.argv[0]) | |
| 9 | 9 | sys.exit(1) |
| 10 | 10 | samplerate = 0 |
| 11 | 11 | hop_size = 256 |
| @@ -20,7 +20,9 @@ if __name__ == '__main__': · 8 unmodified lines | ||
| 20 | 20 | vec, read = f() |
| 21 | 21 | total_frames += read |
| 22 | 22 | if read < f.hop_size: break |
| 23 | − print "read", "%.2fs" % (total_frames / float(samplerate) ), | |
| 24 | − print "(", total_frames, "frames", "in", | |
| 25 | − print total_frames / f.hop_size, "blocks", "at", "%dHz" % f.samplerate, ")", | |
| 26 | − print "from", f.uri | |
| 23 | + outstr = "read %.2fs" % (total_frames / float(samplerate)) | |
| 24 | + outstr += " (%d frames in" % total_frames | |
| 25 | + outstr += " %d blocks" % (total_frames // f.hop_size) | |
| 26 | + outstr += " at %dHz)" % f.samplerate | |
| 27 | + outstr += " from " + f.uri | |
| 28 | + print(outstr) | |
| @@ -1,14 +1,14 @@ | ||
| 1 | 1 | #! /usr/bin/env python |
| 2 | 2 | |
| 3 | 3 | import sys |
| 4 | +import numpy as np | |
| 4 | 5 | from aubio import fvec, source, pvoc, specdesc |
| 5 | −from numpy import hstack | |
| 6 | 6 | |
| 7 | 7 | win_s = 512 # fft size |
| 8 | −hop_s = win_s / 4 # hop size | |
| 8 | +hop_s = win_s // 4 # hop size | |
| 9 | 9 | |
| 10 | 10 | if len(sys.argv) < 2: |
| 11 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 11 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 12 | 12 | sys.exit(1) |
| 13 | 13 | |
| 14 | 14 | filename = sys.argv[1] |
| @@ -30,7 +30,7 @@ o = {} · 15 unmodified lines | ||
| 30 | 30 | |
| 31 | 31 | for method in methods: |
| 32 | 32 | cands = [] |
| 33 | − all_descs[method] = fvec(0) | |
| 33 | + all_descs[method] = np.array([]) | |
| 34 | 34 | o[method] = specdesc(method, win_s) |
| 35 | 35 | |
| 36 | 36 | total_frames = 0 |
| @@ -39,17 +39,17 @@ downsample = 2 · 2 unmodified lines | ||
| 39 | 39 | while True: |
| 40 | 40 | samples, read = s() |
| 41 | 41 | fftgrain = pv(samples) |
| 42 | − #print "%f" % ( total_frames / float(samplerate) ), | |
| 42 | + #outstr = "%f" % ( total_frames / float(samplerate) ) | |
| 43 | 43 | for method in methods: |
| 44 | 44 | specdesc_val = o[method](fftgrain)[0] |
| 45 | − all_descs[method] = hstack ( [all_descs[method], specdesc_val] ) | |
| 46 | − #print "%f" % specdesc_val, | |
| 47 | ||
| 45 | + all_descs[method] = np.append(all_descs[method], specdesc_val) | |
| 46 | + #outstr += " %f" % specdesc_val | |
| 47 | + #print(outstr) | |
| 48 | 48 | total_frames += read |
| 49 | 49 | if read < hop_s: break |
| 50 | 50 | |
| 51 | 51 | if 1: |
| 52 | − print "done computing, now plotting" | |
| 52 | + print("done computing, now plotting") | |
| 53 | 53 | import matplotlib.pyplot as plt |
| 54 | 54 | from demo_waveform_plot import get_waveform_plot |
| 55 | 55 | from demo_waveform_plot import set_xlabels_sample2time |
| @@ -1,19 +1,19 @@ | ||
| 1 | 1 | #! /usr/bin/env python |
| 2 | 2 | |
| 3 | 3 | import sys, os.path |
| 4 | −from aubio import pvoc, source | |
| 4 | +from aubio import pvoc, source, float_type | |
| 5 | 5 | from numpy import zeros, log10, vstack |
| 6 | 6 | import matplotlib.pyplot as plt |
| 7 | 7 | |
| 8 | 8 | def get_spectrogram(filename, samplerate = 0): |
| 9 | 9 | win_s = 512 # fft window size |
| 10 | − hop_s = win_s / 2 # hop size | |
| 11 | − fft_s = win_s / 2 + 1 # spectrum bins | |
| 10 | + hop_s = win_s // 2 # hop size | |
| 11 | + fft_s = win_s // 2 + 1 # spectrum bins | |
| 12 | 12 | |
| 13 | 13 | a = source(filename, samplerate, hop_s) # source file |
| 14 | 14 | if samplerate == 0: samplerate = a.samplerate |
| 15 | 15 | pv = pvoc(win_s, hop_s) # phase vocoder |
| 16 | − specgram = zeros([0, fft_s], dtype='float32') # numpy array to store spectrogram | |
| 16 | + specgram = zeros([0, fft_s], dtype=float_type) # numpy array to store spectrogram | |
| 17 | 17 | |
| 18 | 18 | # analysis |
| 19 | 19 | while True: |
| @@ -28,8 +28,8 @@ def get_spectrogram(filename, samplerate = 0): · 8 unmodified lines | ||
| 28 | 28 | # show axes in Hz and seconds |
| 29 | 29 | time_step = hop_s / float(samplerate) |
| 30 | 30 | total_time = len(specgram) * time_step |
| 31 | − print "total time: %0.2fs" % total_time, | |
| 32 | − print ", samplerate: %.2fkHz" % (samplerate / 1000.) | |
| 31 | + outstr = "total time: %0.2fs" % total_time | |
| 32 | + print(outstr + ", samplerate: %.2fkHz" % (samplerate / 1000.)) | |
| 33 | 33 | n_xticks = 10 |
| 34 | 34 | n_yticks = 10 |
| 35 | 35 | |
| @@ -65,12 +65,12 @@ def get_spectrogram(filename, samplerate = 0): · 29 unmodified lines | ||
| 65 | 65 | |
| 66 | 66 | if __name__ == '__main__': |
| 67 | 67 | if len(sys.argv) < 2: |
| 68 | − print "Usage: %s <filename>" % sys.argv[0] | |
| 68 | + print("Usage: %s <filename>" % sys.argv[0]) | |
| 69 | 69 | else: |
| 70 | 70 | for soundfile in sys.argv[1:]: |
| 71 | 71 | fig = get_spectrogram(soundfile) |
| 72 | 72 | # display graph |
| 73 | − fig.show() | |
| 73 | + plt.show() | |
| 74 | 74 | #outimage = os.path.basename(soundfile) + '.png' |
| 75 | 75 | #print ("writing: " + outimage) |
| 76 | 76 | #plt.savefig(outimage) |
| @@ -4,10 +4,10 @@ import sys · 3 unmodified lines | ||
| 4 | 4 | from aubio import tempo, source |
| 5 | 5 | |
| 6 | 6 | win_s = 512 # fft size |
| 7 | −hop_s = win_s / 2 # hop size | |
| 7 | +hop_s = win_s // 2 # hop size | |
| 8 | 8 | |
| 9 | 9 | if len(sys.argv) < 2: |
| 10 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 10 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 11 | 11 | sys.exit(1) |
| 12 | 12 | |
| 13 | 13 | filename = sys.argv[1] |
| @@ -33,7 +33,7 @@ while True: · 19 unmodified lines | ||
| 33 | 33 | is_beat = o(samples) |
| 34 | 34 | if is_beat: |
| 35 | 35 | this_beat = int(total_frames - delay + is_beat[0] * hop_s) |
| 36 | − print "%f" % (this_beat / float(samplerate)) | |
| 36 | + print("%f" % (this_beat / float(samplerate))) | |
| 37 | 37 | beats.append(this_beat) |
| 38 | 38 | total_frames += read |
| 39 | 39 | if read < hop_s: break |
| @@ -4,10 +4,10 @@ import sys · 3 unmodified lines | ||
| 4 | 4 | from aubio import tempo, source |
| 5 | 5 | |
| 6 | 6 | win_s = 512 # fft size |
| 7 | −hop_s = win_s / 2 # hop size | |
| 7 | +hop_s = win_s // 2 # hop size | |
| 8 | 8 | |
| 9 | 9 | if len(sys.argv) < 2: |
| 10 | − print "Usage: %s <filename> [samplerate]" % sys.argv[0] | |
| 10 | + print("Usage: %s <filename> [samplerate]" % sys.argv[0]) | |
| 11 | 11 | sys.exit(1) |
| 12 | 12 | |
| 13 | 13 | filename = sys.argv[1] |
| @@ -42,8 +42,8 @@ if len(beats) > 1: · 28 unmodified lines | ||
| 42 | 42 | from numpy import mean, median, diff |
| 43 | 43 | import matplotlib.pyplot as plt |
| 44 | 44 | bpms = 60./ diff(beats) |
| 45 | − print 'mean period:', "%.2f" % mean(bpms), 'bpm', 'median', "%.2f" % median(bpms), 'bpm' | |
| 46 | − print 'plotting', filename | |
| 45 | + print('mean period: %.2fbpm, median: %.2fbpm' % (mean(bpms), median(bpms))) | |
| 46 | + print('plotting %s' % filename) | |
| 47 | 47 | plt1 = plt.axes([0.1, 0.75, 0.8, 0.19]) |
| 48 | 48 | plt2 = plt.axes([0.1, 0.1, 0.8, 0.65], sharex = plt1) |
| 49 | 49 | plt.rc('lines',linewidth='.8') |
| @@ -75,5 +75,5 @@ if len(beats) > 1: · 25 unmodified lines | ||
| 75 | 75 | plt.show() |
| 76 | 76 | |
| 77 | 77 | else: |
| 78 | − print 'mean period:', "%.2f" % 0, 'bpm', 'median', "%.2f" % 0, 'bpm', | |
| 79 | − print 'nothing to plot, file too short?' | |
| 78 | + print('mean period: %.2fbpm, median: %.2fbpm' % (0, 0)) | |
| 79 | + print('plotting %s' % filename) | |
| @@ -5,12 +5,12 @@ from aubio import source, sink, pvoc, tss · 4 unmodified lines | ||
| 5 | 5 | |
| 6 | 6 | if __name__ == '__main__': |
| 7 | 7 | if len(sys.argv) < 2: |
| 8 | − print 'usage: %s <inputfile> <outputfile_transient> <outputfile_steady>' % sys.argv[0] | |
| 8 | + print('usage: %s <inputfile> <outputfile_transient> <outputfile_steady>' % sys.argv[0]) | |
| 9 | 9 | sys.exit(1) |
| 10 | 10 | |
| 11 | 11 | samplerate = 44100 |
| 12 | − win_s = 1024 # fft size | |
| 13 | − hop_s = win_s / 4 # block size | |
| 12 | + win_s = 1024 # fft size | |
| 13 | + hop_s = win_s // 4 # block size | |
| 14 | 14 | threshold = 0.5 |
| 15 | 15 | |
| 16 | 16 | f = source(sys.argv[1], samplerate, hop_s) |
| @@ -21,7 +21,7 @@ def get_waveform_plot(filename, samplerate = 0, block_size = 4096, ax = None, do · 20 unmodified lines | ||
| 21 | 21 | while True: |
| 22 | 22 | samples, read = a() |
| 23 | 23 | # keep some data to plot it later |
| 24 | − new_maxes = (abs(samples.reshape(hop_s/downsample, downsample))).max(axis=0) | |
| 24 | + new_maxes = (abs(samples.reshape(hop_s//downsample, downsample))).max(axis=0) | |
| 25 | 25 | allsamples_max = hstack([allsamples_max, new_maxes]) |
| 26 | 26 | total_frames += read |
| 27 | 27 | if read < hop_s: break |
| @@ -48,7 +48,7 @@ def set_xlabels_sample2time(ax, latest_sample, samplerate): · 20 unmodified lines | ||
| 48 | 48 | if __name__ == '__main__': |
| 49 | 49 | import matplotlib.pyplot as plt |
| 50 | 50 | if len(sys.argv) < 2: |
| 51 | − print "Usage: %s <filename>" % sys.argv[0] | |
| 51 | + print("Usage: %s <filename>" % sys.argv[0]) | |
| 52 | 52 | else: |
| 53 | 53 | for soundfile in sys.argv[1:]: |
| 54 | 54 | get_waveform_plot(soundfile) |