Gem WahWah - 一个读取音频元数据的 gem

aidewoode · 2020年07月03日 · 2150 次阅读

项目地址:

https://github.com/aidewoode/wahwah

之前在做 black candy 的时候,需要能够从音频文件获取元数据,比如 album 信息,artist 信息等等。然后我在搜索相关 ruby gem 的时候发现 ruby 这一块合适的 gem 很少。我能找到的基本上都是停止维护的,要不就只支持特定的音频格式或者是支持的音频格式太少,但除了一个,就是最终我选择的 taglib-ruby

taglib-ruby 是基于 C++ 库 taglib 的 ruby 封装,因为这个 gem 基于 taglib 所以支持的格式够多,也一直有维护,taglib-ruby 应该是之前的最优选择。但是 taglib-ruby 最大的问题是难用,我之前为了获取音频文件的 cover 图片,把文档研究的半天才弄懂该怎么用。而且 API 也不够 ruby。反观 python 社区情况会好很多,有 tinytagmutagen 这些成熟易用的库可以用。所以我决定自己写一个更加易用的 gem。这就是现在的 wahwah

wahwah 的特点:

  • 支持多种主流格式,包括 mp3, m4a, ogg, oga, opus, wav, flac, wma
  • 支持 ID3 所有版本,包括 v1, v2.2, v2.3, v2.4
  • 支持通过 xing header 和 vbri header 获取准确的 mp3 文件播放时间
  • 轻量,纯 ruby 编写,无任何依赖
  • API 简单,易于使用

如果你有读取音频元数据这方面的需求,不妨试一试 wahwah。wahwah 有完整的测试,包括一些特殊编码或者不规范编码的文件都有测试。我相信一般的文件都能正确解析,如果遇到无法解析的情况,欢迎提交 issue。后续 wahwah 也会继续添加更多音频格式的支持。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号