如何提取(.wav)表单文件夹和子文件夹以用作神经网络的输入?

时间:2019-06-01 04:28:49

标签: python-3.x wav feature-extraction

这是我的代码,请帮助我更正:

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”对象不可下标。我该如何纠正?

1 个答案:

答案 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)