> ## Documentation index
> Fetch the complete documentation index at: https://travnie.docs7.io/llms.txt
> Search it with GET https://travnie.docs7.io/search?q=<query>.
> Use these to discover all available pages before exploring further.

# WAM Bridge: Stream Audio to Samsung Multiroom Speakers

> WAM Bridge is a Windows CLI and foobar2000 plugin for streaming audio over Wi-Fi to Samsung Wireless Audio Multiroom speakers, including the Shape M5.

WAM Bridge is a Windows-first Python bridge that lets you stream audio from your PC to Samsung Wireless Audio Multiroom speakers over Wi-Fi. It supports two paths: a command-line tool that serves a tokenized local stream via Samsung's `SetUrlPlayback` API, and a foobar2000 output component that routes whatever foobar is playing (including internet radio) directly to your speaker.

Everything here was measured against a physical SPK-WAM550 running firmware `WAM550WWB-3117.1`. Other models in the Samsung WAM family are untested.

<Warning>
  WAM Bridge is alpha software built by one person against one speaker. It works, but it is not polished. Read the latency note below before you install.
</Warning>

## What works

<CardGroup cols={2}>
  <Card title="CLI Playback" icon="terminal">
    Stream local files and internet radio. SSDP speaker discovery, saved device aliases, custom radio stations, TuneIn preset browsing.
  </Card>

  <Card title="Foobar2000 Output" icon="music">
    `f32le` PCM from foobar encoded to FLAC, served over local HTTP to the speaker. Validated on a physical M5 on 2026-08-02.
  </Card>

  <Card title="Remote Control" icon="sliders">
    Volume, mute, pause, play, stop, standby from the CLI. Hardware volume routing available for lower-latency control.
  </Card>

  <Card title="Android Adapter" icon="mobile">
    Automatic speaker discovery, UPnP renderer, Quick Settings tile, widgets, and native TuneIn browsing with artwork.
  </Card>
</CardGroup>

## The latency note

The last measured end-to-end FLAC latency was 6.7 seconds (historical figure, measured before the host buffer was reduced). With `buffer_extra=0`, the host queue is approximately 1.9 seconds. A fresh ear-to-clock measurement has not been taken yet, so the 6.7 s figure is outdated rather than current.

Playback runs at wall-clock speed and the seekbar is honest. Pause, stop, and skip still carry PCM pipeline latency because they act through the PCM path. Setting `hardware_volume=1` routes the volume slider directly to the speaker for lower-latency volume control.

## Requirements

**CLI:**

- Python 3.14+
- FFmpeg available in `PATH`
- Computer and speaker on the same LAN
- Windows Firewall access for the bridge on private networks

**Foobar2000 component:**

- Windows 10/11 and foobar2000 2.x x64
- Computer and speaker on the same LAN
- A saved WAM device profile
- No separate Python or FFmpeg installation after the component is installed; its helper bundle includes what it needs

## Get started

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/wambridge/quickstart">
    Install the CLI, discover your speaker, and play your first file.
  </Card>

  <Card title="Foobar2000 Plugin" icon="plug" href="/wambridge/foobar-install">
    Install the output component for seamless foobar2000 integration.
  </Card>

  <Card title="CLI Reference" icon="terminal" href="/wambridge/discovery">
    Full reference for discovery, playback, radio, and remote control.
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/travnie/wambridge">
    Source code, releases, and issue tracker.
  </Card>
</CardGroup>
