2

我有一堆带有元数据的音频文件(比如说 ogg 或 mp3)。

我希望将他们的元数据读入R,以便创建一个data.frame:

  • 文件名
  • 文件位置
  • 档案艺术家
  • 档案相册
  • ETC

你知道这样做的任何方式吗?

4

4 回答 4

3

您使用现有的 mp3 或 ogg 客户端,查看它使用的库,然后将所述库编写到 R 的绑定,使用现有客户端作为该侧的指南 - 并在另一侧显示 Rcpp 之类的指南您如何将 C/C++ 库连接到 R。

没有灵丹妙药。

一种更便宜且不太可靠的方法是使用 cmdline 工具来执行您想要的操作,并编写用于system()在文件上运行该工具的小辅助函数,重新读取 R 中的输出。不漂亮,不可靠,但可能不太具有挑战性.

于 2010-08-02T17:39:03.583 回答
1

可能,是的,容易的,不。

您“可以”在文件上使用 readChar 和/或 readBin 的组合并解析出内容。但是,这将高度依赖于从 ID3v2 标签的原始字节解析帧标签(请注意,如果它是版本 1 标签,它会改变)。如果要实现一个直接的 R 解决方案肯定会做很多工作。以这个Python 代码为例,它是非常干净的直接 Python 代码,但有很多分支和解析。

于 2010-08-02T18:43:53.050 回答
1

您可以使用R 中可用exiftoolsystem命令。或者,您可以创建正则表达式来处理您需要的字段......如果我是你,我会坚持 Dirk 的建议(像往常一样)=)!

于 2010-08-03T11:08:16.943 回答
0

2021 年在这里,我想这样做,所以我做了以下...

  1. 在“歌曲”视图中创建一个新的播放列表。
  2. 选择所有歌曲并拖动到新的播放列表。突出显示该播放列表
  3. 文件>库>导出播放列表。我的默认文件是保存为.txt,如果没有,指定。
  4. 在 r 中打开 Excel 以另存为 csv 或 read.delim(),因为 txt 文件是制表符分隔的
  5. 导入到 R
于 2021-11-13T22:17:28.757 回答