Example #1
0
print(parent_path)
name = "piano33"
W, fps = read_wav(f"{parent_path}/Python/Samples/{name}.wav")

W = W[100103:100775]

W = W - np.average(W)
amplitude = np.max(np.abs(W))
W = W / amplitude
n = W.size
print(n)
X = np.arange(n)

pulses = signal_to_pulses(W)

areas_X, areas_Y = get_pulses_area(pulses)

pos_pulses, neg_pulses, pos_noises, neg_noises = split_pulses(pulses)

pos_X, neg_X = np.array([p.x for p in pos_pulses
                         ]), np.array([p.x for p in neg_pulses])
pos_Y, neg_Y = np.array([p.y for p in pos_pulses
                         ]), np.array([p.y for p in neg_pulses])
pos_L, neg_L = np.array([p.len for p in pos_pulses
                         ]), np.array([p.len for p in neg_pulses])
'''pos frontier'''
scaling = np.average(pos_L) / np.average(pos_Y)

for p in pos_pulses:
    p.y = p.y * scaling
Example #2
0
afp = [
    [1, 5, 1.4 * np.pi],
    [1.5, 10, 1.4 * np.pi],
    # [1, 2 * 6, 1.4 * np.pi]
]
for a, f, p in afp:
    C += a * np.cos(
        p + 2 * np.pi * f * X / n)  #+ np.random.normal(0, a / 100, n)

C = -C / np.max(np.abs(C))

W = E * C
'''Wave to pulses'''
pulses = signal_to_pulses(C)
pulses_X, pulses_Y = get_pulses_area(pulses)

ftc = np.abs(np.fft.rfft(C))
Xc = []
Yc = []
for x, y in enumerate(ftc):
    Xc.append(x), Xc.append(x), Xc.append(None)
    Yc.append(0), Yc.append(y), Yc.append(None)

ftc = np.abs(np.fft.rfft(W))
Xw = []
Yw = []
for x, y in enumerate(ftc):
    Xw.append(x), Xw.append(x), Xw.append(None)
    Yw.append(0), Yw.append(y), Yw.append(None)
'''============================================================================'''