librosa.display.waveshow参数介绍
时间: 2024-04-03 10:34:33 浏览: 223
librosa.display.waveshow()函数用于绘制音频波形图,其常用参数如下:
- y:要绘制的音频信号,一般为一个一维数组。
- sr:音频信号的采样率。
- max_points:显示的最大样本数。
- x_axis:横轴类型,可以为'time'或'off',分别表示时间轴和样本数轴。
- offset:绘制的起始样本位置。
- max_sr:最大可视化采样率,超过该采样率的信号将被降采样。
- ax:绘图的坐标轴。
- kwargs:其他参数,包括线条颜色、线宽、标签等等。
需要注意的是,参数名和具体含义在不同版本的库中可能有所不同,建议查看当前库的文档或使用help()函数查看函数的帮助信息。
相关问题
librosa.display.waveshow()传入y轴属性
librosa.display.waveshow()函数用于绘制音频波形图,它默认的y轴属性是幅度(amplitude),并且y轴范围被自动设置为[-1,1]。如果你想要传入自定义的y轴属性,可以通过设置`y_axis`参数来实现。
例如,如果你想要将音频波形图的y轴属性设置为分贝(dB),可以将`y_axis`参数设置为'dB'。代码示例如下:
```
import librosa
import librosa.display
import matplotlib.pyplot as plt
y, sr = librosa.load('your_audio_file.wav')
plt.figure(figsize=(10, 4))
librosa.display.waveshow(y, sr=sr, y_axis='dB')
plt.show()
```
在上面的例子中,我们将`y_axis`参数设置为'dB',从而将y轴属性设置为分贝。你可以根据自己的需求设置不同的y轴属性,比如'log'、'mel'等。注意,不同的y轴属性对应的y轴范围也是不同的,需要根据具体情况进行调整。
FutureWarning: waveshow() keyword argument 'x_axis' has been renamed to 'axis' in version 0.10.0. This alias will be removed in version 1.0. librosa.display.waveshow(librosa.power_to_db(S, ref=np.max), Traceback (most recent call last): File "D:\eda\123.py", line 29, in <module> librosa.display.waveshow(librosa.power_to_db(S, ref=np.max),
这个警告提示表明在 librosa.display.waveshow() 函数中,使用了已经过时的关键字参数 `x_axis`,建议使用新的参数名称 `axis`。可以在调用该函数时,使用新的参数名称来避免这个警告。例如:
```
import librosa
import matplotlib.pyplot as plt
import librosa.display
import numpy as np
filepath = 'D:\\360se6\\bishe\\古筝\\'
filename = filepath + 'gz1.wav'
# 加载音频文件并转换为 numpy 数组
y, sr = librosa.load(filename)
tempo, beats = librosa.beat.beat_track(y=y, sr=sr)
plt.figure()
S = librosa.feature.melspectrogram(y=y, sr=sr)
ax = plt.subplot(2, 1, 2)
librosa.display.waveshow(librosa.power_to_db(S, ref=np.max), axis='time', y_axis='mel')
plt.subplot(2, 1, 1, sharex=ax)
librosa.display.waveshow(y_beat_times, sr=sr, label='Beat clicks')
plt.legend()
plt.xlim(15, 30)
plt.tight_layout()
```
这样就可以避免这个警告了。
阅读全文