Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def fracseq(n):
- a = [0, 1]
- for _ in range(n):
- b = [0] * (len(a) * 2 - 1)
- for i in range(len(a)-1):
- b[2*i] = a[i]
- b[2*i+1] = a[i]+a[i+1]
- b[-1] = a[-1]
- a = b
- return a
- n = 8
- fs = fracseq(n)
- zw = [x+y*1j for x, y in zip(reversed(fs), fs)]
- def Q(z):
- return z.real*z.real + z.imag*z.imag
- def sample(z, w):
- return z*z*w*w/Q(z*w)
- sb = [sample(z, w) for z, w in zip(zw[:-1], zw[1:])]
- sb_real = [v.real for v in sb]
- sb_imag = [v.imag for v in sb]
- def writesamples(s):
- import scipy.io.wavfile
- scipy.io.wavfile.write('out.wav', 41000,
- scipy.array(s, dtype='float32'))
- writesamples(sb_imag * 10**3)
Advertisement