Machine learning 使用librosa.effects.trim删除音频中的静音部分

Machine learning 使用librosa.effects.trim删除音频中的静音部分,machine-learning,audio,deep-learning,librosa,Machine Learning,Audio,Deep Learning,Librosa,我正在做一个语音情感识别ML 我目前使用pyAudioAnalysis进行多目录特征提取。然而,数据集涉及的音频包含许多近似无声的部分。我的目标是从所有音频中删除近似无声的部分,然后提取有意义的特征 我目前的方法是使用librosa来修剪静默部分 from librosa.effects import trim import librosa from pyAudioAnalysis import audioBasicIO import matplotlib.pyplot as plt sign

我正在做一个语音情感识别ML

我目前使用
pyAudioAnalysis
进行多目录特征提取。然而,数据集涉及的音频包含许多近似无声的部分。我的目标是从所有音频中删除近似无声的部分,然后提取有意义的特征

我目前的方法是使用
librosa
来修剪静默部分

from librosa.effects import trim
import librosa
from pyAudioAnalysis import audioBasicIO
import matplotlib.pyplot as plt

signal, Fs = librosa.load(file_directory)
trimed_signal = trim(signal,top_db=60)


fig, ax = plt.subplots(nrows=3, sharex=True, sharey=True)
librosa.display.waveplot(trimed_signal, sr=Fs, ax=ax[0])
ax[0].set(title='Monophonic')
ax[0].label_outer()
我尝试在修剪后使用
librosa.display.waveplot
绘制波浪,但出现了一个AttributeError,显示
AttributeError:模块“librosa”没有属性“display”

我的问题是

  • 如何绘制修剪波
  • 是否可以生成修剪过的.wav文件?这是因为
    pyAudioAnalysis
    用于特征提取的输入是.wav文件路径,而
    librosa
    的输出是数组
  • 您需要
    导入librosa。单独显示
    。看看原因
  • 您可以使用
    librosa.output.write_wav
    (选中)将修剪后的数组存储为波形文件。例如,
    librosa.output.write\u wav(路径、微调信号、Fs)
  • 您需要
    导入librosa。单独显示
    。看看原因
  • 您可以使用
    librosa.output.write_wav
    (选中)将修剪后的数组存储为波形文件。例如,
    librosa.output.write\u wav(路径、微调信号、Fs)

  • 遗憾的是,librosa删除了输出函数。我尝试使用pysoundfile,但出现了一个错误,
    ValueError:dtype必须是['float32','float64','int16','int32']中的一个
    我设法安装了包含输出函数的早期版本的librosa,但它给了我类似的错误:
    参数错误:音频数据必须是numpy类型。ndarray
    您传递的数据有什么数据类型?由于librosa 0.8.0,输出函数被删除,人们应该使用声音文件来代替librosa删除了输出函数。我尝试使用pysoundfile,但出现了一个错误,
    ValueError:dtype必须是['float32','float64','int16','int32']中的一个
    我设法安装了包含输出函数的早期版本的librosa,但它给了我类似的错误:
    参数错误:音频数据必须是numpy类型。ndarray
    您传递的数据有什么数据类型?由于librosa 0.8.0的输出函数被删除,因此应该改用soundfile