Python TypeError:reduce_noise() 得到了一个意外的关键字
Posted
技术标签:
【中文标题】Python TypeError:reduce_noise() 得到了一个意外的关键字【英文标题】:Python TypeError: reduce_noise() got an unexpected keyword 【发布时间】:2021-09-23 11:55:42 【问题描述】:大家好,我正在尝试使用 python 进行音频分类,我安装了一个包,当我尝试使用这些函数时,它说“TypeError: TypeError: reduce_noise() got an unexpected keyword argument 'audio_clip' 听到代码功能。
导入 librosa 将 numpy 导入为 np 将降噪导入为 nr
def save_STFT(文件、名称、活动、主题): #读取音频数据 audio_data,sample_rate = librosa.load(文件) 打印(文件)
#noise reduction
noisy_part = audio_data[0:25000]
reduced_noise = nr.reduce_noise(audio_clip=audio_data, noise_clip=noisy_part, verbose=False)
#trimming
trimmed, index = librosa.effects.trim(reduced_noise, top_db=20, frame_length=512, hop_length=64)
#extract features
stft = np.abs(librosa.stft(trimmed, n_fft=512, hop_length=256, win_length=512))
# save features
np.save("STFT_features/stft_257_1/" + subject + "_" + name[:-4] + "_" + activity + ".npy", stft)
这段代码在 conda 环境下的 jupyternote book 中运行,但它没有在 pycharm 中运行。 我在 PYcharm 中安装了 conda 环境,但它不起作用。你能帮我知道如何解决这个错误吗?
【问题讨论】:
【参考方案1】:您的问题的答案在错误消息中。
"TypeError: TypeError: reduce_noise() got an unexpected keyword argument 'audio_clip'
我猜你正在使用noisereduce Python 库。如果您查看文档,参数列表中没有audio_clip
。
正确代码示例:
reduced_noise = nr.reduce_noise(y=audio_data, y_noise=noisy_part, sr=SAMPLING_FREQUENCY) # check the SAMPLING_FREQUENCY
【讨论】:
谢谢。是的,我正在使用降噪库。我会试试这个。 @REDALPHA97 进展如何? 哦!对不起,谢谢。它奏效了。【参考方案2】:您可能是在为较新版本的库引用旧 API 在较新版本的库中使用旧 API 的解决方法是
from noisereduce.noisereducev1 import reduce_noise
现在你可以重复使用你的代码了
reduced_noise = reduce_noise(audio_clip=audio_data, noise_clip=noisy_part, verbose=False)
【讨论】:
以上是关于Python TypeError:reduce_noise() 得到了一个意外的关键字的主要内容,如果未能解决你的问题,请参考以下文章
python fbprophet错误,TypeError:'module'对象不可调用
TypeError:“NoneType”对象在 Python 中不可迭代