copy_voiced.py 723 B

12345678910111213141516171819202122232425262728293031
  1. # copy syntheis, ignore unvoiced part of the signal
  2. import numpy as np
  3. import soundfile as sf
  4. import os
  5. import synth_common
  6. wav = "/home/isengaara/Hacking/Audio/QTAU/qtau/get_utau/SAKURA/sakura_01.wav"
  7. h0,d0 = synth_common.readTrack(os.path.splitext(wav)[0]+".f0") # pps voiced pitch
  8. h1,d1 = synth_common.readTrack(os.path.splitext(wav)[0]+".pmk") # pos voiced 0
  9. x, fs = sf.read(wav)
  10. y = np.zeros(len(x))
  11. for p in d1:
  12. f0 = synth_common.getPitch(d0,d1,p)
  13. if(f0>0):
  14. win,idx = synth_common.calculate_windowed_waveform(x,fs,f0,p[0])
  15. y[idx - 1] += win
  16. z = x-y
  17. sf.write('test.wav', y, fs)
  18. sf.write('test2.wav', z, fs)
  19. #for i in range(0,10):
  20. # print(getPitch([[0.0,1,100.0],[1.0,1,200]],None,[0.1*i,1,0]))