代码之家  ›  专栏  ›  技术社区  ›  Anonymous

管理大量音乐收藏

  •  1
  • Anonymous  · 技术社区  · 15 年前

    我想写我自己的音乐流媒体网络应用程序供我个人使用,但我正在绞尽脑汁想如何管理它。现有的音乐及其位置很少改变,但仍有能力(修复文件名、ID3标签,/chemical brothers而不是/chemical brothers)。社区如何管理所有这些文件?我可以通过一个ID3阅读器和我的文件系统收集大量信息,但也可以跟踪播放频率等。使用iTunes的.xml文件是个不错的选择吗?只是让我的音乐在iTunes中保持最新,并让我的网络应用程序数据远离它?我想通过MD5文件并将其作为唯一标识符来跟踪我的所有音乐,但是如果我更改ID3标记,这会更改MD5值吗?

    我想我真正的问题是,你如何能跟踪大量的音乐?将元信息保存在数据库中?我真正的问题是如何连接文件和数据库条目,或者在需要文件系统设置时使用read。

    2 回复  |  直到 15 年前
        1
  •  0
  •   fvu    15 年前

    我错过了你问题的第2部分(MD5问题)。我不认为是MD5/sha/……解决方案会很好地工作,因为它们不允许你在你的收藏中找到双打(就像许多不同的采样器上出现的流行曲目)。尤其是对于大型收藏品,你总有一天会想这么做的。

    有一种技术叫做 acoustic fingerprinting 很有希望,看看 here 简单介绍一下。即使在记录水平上有微小的差异(像那些流行的“标准化”音轨),声音指纹也应该保持不变——我说应该,因为我测试的技术都不是100%无误的。这些声学指纹的另一个优点是,它们可以帮助您标记:像freedb这样的服务只能在完整的CD上工作,声学指纹可以识别单个曲目。

        2
  •  0
  •   fvu    15 年前

    为了灵感,甚至可能为了一个完整的解决方案,请查看 ampache . 我不知道你叫什么大,但Ampache(一个由MySQLDB支持的PHP应用程序)可以轻松处理数万首曲目的音乐集。

    我发现 SubSonic 网站上说“在你的音乐收藏中管理100000多个文件而不产生任何混乱”,但我还没有测试过。它是用Java编写的,源码乍看起来很整洁,所以也有灵感可以到达那里。