【问题标题】:Ripping an audio CD in Python/Java用 Python/Java 翻录音频 CD
【发布时间】:2012-04-15 12:13:27
【问题描述】:

我有大约 500 张 CD 需要备份,它们包含旧会话。

我需要一个可供任何一个(Java / Python)使用的库来翻录这些 cd

不需要支持'nix,必须支持*Windows*

为还可以处理附加到轨道的元数据的框架提供奖励积分。

我一直在寻找年龄,我找不到任何东西,这个问题是 on-topic

我们觉得最好的 Stack Overflow 问题都有一些源代码 它们,但如果您的问题通常涵盖……软件工具通常 被程序员使用……那么你来对地方了 问题!

编辑:

仍未找到支持音频 CD 翻录的免费软件库

【问题讨论】:

  • 一直在找,还在找,一无所获
  • 没有windows的东西也是愚蠢的,当你可以得到vmware player(或类似的)并使用linux来做的时候。
  • 我不会为了翻录一些音频磁盘而在客户端计算机上启动整个虚拟机。
  • 我实际上认为这个问题是on-topic
  • 为什么不使用一些现有的软件呢? O.o

标签: java python audio cd-rom ripping


【解决方案1】:

我在 Windows 上也找不到任何具有直接 API 的内容,但您可以通过搜索“命令行”获得所需的内容。我发现了类似的东西:

然后您可以将其集成到管理较大转换过程的 java 或 python 进程中。然后,您可以使用Mutagen 之类的工具为您的录音添加适当的音频元数据。

另外,请记住,如果您能找到某种方法将音频 CD 挂载为数据光盘(我不知道当前的 Windows 行为是什么,但 MacOS X 可以做到这一点),您可以从磁盘复制 CDA 文件并使用更多种类的工具和库来进行文件类型转换。

【讨论】:

  • @JakobBowyer:你没有要求 免费 的东西,而且我敢肯定,如果你不得不写,它们的成本都低于你的时间价值他们自己。话虽如此,如果您的搜索包含“命令行”一词,则有更多选项需要调查,因此您可能会找到免费的东西。
【解决方案2】:

Java 有一个健全的 api http://www.oracle.com/technetwork/java/index-139508.html

这个网站有一些很好的资源、例子和源代码: http://www.jsresources.org/examples/ 还有这个:

直接读取音频 CD 以提取声音数据。例子 利用包 javax.sound.sampled。

http://www.jsresources.org/examples/audio_cdda.html

【讨论】:

    【解决方案3】:

    如果可以的话,我会做一个“让我用谷歌为你提供链接”...

    http://www.foobar2000.org/

    Foobar2000 似乎可以做你想做的事,并且有一个 SDK。您可以使用 Python CTypes,尽管说实话,我认为您不需要为自己想做的事情进行任何编程。

    附录:

    Python 选项:

    您可能还想查看:http://code.google.com/p/quodlibet/。它是用 Python 编写的,并且是跨平台的,具有一些相当强大的标记功能(感谢免费的 Mutagen)。但是(粗略一看)它看起来不支持翻录,但您可以使用其他工具。

    Java 选项:

    我没有尝试过 atunes,但它看起来很有希望: http://www.atunes.org/?page_id=6 。根据他们的网站,有一个 Windows 安装程序,但 “对于翻录,必须安装 lame、flac 或 oggenc。”

    【讨论】:

    • 这给了我如何直接集成到python或java中?
    • 好吧,我的问题是您需要如何处理程序化的翻录音乐。我的意思是 foobar 会用元数据为你翻录你的 CD。数据被翻录后,只需使用脚本进行后处理。不,它不提供与 Python 的直接集成。如果你想要:foobar2000.org/SDK + docs.python.org/library/ctypes.html
    【解决方案4】:

    我很确定 Windows Media Player COM API 包含翻录功能。半保证在您的 Windows 计算机上。这是 C++ IWMPCdromRip interface (MSDN)

    Shot in the dark Python 解决方案是将 pywin32 for COM 添加到 WMP COM API - 应该可以得到你想要的,尽管我也很好奇你为什么不想只使用 WMP(或其他东西)翻录然后按照 Adam Gent 的建议对生成的文件进行后处理。对于 1 或 500 多张 CD,我预计大时间接收器将物理加载媒体并等待它翻录,而不是操作翻录按钮。

    我没有在 Java 或 Python 下使用 COM 做太多事情(我不再使用 Windows 进行开发了),但几年前使用 Windows gcc 端口从 C/C++ 很容易(所以没有来自 MSVS/CLR 的帮助)、Pascal 等,所以我无法想象它在 Java 中不可用(当然它适用于使用 pywin32 的 Python)。

    【讨论】:

    • 我对此进行了调查,但从未找到好的文档来支持它,我最终使用了 freac 并呼吁它。
    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-26
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多