4 from aubio import source, sink, pvoc
6 if __name__ == '__main__':
8 print('usage: %s <inputfile> <outputfile>' % sys.argv[0])
11 f = source(sys.argv[1], samplerate, 256)
12 g = sink(sys.argv[2], samplerate)
13 total_frames, read = 0, 256
15 win_s = 512 # fft size
16 hop_s = win_s // 2 # hop size
17 pv = pvoc(win_s, hop_s) # phase vocoder
21 spectrum = pv(samples) # compute spectrum
22 #spectrum.norm *= .8 # reduce amplitude a bit
23 spectrum.phas[:] = 0. # zero phase
24 new_samples = pv.rdo(spectrum) # compute modified samples
25 g(new_samples, read) # write to output
28 format_str = "read {:d} samples from {:s}, written to {:s}"
29 print(format_str.format(total_frames, f.uri, g.uri))