2个版本

0.1.1 2023年7月13日
0.1.0 2023年7月13日

#2834 in 解析器实现

MIT 许可协议

14KB
217

guitar-riff: 读取RIFF格式文件的库

基于以下格式的描述: https://johnloomis.org/cpe102/asgn/asgn1/riff.html

目的

虽然这个库 可以 用于读取RIFF文件,但市面上有更成熟的替代品(例如简单的 riff)。

这最初是在几个小时内编写的,作为一个简单的练习项目,以熟悉Rust。

限制

guitar-riff 只支持32位RIFF文件。它不支持格式的64位扩展(即DS64)。

riff-info 当前不报告LIST块的正确大小。

riff-info

riff-info 是一个小工具,它输出文件中所有块的大小和ID,以展示该库。它接受一个参数,即包含RIFF容器文件的路径。输出类似于 chunks.exe 工具(但不相同)。

您可以从 riff-info/ 目录使用 cargo 运行此工具

cd ./riff-info/
cargo run ../1sec.wav
RIFF  353140
  code: WAVE
  fmt   16
  data  352800
  LIST  134
    code: INFO
    INAM  12
    IPRD  6
    IART  6
    ICMT  22
    ICRD  6
    IGNR  12
    ITRK  10
  id3   154

可能的改进

  • 能够修改/添加块并将其保存。允许写入文件。
  • 能够快速枚举文件中的所有顶层块,而无需将它们的所有数据读入内存。用于快速编目目的。
  • 读取LIST块内块测试。我偷懒了,不想写这些。

依赖项

~115KB