Thanks to visit codestin.com
Credit goes to lib.rs

75 releases (14 breaking)

Uses new Rust 2024

0.15.1 Nov 30, 2025
0.14.2 May 19, 2025
0.12.0 Mar 3, 2025
0.6.1 Dec 7, 2024
0.4.1 Nov 14, 2023

#194 in Audio

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

63 downloads per month
Used in sparslog

MIT and maybe LGPL-3.0-only

1MB
11K SLoC

Rust Radio

A library for digital signals processing in the spirit of GNU Radio.

Differences from GNU Radio

Pro

  • Written in Rust instead of C++ & Python.
    • Easier to get things right than C++.
    • More performant than Python (and possibly more performant than C++).
    • Easier to ship as a built binary.
  • Type safe streams.

Con

  • GNU Radio is obviously way more mature.
  • GNU Radio has a very nice UI for iterating on graphs.

Missing stuff before declaring 1.0

  • A clear strategy for optional output streams.
    • Is the current Option-based solution good enough for 1.0?
  • SymbolSync block at least have the right API.
  • AsRef<Path> vs Into<PathBuf>?
  • What exactly is the purpose of BlockEOF?
  • Should produce() take Into<Vec<Tag>>? Less copying.
  • Block structs have needless trait bounds, just to be passed to generated impl sections.
  • Should Pending return a time estimate?
  • Or better yet: The graph should do some fancy heuristic to hone in on the perfect time when to call again.
    • Great for hardware like audio, SDRs.
    • Max ceiling for e.g. TCP streams.
    • Maybe both. Strobe could do with being able to just say.
  • At least one example of dynamically updating parameters.

Dependencies

~8–44MB
~657K SLoC