2个不稳定版本
0.2.0 | 2022年3月18日 |
---|---|
0.1.0 | 2022年2月27日 |
#41 in #wave
每月下载量 48次
12KB
258 行
waverly
瓦雷利是一个Rust库,允许轻松解析和写入WAV文件,其主要目标是提供对WAV文件中所有元数据的访问,而不仅仅是格式和数据块。其次要目标是支持no_std
。如果您只关心已经格式化为样本的数据块,有许多很好的替代方案。
use std::fs::File;
use std::io::Cursor;
use waverly::Wave;
fn main() -> Result<(), waverly::WaverlyError> {
let file = File::open("./meta/16bit-2ch-float-peak.wav")?;
let wave: Wave = Wave::from_reader(file)?;
let mut virt_file = Cursor::new(Vec::new());
wave.write(&mut virt_file)?;
Ok(())
}
待办事项
- 解析/读取和写入WAV文件
- 格式块
- 数据块
- 峰值块
- 事实块
-
no_std
支持 - 以任何位深度生成样本的单遍生成
- 大多数WAV元数据可以在写入时自动生成,尽可能实现这一点。
- 跳过或目标块的功能
- CUE点块
- 播放列表块
- 当通道数不等于2时支持峰值块
- 更好的对可扩展模式的支持
- 当二进制与块不匹配时提供更好的错误信息
- 对附加块、可扩展模式、
no_std
的ATests
进一步阅读
依赖项
~2MB
~43K SLoC