Skip to content

Releases: fobiat/openDVS

openDVS v0.1.0-alpha.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Jul 09:38

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 playbackodvs 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 +x and 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 deny on 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Jul 21:20

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

Pre-release

Choose a tag to compare

@fobiat fobiat released this 17 Jul 18:02

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 bench

With 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).