dsf-meta

Crates.iodsf-meta
lib.rsdsf-meta
version0.2.6
created_at2025-11-24 09:58:16.696899+00
updated_at2025-11-24 22:22:16.237765+00
descriptionDSF (DSD Stream File) support for Rust
homepagehttps://gitlab.com/clone206/dsf
repositoryhttps://gitlab.com/clone206/dsf
max_upload_size
id1947591
size206,667
(clone206)

documentation

README

Logo DSD Stream File

DSF (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:

Examples

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);
}

References

Commit count: 0

cargo fmt