Windows x86-64 · Assembly · MIT

A little light.
A lot less overhead.

Lev's Assembly Media Player.

A small audio player with handwritten assembly decoders and a quiet, compact interface. Built to use fewer resources. Growing toward the media you play in mpv.

Source builds: WAV, AIFF/AIFC, FLAC, MP3, Vorbis and development Opus. Downloaded v0.3.0 includes WAV, FLAC, MP3 and Vorbis.

A geometric lamp with a teal shade and an ivory stem and baseLAMP / 001
LAMP's dark playback canvas with a track title, seek bar, pause control and volume
Actual assembly renderer, shown with synthetic playback state. Inspired by mpv's compact controls and Rhun's assembly UI approach.
01 / SMALL

200.5 KiB GUI.

The development Windows executable includes its icon and Opus decoder. Windows system services handle audio output and the window; the player brings its own assembly decoders.

02 / BUFFERED

Let audio breathe.

A separate decoder feeds a PCM queue. Event-driven WASAPI playback absorbs short scheduling stalls, with no decoder work in the audio refill path.

03 / FOCUSED

Just press play.

Drop a file, pause with Space, seek with the arrows. Controls fade from view during playback, and redraw timers stop while idle or paused.

WAV readyAIFF / AIFC sourceFLAC readyMP3 readyOgg / Vorbis readyOpus source preview

Source builds play Ogg/Opus families 0 and 1 with RFC 8251 updates. Family 1 layouts with up to eight speaker channels are downmixed to stereo; 112 modern-libopus file comparisons pass. All 120 official elementary-decoder vector checks pass. Native FLAC adds 1–8 channels at 4–32-bit depths, with speaker-mask-aware stereo downmix and 404 verified files. WAV adds 1–8 channels, valid PCM precision and float64, with 965 verified files. RF64/BW64 audio framing adds 64-bit lengths, with 538 container files and 16 sparse large-file fixtures; ADM rendering remains unfinished. AIFF/AIFC adds signed PCM and float audio, ordered Core Audio layouts and 1,977 verified files. Vorbis adds 1–255 native channels, documented stereo output and 797 verified files; native surround routing remains unfinished. MP3 retains its documented mono/stereo profile. WAV and AIFF/AIFC seek directly, native FLAC searches validated frames, and MP3, Vorbis and Opus use sparse seek indexes. Video, subtitles and streaming are not yet available. Read exact coverage and limits ↗

The goal is to support everything relevant that mpv supports: formats, playback, rendering, subtitles, streaming and automation, while keeping the runtime small and measuring every performance claim.

  1. 01

    Opus foundation

    Ogg family 0 playback and all 120 official vector checks pass.

    done
  2. 02

    Everyday audio

    Indexed seeking and Opus multistream stereo downmix are in source. Playlists, broader multichannel support and device changes remain.

    in progress
  3. 03

    More formats

    RF64/BW64 and AIFF/AIFC audio are in source. AAC, ALAC and broader containers remain.

  4. 04

    Video & sync

    Modern video formats, hardware decode and efficient presentation.

  5. 05

    Subtitles & streaming

    Timed text, styled subtitles, HTTP, HLS and DASH.

  6. 06

    mpv-relevant coverage

    Configurable controls, IPC and the relevant long tail of media.

Read the roadmap and acceptance gates ↗

Explore the compatibility matrix ↗

Small is measurable.

The prototype has reference PCM comparisons, bounded stress tests and headless playback measurements against mpv and VLC on the same machine. Startup/seek observations and playback, paused and idle CPU/RAM are recorded; wakeups, shipping-GUI performance and audible latency remain unmeasured. Buffering reduces the risk of stutters; no player can guarantee uninterrupted audio through arbitrary system or driver stalls.

Read the measurements and their limits ↗