Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Adopt a higher quality resampler

Aperta
#647 13 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
rust

Direzione di ricerca

Read the existing SampleRateConverter implementation and the linked discussions in #584 and #316 to understand the current resampler and its audio quality issues. Compare the proposed Rubato, rust-samplerate, and dasp-interpolate options, including their floating point sample requirements and resource tradeoffs. Done means users can choose a higher quality resampler while retaining the current fast option; an optional low-pass filter is also suggested.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug enhancement

Currently implemented sample rate converter uses simple linear interpolation algorithm and is prone to producing high frequency noise in output. See for example #584 and #316 related to the resampler implementation. However the algorithm is fast and requires little resources, so we should keep it at least as an option.

We should integrate an existing sample rate converter and let users to pick a resampler implementation depending on their needs. A simple optional low-pass filter may be also implemented as post-processing step for existing Rodio's SampleRateConverter to improve its audio quality.

It seems that there are 2 implementations that we can use:

  1. Rubato
  2. rust-samplerate which uses C bindings to libsamplerate
  3. Maybe dasp-interpolate

Note that all of these libraries process only floating point samples.

Lingua principale
Rust
Stelle
2.5k
Fork
338
Merge medio
1g 3h
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RustAudio/rodio

Tutte le issue di RustAudio/rodio

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.