- Timestamp:
- May 16, 2016, 3:16:00 AM (9 years ago)
- Branches:
- feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
- Children:
- dc654f8
- Parents:
- 416ddd1
- Location:
- python/demos
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
python/demos/demo_bpm_extract.py
r416ddd1 r4120fbc 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 … … 54 60 for f in sys.argv[1:]: 55 61 bpm = get_file_bpm(f) 56 print "%6s" % ("%.2f" % bpm), f62 print("{:6s} {:s}".format("{:2f}".format(bpm), f)) -
python/demos/demo_filterbank.py
r416ddd1 r4120fbc 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, '.-') -
python/demos/demo_filterbank_slaney.py
r416ddd1 r4120fbc 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') -
python/demos/demo_filterbank_triangle_bands.py
r416ddd1 r4120fbc 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]) … … 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]) -
python/demos/demo_mel-energy.py
r416ddd1 r4120fbc 6 6 7 7 win_s = 512 # fft size 8 hop_s = win_s / 4# hop size8 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 … … 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 … … 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 -
python/demos/demo_mfcc.py
r416ddd1 r4120fbc 6 6 7 7 win_s = 512 # fft size 8 hop_s = win_s / 4# hop size8 hop_s = win_s // 4 # hop size 9 9 n_filters = 40 # must be 40 for mfcc 10 10 n_coeffs = 13 … … 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 -
python/demos/demo_onset.py
r416ddd1 r4120fbc 5 5 6 6 win_s = 512 # fft size 7 hop_s = win_s / 2# hop size7 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 … … 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 -
python/demos/demo_onset_plot.py
r416ddd1 r4120fbc 6 6 7 7 win_s = 512 # fft size 8 hop_s = win_s / 2# hop size8 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 … … 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()) … … 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) -
python/demos/demo_pitch.py
r416ddd1 r4120fbc 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 … … 11 11 12 12 downsample = 1 13 samplerate = 44100 / downsample13 samplerate = 44100 // downsample 14 14 if len( sys.argv ) > 2: samplerate = int(sys.argv[2]) 15 15 16 win_s = 4096 / downsample # fft size17 hop_s = 512 / downsample # hop size16 win_s = 4096 // downsample # fft size 17 hop_s = 512 // downsample # hop size 18 18 19 19 s = source(filename, samplerate, hop_s) … … 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] -
python/demos/demo_pitch_sinusoid.py
r416ddd1 r4120fbc 23 23 freqs = np.zeros(sin_length) 24 24 25 partition = sin_length / 825 partition = sin_length // 8 26 26 pointer = 0 27 27 … … 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: -
python/demos/demo_pysoundcard_record.py
r416ddd1 r4120fbc 11 11 s = Stream(blocksize = hop_size, channels = 1) 12 12 g = sink(sink_path, samplerate = int(s.samplerate)) 13 print s.channels14 13 15 14 s.start() … … 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 -
python/demos/demo_simple_robot_voice.py
r416ddd1 r4120fbc 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 … … 14 14 15 15 win_s = 512 # fft size 16 hop_s = win_s / 2# hop size16 hop_s = win_s // 2 # hop size 17 17 pv = pvoc(win_s, hop_s) # phase vocoder 18 18 … … 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)) -
python/demos/demo_simple_spectral_weighting.py
r416ddd1 r4120fbc 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 … … 23 23 24 24 win_s = 512 # fft size 25 hop_s = win_s / 2 # hop size25 hop_s = win_s // 2 # hop size 26 26 pv = pvoc(win_s, hop_s) # phase vocoder 27 27 … … 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 … … 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)) -
python/demos/demo_sink.py
r416ddd1 r4120fbc 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 … … 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) -
python/demos/demo_sink_create_woodblock.py
r416ddd1 r4120fbc 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 … … 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 … … 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 ) ) -
python/demos/demo_sink_multi.py
r416ddd1 r4120fbc 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 … … 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) -
python/demos/demo_slicing.py
r416ddd1 r4120fbc 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] … … 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 -
python/demos/demo_source.py
r416ddd1 r4120fbc 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 … … 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) -
python/demos/demo_specdesc.py
r416ddd1 r4120fbc 2 2 3 3 import sys 4 import numpy as np 4 5 from aubio import fvec, source, pvoc, specdesc 5 from numpy import hstack6 6 7 7 win_s = 512 # fft size 8 hop_s = win_s / 4# hop size8 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 … … 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 … … 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 #print 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 -
python/demos/demo_spectrogram.py
r416ddd1 r4120fbc 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 … … 8 8 def get_spectrogram(filename, samplerate = 0): 9 9 win_s = 512 # fft window size 10 hop_s = win_s / 2# hop size11 fft_s = win_s / 2 + 1# spectrum bins10 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 spectrogram16 specgram = zeros([0, fft_s], dtype=float_type) # numpy array to store spectrogram 17 17 18 18 # analysis … … 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 … … 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) -
python/demos/demo_tempo.py
r416ddd1 r4120fbc 5 5 6 6 win_s = 512 # fft size 7 hop_s = win_s / 2# hop size7 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 … … 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 -
python/demos/demo_tempo_plot.py
r416ddd1 r4120fbc 5 5 6 6 win_s = 512 # fft size 7 hop_s = win_s / 2# hop size7 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 … … 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', filename45 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) … … 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) -
python/demos/demo_tss.py
r416ddd1 r4120fbc 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 size13 hop_s = win_s / 4 # block size12 win_s = 1024 # fft size 13 hop_s = win_s // 4 # block size 14 14 threshold = 0.5 15 15 -
python/demos/demo_waveform_plot.py
r416ddd1 r4120fbc 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 … … 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:]:
Note: See TracChangeset
for help on using the changeset viewer.