python-3.x - 故障检测的声音分析
问题描述
我正在尝试使用 python 对具有声音分析的机器进行故障检测。
import scipy.io.wavfile as wav
import numpy as np
import speechpy
import os
import pandas as pd
import matplotlib.pyplot as plt
os.chdir('D:\Python\Sound Data')
file_name = 'good8Hz.wav'
Checking_file = 'fault8Hz.wav'
fs, signal = wav.read(file_name)
signal = signal[:,0]
#this is my testing data
fs1, signal1 = wav.read(Checking_file)
signal1 = signal1[:,0]
# pre-emphasizing.
signal_preemphasized = speechpy.processing.preemphasis(signal, cof=0.98)
#pre-emphasizing of testing data .
signal_preemphasized1 = speechpy.processing.preemphasis(signal1, cof=0.98)
#staching frames
frames = speechpy.processing.stack_frames(signal, sampling_frequency=fs,
frame_length=0.020, frame_stride=0.01, filter=lambda x: np.ones((x,)),
zero_padding=True)
# staching frames of testing data .
frames1 = speechpy.processing.stack_frames(signal1, sampling_frequency=fs,
frame_length=0.020, frame_stride=0.01, filter=lambda x: np.ones((x,)),
zero_padding=True)
#extracting power spectrum
power_spectrum = speechpy.processing.power_spectrum(frames, fft_points=512)
print('power spectrum shape=', power_spectrum.shape)
#extracting power spectrum for testing data .
power_spectrum1 = speechpy.processing.power_spectrum(frames1,
fft_points=512)
print('power spectrum shape=', power_spectrum1.shape)
############# Extract MFCC features #############
mfcc = speechpy.feature.mfcc(signal, sampling_frequency=fs,
frame_length=0.020, frame_stride=0.01,
num_filters=40, fft_length=512, low_frequency=0,
high_frequency=None)
mfcc_cmvn =
speechpy.processing.cmvnw(mfcc,win_size=301,variance_normalization=True)
print('mfcc(mean + variance normalized) feature shape=', mfcc_cmvn.shape)
mfcc_feature_cube = speechpy.feature.extract_derivative_feature(mfcc)
print('mfcc feature cube shape=', mfcc_feature_cube.shape)
df=pd.DataFrame(mfcc)
df.to_csv('mfcc.csv')
############# Extract MFCC features for testing data . #############
mfcc1 = speechpy.feature.mfcc(signal1, sampling_frequency=fs,
frame_length=0.020, frame_stride=0.01,
num_filters=40, fft_length=512, low_frequency=0,
high_frequency=None)
mfcc_cmvn1 =
speechpy.processing.cmvnw(mfcc1,win_size=301,variance_normalization=True)
print('mfcc(mean + variance normalized) feature shape=', mfcc_cmvn.shape)
mfcc_feature_cube1 = speechpy.feature.extract_derivative_feature(mfcc1)
print('mfcc feature cube shape=', mfcc_feature_cube1.shape)
df1=pd.DataFrame(mfcc1)
df1.to_csv('mfcc1.csv')
############# Extract logenergy features #############
logenergy = speechpy.feature.lmfe(signal, sampling_frequency=fs,
frame_length=0.020, frame_stride=0.01,
num_filters=40, fft_length=512, low_frequency=0,
high_frequency=None)
logenergy_feature_cube =
speechpy.feature.extract_derivative_feature(logenergy)
print('logenergy features=', logenergy.shape)
如何使用 mfcc 数据来训练我的模型我正在考虑使用 SVM 或 ANN。
mfcc.shape =(1118,13) 这是好的机器 mfcc 特性和 mfcc1.shape=(1278,13)] [截图数据]这是故障机器的 mffc。我还需要使用什么来检测机器的故障?
解决方案
推荐阅读
- mindmeld - Mindmeld 地名词典构建失败,“列表”对象没有属性“获取”
- javascript - 无法在 express 中运行异步函数,如何解决?
- python - Power BI 导入 python 问题
- connection - 向服务器发送自定义命令行
- javascript - 反应错误:重新渲染太多。使用箭头功能时
- javascript - Windows上可能的“pkill -f node”替代方案
- c# - 如何在 WPF 中用 TextBox.Text 的值自动替换 DataGrid 的一个值?
- c# - 如果它比 WPF XAML 中的窗口大,如何缩放字体大小以适应窗口?
- javascript - 如何将文件附加到 JavaScript 中的拖动事件?
- google-sheets - 根据字符串单元格值中的关键字自动通过电子邮件发送 Google 表单提交