| Crates.io | dsf-meta |
| lib.rs | dsf-meta |
| version | 0.2.6 |
| created_at | 2025-11-24 09:58:16.696899+00 |
| updated_at | 2025-11-24 22:22:16.237765+00 |
| description | DSF (DSD Stream File) support for Rust |
| homepage | https://gitlab.com/clone206/dsf |
| repository | https://gitlab.com/clone206/dsf |
| max_upload_size | |
| id | 1947591 |
| size | 206,667 |
DSD Stream FileDSF (DSD Stream File) support in Rust. DSF files are a high-resolution audio format that contain lossless 1-bit audio stream in delta sigma modulation aka Direct Stream Digital (DSD). The format is intended for 1-bit DSD DACs.
This package is a mostly compatible fork of the dsf crate by Daniel J. R. May, but it focuses on reading metadata and leaves it up to the implementor to iterate over the dsd samples using the info from that metadata, such as the audio offset and number of samples. It also allows for incomplete ID3 tag reads without causing a failure to instantiate the DsfFile object:
use dsf_meta::DsfFile;
use std::path::Path;
let path = Path::new("my/music.dsf");
match DsfFile::open(path) {
Ok(dsf_file) => {
eprintln!("DSF file metadata:\n\n{}", dsf_file);
}
Err(error) => {
eprintln!("Error: {}", error);
}
}
use dsf_meta::DsfFile;
use std::path::Path;
let path = Path::new("my/music.dsf");
let dsf_file = DsfFile::open(path).unwrap();
if let Some(e) = dsf_file.tag_read_err() {
eprintln!("[Warning] Full read of ID3 tag failed. Partial read attempted: {}", e);
}