Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2023
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.68 KB | None | 0 0
  1. k = 10
  2. ws = 2**k
  3. tf = np.zeros(k)
  4. data = np.zeros(n)
  5. rem = snd.copy()
  6. for i in range(k - 2, -1, -1):
  7.     sz = 2 ** (i + 3)
  8.     hsz = sz // 2
  9.     freq = []
  10.     rng = (0.5 + np.arange(sz)) / sz
  11.     wdw = np.sin(np.pi * rng) ** 2
  12.     rand = np.random.uniform(2 * np.pi)
  13.     for j in range(n // hsz - 1):
  14.         f = 2 * np.dot(
  15.             rem[j * hsz : (j + 2) * hsz], np.exp(-2j * np.pi * rng)
  16.         ) / sz
  17.         data[j * hsz : (j + 2) * hsz] += np.real(
  18.             f
  19.             * wdw
  20.             * np.exp(2j * np.pi * rng)
  21.         )
  22.     rem -= data
  23. pp.figure(figsize=(10,6))
  24. pp.plot(snd[:2000])
  25. pp.plot(data[:2000])
  26. wf.write("out.wav", sr, data.astype(np.float32))
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement