Python n_fft=2048值对于长度来说太小,可以';t使用除';常数';或';空的

Python n_fft=2048值对于长度来说太小,可以';t使用除';常数';或';空的,python,preprocessor,mfcc,Python,Preprocessor,Mfcc,这就是错误所在 警告(来自警告模块): 文件“C:\Users\Hp\AppData\Local\Programs\Python\39\lib\site packages\librosa\core\spectrum.py”,第222行 警告,警告( 用户警告:n_fft=2048对于长度为0的输入信号太小 回溯(最近一次呼叫最后一次): 文件“C:\Users\Hp\AppData\Local\Programs\Python\Python39\datasetread.py”,第72行,在 sav

这就是错误所在

警告(来自警告模块): 文件“C:\Users\Hp\AppData\Local\Programs\Python\39\lib\site packages\librosa\core\spectrum.py”,第222行 警告,警告( 用户警告:n_fft=2048对于长度为0的输入信号太小 回溯(最近一次呼叫最后一次): 文件“C:\Users\Hp\AppData\Local\Programs\Python\Python39\datasetread.py”,第72行,在 save_mfcc(数据集_路径、JSON_路径、num_段=10) 文件“C:\Users\Hp\AppData\Local\Programs\Python\Python39\datasetread.py”,第54行,在save_mfcc中 mfcc=librosa.feature.mfcc(信号[start\u sample:finish\u sample],sr=sr,n\u fft=n\u fft,n\u mfcc=n\u mfcc,hop\u length=hop\u length) mfcc中的文件“C:\Users\Hp\AppData\Local\Programs\Python\39\lib\site packages\librosa\feature\spectrum.py”,第1852行 S=功率到分贝(光谱图(y=y,sr=sr,**kwargs)) 文件“C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site packages\librosa\feature\spectrum.py”,第1996行,在melspectrogram中 S、 n\u fft=\u谱图( “C:\Users\Hp\AppData\Local\Programs\Python\Python39\lib\site packages\librosa\core\spectrum.py”文件,第2512行,在谱图中 stft( 文件“C:\Users\Hp\AppData\Local\Programs\Python\39\lib\site packages\librosa\core\spectrum.py”,第228行,在stft中 y=np.pad(y,int(n\u fft//2),mode=pad\u mode) 文件“”,第5行,在pad中 pad中第814行的文件“C:\Users\Hp\AppData\Local\Programs\Python\39\lib\site packages\numpy\lib\arraypad.py” 升值误差( ValueError:无法使用“常量”或“空”以外的模式扩展空轴0 我正在研究语音识别系统,通过这段代码我想用MFCC提取特征

DATASET\u PATH=“F://MS//MS-4//LibriSpeech”
JSON_PATH=“data_10.JSON”
采样率=22050
轨道持续时间=15
每个轨道的采样率=采样率*轨道持续时间
def save_mfcc(数据集_路径,json_路径,n_mfcc=13,n_fft=2048,跃点长度=512,num_段=5):
数据={
“映射”:[],
“mfcc”:[],
“标签”:[]}
num_samples_per_segment=int(samples_per_TRACK/num_segments)
预期的每个分段的样本数=math.ceil(每个分段的样本数/跳长)
对于枚举(os.walk(dataset_path))中的i(dirpath、dirname、filename):
如果dirpath不是数据集路径:
dirpath\u components=os.path.split(dirpath)
语义_标签=dirpath_组件[-1]
数据[“映射”]。追加(语义标签)
打印(“\n处理:{}”。格式(语义标签))
对于文件名中的f:
file_path=os.path.join(dirpath,f)
信号,sr=librosa.load(文件路径,sr=SAMPLE\u速率)
对于范围内的s(num_段):
开始样本=每个分段的样本数*s
完成样本=开始样本+每段样本数
mfcc=librosa.feature.mfcc(信号[start\u sample:finish\u sample],sr=sr,n\u fft=n\u fft,n\u mfcc=n\u mfcc,hop\u length=hop\u length)
mfcc=mfcc.T
如果len(mfcc)=每段的预期数量mfcc向量:
数据[“mfcc”].append(mfcc.tolist())
数据[“标签”]。附加(i-1)
打印(“{},段:{}”。格式(文件路径,s+1))
打开(json_路径,“w”)作为fp:
dump(数据,fp,缩进=4)
如果名称=“\uuuuu main\uuuuuuuu”:
save_mfcc(数据集_路径、JSON_路径、num_段=10)

是否存在任何代码或问题,或者只是堆栈跟踪转储?该问题似乎根本不包括解决问题的任何尝试。StackOverflow希望您首先尝试解决自己的问题,因为您的尝试有助于我们更好地了解您想要的内容。请编辑问题以显示您尝试了什么,然后重试用最少的、完整的、可验证的例子说明你遇到的具体障碍。有关更多信息,请参阅如何提出一个好问题。