0

我正在尝试做的是在一小部分音频样本中检测是否由同一仪器生成。如果是这样,那些被认为是重复的并被过滤掉。

收听这个包含十个连接样本的文件。您可以听到前五个都是由同一乐器(电钢琴)生成的,因此其中四个被视为重复。

我可以使用什么算法或方法来解决这个问题?请注意,我不需要完整的仪器检测,因为我只对仪器是否相同感兴趣。另请注意,我的意思不是字面上的“相同的乐器”,而是“相同的声学风味只是不同的音高”。

4

1 回答 1

0

任务制定

您需要的是一个相似度度量(距离度量的一种),它预测相同仪器/仪器类型的两个样本非常相似(低分)和不同仪器的两个样本完全不同(高分)。并且无论正在播放哪个音符,这都成立。所以应该对音色敏感,对音乐内容不敏感。

学习设置

该任务可以称为相似性学习。一种流行且有效的神经网络方法是Triplet Loss。这是一篇博客文章,介绍了图像相似度背景下的概念。之前已经成功应用于音频。

模型架构

我会考虑的主要模型架构是 log-mel 频谱图上的卷积神经网络。首先尝试使用像OpenL3这样的通用模型作为特征提取器。它产生一个 1024 维的输出,称为音频嵌入,您可以在其上进行三重损失模型。

数据集

您的应用程序成功的关键是拥有合适的数据集。您也许可以利用Nsynth 数据集。也许仅凭这一点进行培训就可以带来不错的表现。或者您可以将其用作训练集,然后在您自己的训练集上进行微调。

您至少需要为自己的音频剪辑创建验证/测试集,以评估模型的性能。每种感兴趣的仪器类型至少有 10-100 个标记示例。

于 2020-04-22T12:37:50.723 回答