Skip to content

Releases: FlyToRakib/soundpush

SoundPush 0.1.0

SoundPush 0.1.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 01:27

Downloads

Platform File
Fedora / openSUSE (x64) SoundPush-0.1.0-1.x86_64.rpm
Linux AppImage (x64, updates itself) SoundPush_0.1.0_amd64.AppImage
Ubuntu / Debian (x64) SoundPush_0.1.0_amd64.deb
Android 8+ SoundPush_0.1.0_android.apk
Windows 11 on ARM (ARM64) SoundPush_0.1.0_arm64-setup.exe
macOS 13+ (Apple Silicon and Intel) SoundPush_0.1.0_universal.dmg
Windows 10/11 (x64) SoundPush_0.1.0_x64-setup.exe

Verify a download: sha256sum -c --ignore-missing SHA256SUMS (PowerShell: Get-FileHash <file>).
SBOMs (CycloneDX) are attached for the Rust engine, the Android engine library and the desktop UI.

First install

  • Windows: the installer is not code-signed yet. If SmartScreen says Windows protected your PC, choose More info → Run anyway.
  • macOS: the app is not notarised yet. If macOS says it can't verify SoundPush, open System Settings → Privacy & Security → Open Anyway.
  • Already installed? The desktop app offers the update in Settings → About once this release is published.

The first public release of SoundPush — an early preview, published as a GitHub pre-release. It works, it is young, and your reports decide what gets fixed first: open an issue.

Highlights

  • Hear your computer on your phone, use your phone as the computer's microphone, or both at once as a wireless headset; send your phone's app audio to a computer or another phone.
  • Pair once with a QR code. Everything is end-to-end encrypted, with no account, no ads and no telemetry.
  • Wi-Fi, a phone hotspot or USB; several listeners at once.
  • Desktop app for Windows, macOS and Linux; Android app for Android 8 and newer.

Known limitations

  • Tested by a person on Windows 11 (x64) and one Android 12 phone only. Linux, macOS and Windows on ARM64 build and pass automated tests but have never been used by a person. If you try one, please tell us how it went.
  • Installers are not code-signed. Windows SmartScreen says Windows protected your PC (choose More info → Run anyway) and macOS asks you to Open Anyway in Privacy & Security.
  • Phone as microphone on Windows needs VB-CABLE, a free virtual cable by VB-Audio. SoundPush downloads and starts its official installer from Audio → Install VB-CABLE; SoundPush's own driver comes later.
  • English only for now. Translations are welcome (translating).
  • No echo cancellation on the computer: use headphones when the phone is the microphone and the computer's speakers are on, or turn on Reduce echo on speakers (ADR-0020).
  • Networks that keep devices apart (many office, school, hotel and public Wi-Fi networks) stop the devices from finding each other. Use a phone hotspot or USB instead.
  • Battery use on phones and end-to-end delay have not been measured on real networks yet.

Everything in this release

  • Shared Rust core (sound-push-core): wire protocol, Ed25519 device identity, QR and code pairing with an encrypted trust store, QUIC transport with key-pinned mutual TLS, mDNS and signed-beacon discovery, Opus and PCM codecs, adaptive jitter buffer, clock-drift compensation, packet redundancy, adaptive bitrate, RNNoise noise suppression, and the session/route engine with reconnection and per-device permissions.
  • Desktop app for Windows, macOS and Linux (Tauri 2 + Svelte 5): tray icon, launch at sign-in, single instance, onboarding, Home tasks (listen on phone, phone as microphone, headset, phone audio on the computer), Devices with per-device permissions, Audio settings, diagnostics export and logs.
  • Android app (Kotlin + Jetpack Compose): QR scanning and code pairing, streaming foreground service with notification controls, Quick Settings tile, microphone modes and effects, app-audio capture (Android 10+), audio focus handling.
  • Multi-device streaming: always asks which device to use when more than one is connected; live capability updates. A source feeds up to eight devices at once (one to sixteen in Settings → Advanced), with an estimate of the bandwidth and CPU another listener would cost.
  • Audio + microphone in one stream: send this computer's sound together with your voice, each with its own level — commentary over a game or a film.
  • Connection type in Settings → Advanced: automatic (the default), Wi-Fi/Ethernet only, TCP only for networks that block the fast protocol, or USB only.
  • Error codes: every message carries a stable code such as SP-NET-004, listed with its fix on the new error codes page and included in diagnostics exports and logs.
  • Virtual microphone: built-in "SoundPush Microphone" driver on macOS; one-click VB-CABLE install from the Audio page on Windows; only real virtual cables are used, never a speaker.
  • Automatic updates on desktop: signed update manifests (minisign key, no paid certificate), "Check for updates" and "Check for updates automatically" in Settings → About, an update banner with download progress and restart-to-install.
  • Update check on Android: Settings → About shows when a newer release is on GitHub and links to it.
  • Help and About: user guide, privacy policy, license, source code and "Report a problem" links; logs folder.
  • Accessibility: visible keyboard focus everywhere, Ctrl+1–4 (⌘1–4) page shortcuts, text zoom with Ctrl +/−, screen-reader announcements when streams start, reconnect or stop, labelled meters and progress bars, dialogs that keep focus and return it, reduced-motion and Windows high-contrast support.
  • Localisation readiness: one JSON file per language, plural forms, number and list formatting, right-to-left layouts, pseudo-locales for testing (en-XA, ar-XB), and a translation guide (docs/translating.md).
  • Release infrastructure: release workflow for Windows (NSIS, x64 and ARM64), macOS (universal DMG), Linux (deb, rpm, AppImage) and Android (APK) with checksums, SBOMs and a draft GitHub Release; dependency license and advisory checks in CI.
  • Update channels: Stable and Beta in Settings → About. Stable updates reach installs in stages (10 % → 50 % → 100 % over three days, can be held or halted); Beta gets x.y.z-beta.n versions as soon as they are published.
  • Store manifests: winget, Homebrew cask, Flathub, F-Droid and Google Play listings, filled in from each release (packaging/, tools/release/fill-manifests.mjs).
  • Documentation site (MkDocs Material on GitHub Pages) with the user guide, troubleshooting, virtual microphone, privacy, translating and release pages; the app's help links open it, or GitHub when it can't be reached.
  • Translations on Weblate: component setup for the desktop and Android strings (docs/translating.md).
  • Quality gates in CI: clippy with warnings as errors, ktlint for the Android modules and ESLint with Prettier for the desktop UI, a line coverage report with an 80 % gate on the core crates, SHA-256 verification of every Android dependency, the audio backends against PipeWire and WASAPI, nightly fuzzing of every fuzz target, an Android startup benchmark that runs nightly and on demand, and a hook for desktop end-to-end tests.
  • Developer tools: tools/netsim applies the impairment profiles the simulation tests use to a real network interface, and tools/latency-probe measures end-to-end pipeline latency from a chirp. Both build on the new sp-testkit crate.
  • Documentation: user guide, privacy policy, threat model, release-signing guide, UX flows and copy rules, ADRs 0006–0020, issue and pull request templates.
  • Resume streams after restart: the streams that were running start themselves again once the device is back. Off by default; Settings → Privacy & security on the computer, Settings → Background on the phone.
  • "Another app is using the microphone": while Android hands SoundPush silence because a call or an assistant has taken the microphone, the phone says so on Home and in the notification, and clears it when they let go.
  • Noise suppression where you want it: RNNoise runs on the phone or on the computer, so you choose which device spends the CPU. It also switches itself off (with a notice) when a machine stops keeping up, and comes back when it recovers.
  • Resilient streaming: Auto, Always or Off, instead of only automatic. Auto stays the default.
  • Test tools on the desktop Audio page: a test tone on the chosen output, and a microphone test you can hear.
  • Clip indicator on the level meters, announced as well as coloured, when the volume boost hits the limiter.
  • Feedback-loop warning while monitoring the microphone on speakers, with a headphones suggestion and an optional "Reduce echo on speakers" for desktops without echo cancellation (ADR-0020).
  • "Replace current microphone source?" when a second device asks to be a computer’s microphone.
  • Android: balance, the 80 Hz low-cut filter, and a “Recommended” badge on the microphone mode list.
  • Keep window in memory for instant reopen (Settings → General, off): closing the window normally frees the memory it used; keep it loaded to reopen instantly.
  • Make SoundPush the default input and output while active (Settings → General, off): while your phone is in use, apps pick it up without being set up one by one, and your usual devices come back when the stream stops.
  • Real-time audio priority for capture and playback, so a busy computer causes fewer dropouts: MMCSS "Pro Audio" on Windows, the thread time-constraint policy on macOS, SCHED_RR on Linux. Fails softly where it is not allowed.
  • **Crash reports for crashes a Rust panic hook cannot...
Read more

Update channels

Update channels Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Sep 01:29

Updater manifests for the SoundPush desktop app (stable.json, beta.json). Not a release: download SoundPush from the latest release instead.