Skip to content

Mesh v0.9.4

Choose a tag to compare

@github-actions github-actions released this 21 Feb 22:53
· 567 commits to main since this release

Installation

Linux (.deb)

Download the .deb package for your system:

  • mesh-player — Performance mode (4-deck stem player)
  • mesh-cue — Editing mode (waveform editor, analysis, stem separation)
  • mesh-cue-cuda — Editing mode with NVIDIA GPU acceleration
sudo dpkg -i mesh-player_*.deb mesh-cue_*.deb
# Install dependencies if needed:
sudo apt-get install -f

Requirements: PipeWire (Ubuntu 22.04+, Fedora 34+) or JACK2, glibc 2.35+

Windows (.zip)

Extract the zip and run the .exe directly. No installation required.
GPU acceleration via DirectML (any DirectX 12 GPU).

NixOS / Nix

Run directly (x86_64-linux):

nix run github:dataO1/Mesh#mesh-player
nix run github:dataO1/Mesh#mesh-cue

aarch64-linux (Orange Pi 5 / embedded): A pre-built binary cache is published to GitHub Pages with every release. Configure the cache and update:

# /etc/nix/nix.conf (or flake nixConfig)
extra-substituters = https://datao1.github.io/Mesh/
extra-trusted-public-keys = mesh-embedded:vLo1l3Abp0Uzcn21wR3oXvmZxZb1Z1rbk+ggTOIGmeQ=

# Update an embedded device
nixos-rebuild switch --flake github:dataO1/Mesh#mesh-embedded --no-write-lock-file

ML models are downloaded automatically on first use.


[0.9.4]

Performance

  • GPU-accelerated waveforms — Zoomed waveform rendering moved from CPU to GPU.
    Waveform data is uploaded once when a track loads; only the playhead position and
    display state are sent each frame. Dramatically reduces CPU usage during playback,
    especially at high refresh rates with multiple decks.

  • Smarter redraw scheduling — Waveform display only redraws when something
    actually changes, instead of rebuilding every frame unconditionally.

Improved

  • Smoother waveform appearance — Waveforms now have a cleaner, more abstract look
    with per-stem detail tuning. Bass is the smoothest, drums retain more detail, and
    vocals/other sit in between. Thin peaks render with proper anti-aliasing instead of
    flickering between pixel rows.

  • Playhead brightness gradient — Waveform peaks near the playhead are subtly
    brighter, with an inverse-exponential falloff so the effect is concentrated around
    the current position. Peak edges glow more than centers for a natural depth effect.

  • Overview window indicator — The overview waveform now highlights the region
    currently visible in the zoomed view with a subtle overlay.

  • Red downbeat markers — Bar lines in the beat grid are now red to distinguish
    them from regular beat lines, matching the overview waveform style.

  • LUFS-normalized waveform amplitude — All tracks are visually scaled to match
    -9 LUFS, so quiet and loud tracks appear at the same visual amplitude in the
    waveform display.

Fixed

  • Buttery-smooth playhead scrolling — Playhead interpolation now uses timestamps
    from the audio thread with playback rate compensation, eliminating the rhythmic
    micro-stuttering caused by audio buffer quantization.

  • Correct stem overlap rendering — Fixed alpha blending from premultiplied to
    straight alpha, eliminating the white/washed-out outlines where stems overlap.

  • Waveform stays in sync with audio — Fixed two sources of visual drift that caused
    the zoomed waveform to gradually fall out of sync with the audio over longer tracks.

  • Beat grid always visible — Beat grid lines now appear for all tracks, including
    those without detailed beat analysis (falls back to BPM-based grid).

  • Stable waveform at all zoom levels — Waveform no longer jumps or wobbles when
    changing zoom level or at deep zoom.

  • Waveform loads progressively — Overview waveform fills in as the track loads
    instead of appearing all at once.

  • Playhead stays centered at track edges — Zoomed waveform no longer snaps the
    playhead off-center when near the beginning or end of a track.