Expand description
§slowrx
Pure-Rust SSTV decoder library — a port of slowrx by Oona Räisänen (OH2EIQ). Significant portions of the algorithms are translated from the C source. See the NOTICE file for full attribution and license preservation.
§Status
0.5.x — V2.4 published. PD120/PD180/PD240 + Robot 24/36/72 +
Scottie 1 / Scottie 2 / Scottie DX + Martin 1 / Martin 2 decoding
from raw audio. PD120/PD180 validated against ARISS Dec-2017;
Robot 36 validated against the ARISS Fram2 corpus (see
tests/ariss_fram2_validation.md). Scottie and Martin families
are synthetic round-trip-validated only — no Scottie or Martin
reference WAVs available. The public API is
#[non_exhaustive]-protected for additive growth as future
mode-family epics land. See
https://github.com/jasonherald/slowrx.rs/issues/9 for the V2 roadmap.
§Example
use slowrx::SstvDecoder;
// Construct a decoder at the caller's audio sample rate.
let mut decoder = SstvDecoder::new(44_100)?;
// Feed audio chunks; consume any events that come back.
let audio = vec![0.0_f32; 1024];
let _events = decoder.process(&audio);Re-exports§
pub use crate::decoder::SstvDecoder;pub use crate::decoder::SstvEvent;pub use crate::error::Error;pub use crate::error::Result;pub use crate::image::SstvImage;pub use crate::modespec::for_mode;pub use crate::modespec::lookup as lookup_vis;pub use crate::modespec::ChannelLayout;pub use crate::modespec::ModeSpec;pub use crate::modespec::SstvMode;pub use crate::modespec::SyncPosition;pub use crate::resample::Resampler;pub use crate::resample::WORKING_SAMPLE_RATE_HZ;
Modules§
- decoder
SstvDecoder— public state machine driving the decode pipeline.- error
- Error types for the slowrx crate.
- image
- Pixel buffer for a decoded SSTV image.
- mode_pd
- PD-family mode decoder.
- mode_
robot - Robot-family mode decoder.
- mode_
scottie - RGB-sequential mode decoder — Scottie 1/2/DX and Martin 1/2.
- modespec
- SSTV mode specifications.
- resample
- Internal rational resampler: caller’s audio rate → 11025 Hz working rate.
- vis
- VIS (Vertical Interval Signaling) header detection.