这是我的代码,请帮助我更正:
from pathlib import Path
from python_speech_features import fbank
import scipy.io.wavfile as wavfile
path = Path('/home/narges/dataset/seri1.16khz.128kbps/Voice Recorder/N00xxxx/').glob('*/*.wav')
wavs = [str(wavf) for wavf in path if wavf.is_file()]
wavs.sort()
print(wavs)
number_of_files=len(wavs)
wav_data=[]
for i in range(number_of_files):
samplerate, data=wavfile.read(wavs[i])
wav_data.append(data)
print(wav_data)
fbank_feat=fbank(samplerate, data)
print(fbank_feat)
我的错误是:“ int”对象不可下标。我该如何纠正?
答案 0 :(得分:0)
最后我使用了这段代码,它是正确的:
from pathlib import Path
from python_speech_features import fbank
import scipy.io.wavfile as wavfile
import numpy as np
path = Path('/home/narges/dataset/seri1.16khz.128kbps/Voice Recorder/N00xxxx/').glob('*/*.wav')
wavs = [str(wavf) for wavf in path if wavf.is_file()]
wavs.sort()
print(wavs)
number_of_files=len(wavs)
for i in range(number_of_files):
(rate, sig) = wavfile.read(wavs[i])
fbank_feat=fbank(sig, rate, winlen=0.06, winstep=0.01, nfilt=26, nfft=512, lowfreq=0, highfreq=rate/2, preemph=0.97, winfunc=np.hamming)
print(fbank_feat)