Skip to main content

Crate slowrx

Crate slowrx 

Source
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.