如何找到重复的歌曲?

标题已经说明了一切。我如何在我的媒体库中检测重复文件?
7个回答

dupeGuru音乐版就是你想要的。在首选项中将扫描类型设置为“音频内容”。请注意,该程序是公平软件,如果可以,请贡献一下。

alt text

我建议你将这个与MusicBrainz Picard结合起来,它可以自动为你的音乐文件打上标签。

alt text


太完美了!终于有一个非常有效的答案了:)。虽然Banshee插件或其他什么更好,但这个方法运作得很棒!我实际上删除了大约8GB的重复文件,太感谢了! - Ingo
2太遗憾了,dupeGuru一次只能删除10个重复文件,除非付费。 - John McKean Pruitt
最近的Ubuntu版本已经不再支持PPA了。我成功地从https://launchpad.net/~hsoft/+archive/ubuntu/ppa/+build/9735351直接安装了.deb文件,然后运行`dupeguru_me`。 - rjh
最新版本没有删除限制。然而,它似乎并不会对音乐进行指纹识别,只是比较文件名和ID3信息。如果您先使用像Picard这样的工具为音乐打标签,它应该能很好地完成工作 :) - rjh

有一个插件是一段时间前制作的。我最近使用过它,但还有一些不尽人意之处。有一个 "PPA" 可以用于它 - 但目前只有Bazaar分支,没有构建好的软件包。安装说明大致如下:
wget http://scrawl.bplaced.net/duplicate-source.tar.gz -O tmp.tar.gz && mkdir -vp ~/.gnome2/rhythmbox/plugins/duplicate-source/ && tar -xf tmp.tar.gz -C ~/.gnome2/rhythmbox/plugins && rm -v tmp.tar.gz

如果你对使用Bazaar'd源代码感兴趣,请按照以下步骤操作:

mkdir -vp ~/.gnome2/rhythmbox/plugins && cd ~/.gnome2/rhythmbox/plugins && bzr branch lp:rb-duplicate-source duplicate-source

安装完成后,重新启动Rhythmbox,你应该在插件列表中看到一个重复文件查找器。

plugins list

激活后,还有额外的配置选项可用。

configuration window

启用插件后,当它发现重复项时,它将在您的库列表中添加一个额外选项。

list

我发现了一些“奇怪”的设置-我在一个拥有超过120,000首歌曲(超过1,000个重复)的媒体库上尝试过,还有一个包含大约1,000首歌曲和大约30个重复的库。在前者上,搜索过程非常耗时,并且在搜索期间多次导致Rhythmbox崩溃。最终,我选择了自动“从库中删除”以避免重新构建列表。但是在较小的库中,一切都运行得很好。
当找到重复项时-如果您选择了默认选项-较低质量版本的歌曲将被添加到列表中。因此,可以放心地选择重复列表上的所有歌曲并进行“删除”操作(无论是从磁盘中删除还是从库中删除)。

非常感谢您提供这个提示!然而,一旦我激活它,似乎什么都没有发生。我找不到一个新的选项卡或其他地方显示重复项。 - Ingo
您可能需要将阈值调整为0.5以帮助筛选出重复项。它将显示为您的图书馆列表中的附加项目。我已更新答案以显示此内容。 - Marco Ceppi
也试过了。没有成功。 - Ingo

你可以使用fdupes来完成这个任务。
$ fdupes -r ~/Music

这将为您提供所有重复文件的列表。

您可以轻松安装它。

sudo apt-get install fdupes

5这个选项比其他选项效果更好。然而,它似乎并不适用于音频文件。该软件没有比较标签等内容,导致文件列表非常短,而实际上存在许多重复文件,尽管它们的文件大小可能不完全相同(因为它们可能来自不同的来源)。 - Ingo

我在处理一堆重复的图像文件时遇到了类似的问题。在我的情况下,我只是对这些文件使用了md5sum命令,并对结果进行了排序。
for file in $(find $rootdir -name "*.jpg"); do echo $(md5sum $file); done | sort

文件内容相同的文件生成相同的哈希值,因此可以轻松找到重复项。我手动从中删除了重复项,尽管我可以扩展脚本以删除除第一次出现之外的所有内容,但我总是对在临时脚本中这样做感到不安。
请注意,这仅适用于具有相同内容的重复文件。

1更快地执行:find $rootdir -name '*.jpg' -exec md5sum {} + | sort - Robert Vila

可能晚了十几年,但我刚刚编写了一个命令行程序,通过比较声学指纹来尝试检测相似的音频文件:https://codeberg.org/derat/soundalike 它使用Chromaprintfpcalc实用程序生成指纹,然后构建查找表以查找可能的匹配项,再更严格地比较指纹。

尝试使用FSlint或者dupe gredtter。
要安装FSlint,请在终端中键入(按下Ctrl-Alt-T)。
sudo apt-get install fslint

希望这对你有所帮助。

我通常使用FSlint来查找重复文件。FSlint是一个用于在文件系统上查找和清理各种形式的垃圾的实用工具。

这很奇怪。FSlint找不到我重复的歌曲! - Ingo
FSlint的默认设置通常可以找到按文件名和文件大小测量的重复文件,但如果是不同录音、不同大小和文件名的重复歌曲,则无法找到。 - Aputsiak
不同的录音(混音?)不适合删除。它们可能具有独特的价值。 - Extender
我也用过fslint来处理音频文件(效果还不错),但考虑到这个帖子中提到的其他替代方案,下次我可能会尝试其中之一。 - belacqua