File size: 685 Bytes
68311f4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/usr/bin/python3
import scipy.io.wavfile as wav
import numpy as np
import sys
def compute_sweep(T, Fs=48000, F0=100):
F1=Fs//2
b=np.log((F1+F0)/F0)/T
a=F0/b
n=np.arange(T*Fs)
t = n/Fs
y=0.9*np.sin(2*np.pi*a*(np.exp(b*t)-b*t-1))
return y
def compute_sequence(T, Fs=48000, F0=100):
noise = compute_sweep(1, Fs, F0)
zeros = np.zeros(Fs)
sine = compute_sweep(T, Fs, F0)
sequence = np.concatenate([zeros, noise, zeros, sine, zeros, noise, zeros])
return np.round(32768*sequence).astype('int16')
if __name__ == '__main__':
filename = sys.argv[1]
Fs = 48000
seq = compute_sequence(60, Fs=Fs)
wav.write(filename, Fs, seq)
|