TypeError:time_stretch() 接受 1 个位置参数,但给出了 2 个

TypeError: time_stretch() takes 1 positional argument but 2 were given

提问人:Navien Bala 提问时间:11/16/2023 最后编辑:Navien Bala 更新时间:11/17/2023 访问量:36

问:

在此处输入图像描述

def stretch(data, rate=0.8):
    return librosa.effects.time_stretch(data, rate)

x = stretch(data)
plt.figure(figsize=(14,4))
librosa.display.waveplot(y=x, sr=sample_rate)
Audio(x, rate=sample_rate)

在此处输入图像描述

以上是我尝试运行它时的函数和错误

我尝试将数据和速率传递到拉伸函数中,但返回错误,如图所示。如您所见,它应该获取数据并速率,然后返回拉伸的文件

Audio librosa 数据增强

评论

0赞 soundflix 11/17/2023
编辑以将错误也发布为文本,而不是图像。

答:

0赞 Anna Andreeva Rogotulka 11/17/2023 #1

出现此错误是因为您需要设置隐式速率参数,因为函数的定义有附加参数,则参数速率

def time_stretch(y: np.ndarray, *, rate: float, **kwargs: Any) -> np.ndarray:

def stretch(data, rate=0.8):
    return librosa.effects.time_stretch(data, rate=rate)