예제 #1
0
import time

from Hlib import read_wav, normalize_signal, get_sinusoid, save_wav, save_model

# Read the samples
np.random.seed(0)
max_amp = 0
names = []
signals = []

for i in range(1, 6):
    for j in range(1, 6):
        for k in range(1, 5):
            name = str(i) + str(j) + str(k)
            names.append(name)
            Y, _ = read_wav('samples/' + name + '.wav')
            Y, a = normalize_signal(Y)
            Y = np.array(Y + [0])
            signals.append(Y)
            if a > max_amp:
                max_amp = a

names = np.array(names)
signals = np.array(signals)

##
subsample = [0]
subsample = np.array(subsample)
names = names[subsample]
signals = signals[subsample]
##
예제 #2
0
    for j in np.linspace(1, max_dynamic2, max_dynamic2 * 2 - 1):
        for k in np.linspace(1, round_robins, round_robins * 2 - 1):
            xnames.append(str(i) + '-' + str(j) + '-' + str(k))
            xipt.append([i, j, k])
xipt = np.array(xipt)
xipt, maxs_xipt, mins_xipt = normalize_cols(xipt, inf_norm, sup_norm)

original_len = 0

for i in range(1, max_dynamic1 + 1, 1):
    for j in range(1, max_dynamic2 + 1, 1):
        for k in range(1, round_robins + 1, 1):
            name = str(i) + '-' + str(j) + '-' + str(k)
            names.append(name)
            ipt.append([i, j, k])
            s, fps = read_wav('samples/' + piece_name + '/' + name + '.wav')
            original_len = s.shape[0]
            max = np.max(np.abs(s))
            F = rfft(s) * 2 / original_len
            local_max_freq = int(round(20000 / fps * original_len))
            F = F[:local_max_freq]
            n = F.shape[0]
            F_real = F.real
            F_imag = F.imag
            tgt.append(np.hstack([F_real, F_imag]))

tgt = np.array(tgt)
M = np.max(np.abs(tgt))
tgt = tgt / M
# tgt = np.cbrt(tgt)