Share live stereo audio from your session with clients, collaborators, and students.
Free and open source. No listener account, plugin, or download.
Get started · Installation & development · Website · Releases
SessionStream is a VST3 and Audio Units (AU) plugin for producers who teach, collaborate, or work on mixes remotely. Let someone hear changes as you make them, get feedback without another export, or check your mix on another device.
| What you get | |
|---|---|
| Live stereo | Low-delay WebRTC audio with stereo Opus at a requested 320 kbps / 48 kHz. |
| Independent stream gain | Adjust what your listener hears without changing your track or master level. |
| Simple invitations | Share a private link with up to eight listeners. Generate a new invitation to invalidate the previous one. |
| Browser playback | Listeners install nothing. They get a waveform, a dB volume control with up to +6 dB boost, mute without disconnecting, and live audio and connection details. |
| Compatibility audio | Automatic PCM fallback through the HTTPS tunnel when a direct WebRTC connection cannot be established. |
| Bundled engine | The streaming engine and tunnel ship with the plugin. No separate Node install, Cloudflare login, or SessionStream subscription. |
Current build: 0.30 · macOS Apple Silicon + Windows 11 x64 / ARM64
| Operating system | Architecture | Plugin formats | Installer |
|---|---|---|---|
| macOS 13.5+ | Apple Silicon | VST3 + AU | SessionStream-0.30-mac-arm64.pkg |
| Windows 11 | Intel/AMD x64 + ARM64 | VST3 | SessionStream-0.30-windows-x64-arm64.exe |
The Windows installer includes both plugin architectures. Windows ARM64 uses an x64 streaming helper under emulation. Intel Macs, Windows 10 and 32-bit x86 DAWs are not supported.
Save and close your DAW, install the package for your system, then reopen your DAW. See Releases for published installers, or build from source. Local installers are in artifacts/.
- Add the plugin. Put SessionStream on the track you want to share, or last on your Main/Master bus for the full mix.
- Generate a link. Click Generate share link and wait for it to become ready. First startup can take tens of seconds.
- Start streaming. Adjust Stream output, click Start streaming, and share the invite using Copy link.
- Let them listen. Your listener opens the link and presses Start listening.
Click Stop streaming to silence listeners; the same invite works when you start again. Keep your computer awake and online. Anyone with the full invite and any required passcode can listen, so share them with your intended listeners.
Optional access controls: enable Use passcode before generating a link. Listeners enter that code before they can receive audio. Generate QR code displays the invite inside the plugin; the code is generated locally and contains the link, without the passcode. Normal streaming status stays simple; the plugin shows a warning if a listener reports blocked playback or interrupted audio.
Turning the plugin off: disabling/bypassing or removing SessionStream releases its session. When the last enabled instance using the engine is gone, the background engine and tunnel shut down. Re-enable and generate/share a fresh link; cold startup can take tens of seconds again. Closing just the plugin window keeps the session active. See shutdown behavior for host differences and crash recovery.
Works with most DAWs that support VST3, plus AU hosts on macOS. Examples include Ableton Live, REAPER, FL Studio, Cubase and Studio One. Logic Pro uses AU. Pro Tools requires AAX, which is not included.
Use a native Apple Silicon DAW on macOS. On Windows, the plugin architecture must match the DAW: x64 hosts use the x64 binary, while native ARM64 hosts use the ARM64 binary.
Windows ARM64 in UTM with REAPER was tested successfully by the user, including playback and seeking after the fix. This confirms that VM setup; the loaded plugin architecture was not recorded. Other compatible DAWs, native ARM64 hosts and physical Windows performance have separate validation limits in the validation results.
Troubleshooting: open the plugin's … → Troubleshooting → Copy diagnostics menu. It copies version, OS, plugin architecture/format and connection state, without private links, passcodes or tokens. … → Compatibility shows the supported systems and formats.
Installation and system approval
Save and close your DAW before installing or updating. The macOS installer places the plugins and their bundled runtime in:
- VST3:
~/Library/Audio/Plug-Ins/VST3/SessionStream.vst3 - AU:
~/Library/Audio/Plug-Ins/Components/SessionStream.component
Windows installs VST3 into C:\Program Files\Common Files\VST3\SessionStream.vst3; see the Windows guide.
Reopen your DAW and rescan plugins if needed. This macOS build is ad-hoc signed; the installer is unsigned and not notarized. Downloaded copies may require System Settings → Privacy & Security → Open Anyway.
See the installation guide for details.
Your DAW → SessionStream → WebRTC stereo audio → Their browser
│
└── Temporary HTTPS invite via Cloudflare Quick Tunnel
The plugin sends a copy of your audio while your DAW signal passes through unchanged. WebRTC attempts direct audio delivery; compatibility mode sends PCM through the tunnel when needed. Streaming starts off when a saved project opens, and offline exports are never transmitted.
Audio quality and connection limits
The default Opus stream is high-quality compressed audio. Supported DAW source rates are 44.1, 48, 88.2, 96, 176.4, and 192 kHz; WebRTC audio uses 48 kHz. Latency depends on sender buffering, both connections, and listener buffering.
Compatibility mode uses more bandwidth and usually adds delay. One plugin owns an active session at a time. End-to-end latency, long sessions, physical Safari/iOS playback, and real client WAN WebRTC connections remain unverified; see the recorded validation.
See quality and connections for technical details and optional TURN configuration.
Temporary links and Cloudflare terms
SessionStream uses TryCloudflare Quick Tunnels to expose its listener page and connection signaling through a temporary trycloudflare.com address. No Cloudflare account or domain is needed.
The address changes when a new tunnel is created and stops working when the tunnel closes. Quick Tunnels are for testing and development, with no uptime guarantee. This build is experimental; dependable production hosting needs a different tunnel or hosting setup.
TryCloudflare use is governed by Cloudflare's Website and Online Services Terms of Use and Privacy Policy. Share only audio you have permission to transmit, respect service limits, and avoid unlawful or abusive use. Cloudflare can modify, restrict, or discontinue the service. Review the full terms, including their content-rights provisions; this overview does not replace them.
Windows x64 and ARM64 port, installer, build instructions, and validation limits: Windows guide.
Build on an Apple Silicon Mac running macOS 13.5+, with native Node.js 24+ / npm, CMake 3.22+, Xcode Command Line Tools, and cloudflared. These are developer prerequisites; people installing the PKG need none of them.
If needed, install Command Line Tools with xcode-select --install. With Homebrew installed, set up the remaining tools:
brew install node@24 cmake cloudflared
export PATH="$(brew --prefix node@24)/bin:$PATH"From the repository root (the folder containing package.json):
npm ci
npm test
npm run build:plugin
npm run build:installerThe first build requires internet access to download JUCE 8.0.12 and the bundled Node v24.3.0 runtime. It verifies those downloads, bundles the native WebRTC addon and your installed cloudflared, then ad-hoc signs VST3, AU, and a development standalone app. The PKG contains VST3 and AU and is written to artifacts/SessionStream-0.30-mac-arm64.pkg; checksums are in artifacts/SHA256SUMS.txt.
To install your build locally, save and close your DAW, then run npm run install:plugin or open the PKG. If cloudflared is outside your PATH, set CLOUDFLARED_PATH to its full executable path before building.
Use npm run package:source to create a clean source ZIP for GitHub. Keep compiled installers and plugin ZIPs in GitHub Releases; downloaded dependencies, build products, local state, and logs are excluded from source control.
For build details, tests, and troubleshooting, see development notes.
| Guide | Contents |
|---|---|
| Installation & development | Setup, plugin controls, listener playback, updates, and source builds |
| Validation results | Recorded checks, release checksums, and remaining verification limits |
| Third-party licenses | Dependencies and bundled runtime notices |
Built by loyahdev · AGPL-3.0
An independent project, unaffiliated with Waves, Audiomovers, or Cloudflare.

