4 from aubio import source, sink, pvoc, tss
6 if __name__ == '__main__':
8 print('usage: %s <inputfile> <outputfile_transient> <outputfile_steady>' % sys.argv[0])
12 win_s = 1024 # fft size
13 hop_s = win_s // 8 # block size
15 f = source(sys.argv[1], samplerate, hop_s)
16 g = sink(sys.argv[2], samplerate)
17 h = sink(sys.argv[3], samplerate)
19 pva = pvoc(win_s, hop_s) # a phase vocoder
20 pvb = pvoc(win_s, hop_s) # another phase vocoder
21 t = tss(win_s, hop_s) # transient steady state separation
30 samples, read = f() # read file
31 spec = pva(samples) # compute spectrum
32 trans_spec, stead_spec = t(spec) # transient steady-state separation
33 transients = pva.rdo(trans_spec) # overlap-add synthesis of transients
34 steadstate = pvb.rdo(stead_spec) # overlap-add synthesis of steady states
35 g(transients, read) # write transients to output
36 h(steadstate, read) # write steady states to output
38 del f, g, h # finish writing the files now
41 from demo_spectrogram import get_spectrogram
42 from pylab import subplot, show
44 get_spectrogram(sys.argv[1])
46 get_spectrogram(sys.argv[2])
48 get_spectrogram(sys.argv[3])