source: python/demos/demo_simple_robot_voice.py @ 5c6b264

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 5c6b264 was 5d5d6b9, checked in by Paul Brossier <piem@piem.org>, 12 years ago

python/demos: add demo_pitch.py and demo_waveform_plot.py

  • Property mode set to 100755
File size: 903 bytes
Line 
1#! /usr/bin/env python
2
3import sys
4from aubio import source, sink, pvoc
5
6if __name__ == '__main__':
7  if len(sys.argv) < 2:
8    print 'usage: %s <inputfile> <outputfile>' % sys.argv[0]
9    sys.exit(1)
10  samplerate = 44100
11  f = source(sys.argv[1], samplerate, 256)
12  g = sink(sys.argv[2], samplerate)
13  total_frames, read = 0, 256
14
15  win_s = 512                 # fft size
16  hop_s = win_s / 2           # hop size
17  pv = pvoc(win_s, hop_s)                            # phase vocoder
18
19  while read:
20    samples, read = f()
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
26    total_frames += read
27
28  print "wrote", total_frames, "from", f.uri, "to", g.uri
29
30 
Note: See TracBrowser for help on using the repository browser.