管理大量音乐

时间:2009-10-23 19:55:06

标签: database filesystems streaming md5

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

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

2 个答案:

答案 0 :(得分:0)

要获得灵感,甚至是完整的解决方案,请查看ampache。我不知道你叫什么大,但ampache(由mysql数据库支持的php应用程序)可以轻松处理成千上万首曲目的音乐集。

最后我发现了SubSonic,网站上写着“在没有hazzle的情况下管理音乐收藏中的100,000多个文件”,但我还没有测试过。它是用Java编写的,一见钟情看起来非常整洁,所以也许有灵感也可以到达那里。

答案 1 :(得分:0)

我错过了你问题的第2部分(md5的事情)。我认为MD5 / SHA / ...解决方案不会很好用,因为它们不允许你在你的收藏中找到双打(就像许多不同采样器上出现的流行曲目)。特别是对于大型系列,这是你有一天想做的事情。

有一项名为acoustic fingerprinting的技术可以展示很多承诺,快速了解here。即使录音水平存在微小差异(如那些流行的“标准化”音轨),声学指纹应该保持不变 - 我说应该,因为我测试的技术都不是100%无差错。这些声学指纹的另一个优点是它们可以帮助您进行标记:像FreeDB这样的服务只能在完整的CD上工作,声学指纹可以识别单个轨道。