Facebook
From asdas, 7 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 270
  1. import matplotlib.pyplot as pyplot
  2. import scipy.io.wavfile
  3. import pywt
  4.  
  5. rate, signal = scipy.io.wavfile.read('a0297.wav')
  6.  
  7.  
  8. pyplot.figure(1)
  9. pyplot.plot(signal)
  10. pyplot.show()
  11.  
  12.  
  13. tree = pywt.wavedec(data=signal[:5000], wavelet='db2', level=4, mode='symmetric')
  14.  
  15. for i in range(0, len(tree[1])): tree[1][i] = 0
  16. for i in range(0, len(tree[2])): tree[2][i] = 0
  17. for i in range(0, len(tree[3])): tree[3][i] = 0
  18. for i in range(0, len(tree[4])): tree[4][i] = 0
  19.  
  20.  
  21. recSignal = pywt.waverec(tree, 'db2')
  22.  
  23. a = 0
  24. b = 0
  25. c = 0
  26. d = 0
  27.  
  28.  
  29. for i in range(0, 1000):
  30.     if recSignal[i] > recSignal[a]:
  31.         a = i
  32.  
  33. #for i in range(2000, 2500):
  34. #   if recSignal[i] > recSignal[c]:
  35. #        c = i
  36. #    elif recSignal[d] < recSignal[i] < recSignal[c]:
  37. #       d = i
  38.  
  39.  
  40. for i in range(0, 2200):
  41.     if recSignal[i] > recSignal[b]:
  42.          b = i
  43.  
  44. #a = a/2
  45. #b = b/2
  46. print('pierwszy', a)
  47. print('pierwszy1', b)
  48.  
  49. print('test1 ', c/2)
  50. print('test2 ', d/2)
  51.  
  52. suma = 0
  53.  
  54. suma = b - a
  55. print('suma', suma)
  56. print('liczba uderzen na minute', 60000/suma)
  57.  
  58. pyplot.figure(2)
  59. pyplot.plot(recSignal[:5000])
  60. pyplot.show()
  61.  
  62.  
  63.