我參考網上寫了個代碼,對py不太熟悉,想請教這里報的feats[m - 1, k] = (k - bin[m - 1]) / (bin[m] - bin[m - 1]),應該如何解決呢?謝謝。
def fbank(spectrum, num_filter=num_filter):
feats = np.zeros((int(fft_len / 2 + 1), num_filter))
low_freq_mel = 0
high_freq_mel = (2595 * np.log10(1 + (fs / 2) / 700))
mel_points = np.linspace(low_freq_mel, high_freq_mel, num_filter + 2)
hz_points = 700 * (10**(mel_points / 2595) - 1)
bin = np.floor((512 + 1) * hz_points / fs)
print(num_filter)
print("==========Begin Loop===========")
for m in range(1, num_filter):
print(m)
f_m_minus = int(bin[m - 1]) # left
f_m = int(bin[m]) # center
f_m_plus = int(bin[m] + 1) # right
print("===========Begin first internal loop===========")
for k in range(f_m_minus, f_m):
print (k)
feats[m - 1, k] = (k - bin[m - 1]) / (bin[m] - bin[m - 1])
print("===========Begin second internal loop===========")
for k in range(f_m, f_m_plus):
print(k)
feats[m - 1, k] = (bin[m + 1] - k) / (bin[m + 1] - bin[m])
filter_banks = np.dot(spectrum, feats.T)
filter_banks = np.where(filter_banks == 0, np.finfo(float).eps, filter_banks)
filter_banks = 20 * np.log10(filter_banks)
return feats
uj5u.com熱心網友回復:
請附上完整代碼,以及報錯問題。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/99498.html
上一篇:安卓應用啟動頁布局如何高效實作?
下一篇:初學Python,求解
