#wav #cue #wave #file-metadata

cuet

库用于读取和追加WAVE文件的CUE块

7个版本

新版本 0.1.0 2024年8月19日
0.0.6 2024年7月24日
0.0.4 2024年6月9日
0.0.3 2024年5月28日

#370音频

Download history 344/week @ 2024-05-24 30/week @ 2024-05-31 150/week @ 2024-06-07 15/week @ 2024-06-14 1/week @ 2024-06-21 103/week @ 2024-07-12 106/week @ 2024-07-19 44/week @ 2024-07-26 4/week @ 2024-08-02 138/week @ 2024-08-16

每月 218 次下载

CC0-1.0 OR MIT OR Apache-2.0

30KB
662

读取和写入WAV cue点和元数据的结构和例程

主要用于操作Quake声音效果循环,此库可以读取和写入WAV "cue" 块以及存储在 "LIST" 块中的相关数据。这是一个低级库,因为它要求用户确保使用此库创建的WAV文件与使用这些文件的软件的要求兼容。

变更日志

0.1.0:

  • 首次公开发布
  • 将公共常量改为crate私有(消费者不应需要)

许可证

MIT / Apache 2.0 / CC0三重许可(您可选择)


lib.rs:

从现有WAV文件中读取和写入cue点和cue元数据的结构和例程。

读取数据的常规流程是创建一个包裹指向WAV文件起始位置的游标的 ChunkReader(实现Read + Seek)。块作为字节数组读取;标记为 "cue" 的块可以用 parse_cue_points 解析,而标记为 "LIST" 的块可以用 extract_labeled_text_from_list 处理。在从读者恢复游标后,可以通过您选择的另一个库执行WAV样本数据的后续处理。

写入数据的常规流程是创建一个指向WAV文件起始位置的 ChunkWriter(实现Read + Seek + Write)。为了写入有效的WAV文件,现有的WAV文件应该包含正确的顺序的 "fmt" 和 "data" 块。不推荐用于大型存档中的WAV文件,因为预期数据将被追加到文件末尾,从而导致覆盖存档条目或损坏存档。通过创建 CuePointLabeledText 实例并提供给写入器的append方法来提供块。

注意

这个库是基于不完整的文档(例如,关于在提示点中引用的偏移量是以样本还是字节给出,似乎没有共识)开发的,主要用于与Quake和Quake源端口配合使用,用于循环声音效果。不能保证此库生成的文件适用于任何其他软件,也不能保证任何生成的文件适用于Quake及其所有派生的源端口。

无运行时依赖