rsona

Crates.iorsona
lib.rsrsona
version0.1.0
created_at2026-01-12 04:59:46.872995+00
updated_at2026-01-12 04:59:46.872995+00
descriptionMusic information retrieval and audio feature extraction in Rust
homepage
repositoryhttps://github.com/DanielFidalgo/rsona
max_upload_size
id2037015
size127,555
Daniel Fidalgo Silva (DanielFidalgo)

documentation

README

rsona

rsona is a high-performance Rust library for music information retrieval (MIR), audio feature extraction, and music structure analysis.

It provides Rust-native implementations of common MIR techniques popularized by tools such as librosa, designed for deterministic, scalable, and deployment-friendly audio analysis.

rsona is infrastructure-first and suitable for backend services, batch processing, and real-time pipelines.

Features

  • Audio decoding (WAV, MP3, FLAC, AAC)
  • Time–frequency analysis (STFT, mel spectrograms)
  • Feature extraction (MFCC, spectral, energy)
  • Novelty and repetition analysis
  • Music structure detection (intro / loop / outro)
  • Structured outputs (for example JSON)

Goals

  • Deterministic and reproducible DSP
  • Parallel and real-time–capable execution
  • Rust-first, safe, and production-ready design

Non-Goals

  • DAW or audio editor
  • Python bindings or wrappers
  • ML-first approaches (for now)

Status

Early development.
Public APIs are evolving and may change before 0.1.

Example (early API sketch)

Rust-style usage (API subject to change):

use rsona::{audio, signal, feature};

let audio = audio::load("track.wav")?; let frames = signal::frame(&audio, Default::default()); let mfcc = feature::mfcc(&frames, Default::default())?;

Legal

rsona reimplements well-known music information retrieval techniques described in the academic literature and widely used in the audio community.

It is not affiliated with or derived from librosa, and does not reuse its source code or documentation.

License

Licensed under the Apache License, Version 2.0.

Contributing

Contributions are welcome.
See CONTRIBUTING.md for guidelines.

Built with Rust.

Commit count: 1

cargo fmt