Releases: fobiat/openDVS
Release list
openDVS v0.1.0-alpha.3
openDVS v0.1.0-alpha.3 — two decks, robustness, and field tooling
The DJ-rig release: two turntables drive two decks, plus the hardening
and setup tooling that make a real rig practical.
New
- Two-deck playback —
odvs play deckA.flac deckB.flac: deck A on
interface inputs/outputs 1/2, deck B on 3/4, out to your mixer. The
classic 2× turntable + 4-in/4-out interface + analog mixer rig, from
the CLI. Graceful fallback on 2-channel devices. odvs calibrate— measures live deck wiring and fixes it: reversed
direction (miswired cartridge leads), dead/mono channels, level; writes
the config. Calibration now applies on every live path.odvs capture— guided corpus recording (steady / pitch / scratch /
back-cue / needle-drops / noise-floor), one WAV per phase + metadata.
This is how decoding commercial timecode records gets built.- AppImage downloads for Linux (x86_64 + aarch64), alongside
tarball / .deb / .rpm.chmod +xand run;./openDVS.AppImage cli …
for the command line.
Hardening
- Nightly 4-hour soak (two noise seeds) asserting lock retention,
≤2 ms position accuracy, relock time, and bit-error rate — the
"professional bar" (zero dropouts over a long set) now enforced in CI. - Decoder fuzzing (cargo-fuzz): arbitrary input never panics and
never yields non-finite telemetry on the audio path. cargo denyon every PR: dependency licences audited for GPLv3
compatibility, security advisories checked.- Linux artifacts stripped (~50 MB → ~10 MB).
Choosing a download
| You run | Grab |
|---|---|
| Linux (any) | …-x86_64.AppImage (portable) |
| Ubuntu/Debian | odvs_*_amd64.deb (arm64 for Pi) |
| Fedora | odvs-*.x86_64.rpm |
| Arch | packaging/arch/PKGBUILD |
| macOS (M-series) | …-aarch64-apple-darwin.tar.gz |
| macOS (Intel) | …-x86_64-apple-darwin.tar.gz |
| Windows | …-x86_64-pc-windows-msvc.zip |
macOS/Windows builds compile in CI but have not been run on those
platforms yet — smoke-test reports welcome. macOS is unsigned
(right-click → Open). Full detail: CHANGELOG.md.
openDVS v0.1.0-alpha.2
openDVS v0.1.0-alpha.2 — the live-path release
The engine now runs end-to-end on real machines: live timecode decode,
vinyl-controlled playback, and the GUI, all validated cable-free through a
PipeWire virtual deck (tools/test-drive.sh).
New
odvs-ui— egui performance GUI: lock-state and velocity readout,
phase scope (the calibration view — a healthy signal draws a ring),
carrier meter, track waveform with playhead, Absolute/Relative/Internal
transport, drag-and-drop track loading.odvs latency— round-trip latency measurement via timed clicks.- Release automation — this page is built by CI from the tag: Linux
x86-64/ARM64 tarballs +.deb+.rpm, macOS Intel + Apple Silicon
(both native; Apple Silicon needs no Rosetta), Windows zip. Arch users:
packaging/arch/PKGBUILD. tools/test-drive.sh— one-command build + validation on any
PipeWire Linux box, no audio hardware needed.
Fixed
- Stereo negotiation: mono-default inputs (PipeWire/ALSA compat layers)
collapsed L/R and decoded zero velocity; configs are now chosen
stereo-first at the configured rate with format ranking. - Deck playhead clamped to the track (no more negative deck clock).
- GUI phase-scope samples move in whole L/R pairs.
Choosing a download
| You run | Grab |
|---|---|
| Arch | build via packaging/arch/PKGBUILD (or the x86_64 tarball) |
| Ubuntu/Debian | odvs_0.1.0-1_amd64.deb (arm64 for Pi 4/5) |
| Fedora | odvs-0.1.0-1.x86_64.rpm |
| macOS (M-series) | …-aarch64-apple-darwin.tar.gz |
| macOS (Intel) | …-x86_64-apple-darwin.tar.gz |
| Windows | …-x86_64-pc-windows-msvc.zip |
macOS builds are unsigned (Gatekeeper will warn — right-click → Open);
signing lands at beta. Windows is WASAPI; ASIO builds require the
Steinberg SDK locally. Full details: CHANGELOG.md.
openDVS v0.1.0-alpha.1
openDVS v0.1.0-alpha.1 — first pre-release
Alpha on the staged ladder (see RELEASING.md): the engine exists and
closes the loop, validated against the synthetic regression suite. Not
yet validated on real hardware or real vinyl — that is the beta gate.
What works
- Clean-room timecode decoder (
odvs-timecode): quadrature carrier →
velocity/direction, LFSR bitstream → absolute position, verified
bidirectionally, coast-through-scratch. Measured: absolute lock 33 ms
after a needle drop, zero bit errors on clean signal, 228× realtime
(0.44 % of one core per deck). - openDVS open timecode format v1 (
spec/,odvs-proto): freely
pressable control signal — generator renders pressing masters. - Engine: deck transport (absolute/relative/internal), cue points,
varispeed playback; file loading (WAV/FLAC/MP3/OGG/AAC); cpal duplex
audio I/O. - CLI:
generate·decode·devices·monitor·play·bench.
Try it (no hardware needed)
odvs generate -o tc.wav --seconds 30 --start 300
odvs decode tc.wav
odvs benchWith any audio interface: play tc.wav into a line input and run
odvs monitor, then odvs play yourtrack.flac. Full ladder:
hardware/off-the-shelf.md.
Known limitations
Live path untested on real hardware; commercial timecode formats not yet
decodable (recorded corpus needed first); no GUI/keylock/MIDI yet; CI
workflow parked pending token scope. Details in CHANGELOG.md.
Artifact
odvs-v0.1.0-alpha.1-x86_64-unknown-linux-gnu.tar.gz — Linux x86-64
binary + licences. Built on the maintainer machine (CI-built artifacts
arrive at beta, per RELEASING.md). macOS/Windows: build from source
(cargo build --release -p odvs).