Traceback (most recent call last): File "D:\eda\789.py", line 10, in <module> mel_spec = librosa.feature.melspectrogram(signal, sr=sr, n_mels=128) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: melspectrogram() takes 0 positional arguments but 1 positional argument (and 1 keyword-only argument) were given
时间: 2023-08-03 20:03:38 浏览: 152
linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理
5星 · 资源好评率100%
这个错误提示说明`melspectrogram()`方法需要一个音频信号作为输入参数,但是你没有提供。你需要将音频信号作为参数传递给`melspectrogram()`方法。以下是一个示例代码,用于读取音频文件并计算梅尔倒频谱:
```python
import librosa
# 读取音频文件
audio_file = "sample.wav"
signal, sr = librosa.load(audio_file)
# 计算梅尔倒频谱
mel_spec = librosa.feature.melspectrogram(signal, sr=sr, n_mels=128)
# 将梅尔倒频谱转换为对数刻度
log_mel_spec = librosa.power_to_db(mel_spec, ref=np.max)
# 将对数刻度的梅尔倒频谱转换为特征向量
mfcc = librosa.feature.mfcc(S=log_mel_spec, n_mfcc=13)
# 打印特征向量的形状
print(mfcc.shape)
```
这段代码使用`librosa.load()`方法读取音频文件,返回音频信号和采样率。然后使用`librosa.feature.melspectrogram()`方法计算梅尔倒频谱,传递音频信号和采样率作为输入参数。最后将梅尔倒频谱转换为对数刻度和MFCC特征向量。
阅读全文