{"id":51615784,"url":"https://github.com/capullo-tech/quantumcast","last_synced_at":"2026-07-12T13:01:49.746Z","repository":{"id":369398278,"uuid":"1289669028","full_name":"capullo-tech/quantumcast","owner":"capullo-tech","description":"QuantumCast — global internet radio + Snapcast multiroom broadcaster. A Capullo Audio Platform app, recomposed onto capullo-audio + capullo-source-radiobrowser.","archived":false,"fork":false,"pushed_at":"2026-07-12T08:14:13.000Z","size":2868,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-12T09:10:19.145Z","etag":null,"topics":["android","internet-radio","jetpack-compose","kotlin","multiroom","radio-browser","snapcast"],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/capullo-tech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES_FROM_RG2.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-07-05T03:44:15.000Z","updated_at":"2026-07-12T08:14:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/capullo-tech/quantumcast","commit_stats":null,"previous_names":["capullo-tech/quantumcast"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/capullo-tech/quantumcast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capullo-tech%2Fquantumcast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capullo-tech%2Fquantumcast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capullo-tech%2Fquantumcast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capullo-tech%2Fquantumcast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capullo-tech","download_url":"https://codeload.github.com/capullo-tech/quantumcast/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capullo-tech%2Fquantumcast/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35392296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-12T02:00:06.386Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","internet-radio","jetpack-compose","kotlin","multiroom","radio-browser","snapcast"],"created_at":"2026-07-12T13:01:48.881Z","updated_at":"2026-07-12T13:01:49.721Z","avatar_url":"https://github.com/capullo-tech.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantumcast\n\nDiscover radio stations from every corner of the world and let them play through your entire home — all rooms in sync, all at once.\n\n## What it does\n\nHit shuffle and Quantumcast picks stations at random from a global database of 30,000+ broadcasts. It rotates through them automatically, like a DJ who never sleeps and never repeats a genre twice. When something catches your ear, Shazam-compatible track recognition tells you what's playing — artist, title, artwork — without lifting a finger.\n\nMultiroom playback runs on [Snapcast](https://github.com/badaix/snapcast) under the hood: every room hears the same audio, sample-perfect. Each listener gets their own volume control on the same screen. If you're using a Bluetooth speaker with noticeable delay, dial in its latency offset with a dedicated knob so it lands in sync with the rest of the house. And if you're building a spatial audio setup — placing phones or speakers around a room — you can assign each client its own channel — left, right, or full stereo — making it easy to construct a stereo field from independent devices placed around a room.\n\n## Features\n\n- **Global radio discovery** — search 30,000+ stations by name, country, genre, or tags via the [radio-browser.info](https://www.radio-browser.info) community database\n- **DJ shuffle rotation** — Quantumcast picks random stations from around the world and rotates through them on a timer, hands-free\n- **Track identification** — automatic Shazam-compatible song recognition: artist, title, and album art appear while the music plays\n- **Multiroom sync** — broadcast to any number of devices on your local network with sample-accurate synchronization\n- **Per-room volume** — control each room's volume independently from a single screen while the music keeps playing\n- **Bluetooth latency compensation** — per-client latency offset knob to bring wireless speakers into sync with wired ones\n- **Spatial channel assignment** — assign Left, Right, or Stereo to each client independently, so you can build a true stereo field from ordinary phones and speakers placed around a room\n- **Favorites \u0026 groups** — organize stations into custom groups with drag-to-reorder\n- **Sleep timer** — fade out after a set duration\n- **Dark/light theme**\n\n## Architecture\n\n```\nInternet radio stream\n    → ExoPlayer / Media3 (audio decode, FFmpeg fallback)\n    → Snapserver (multiroom broadcast)\n    → Snapclient (synchronized playback on each device)\n```\n\nThe app runs a full Snapcast server and client stack natively on Android using [lib-snapcast-android](https://github.com/capullo-tech/lib-snapcast-android). Any Snapcast-compatible client on your network can join.\n\n## Requirements\n\n- Android 8.0 (API 26) or later\n- Local Wi-Fi network for multiroom playback\n- Other devices for multiroom: any Snapcast client (Android, Raspberry Pi, desktop, etc.)\n\n## Getting started\n\n1. Install Quantumcast on your primary device (the broadcaster)\n2. Play any station — it immediately starts broadcasting on your local network\n3. On other devices, open the **Qcast** tab and tap your broadcaster to connect and listen in sync\n4. Use the speakers icon (⊙) on the Now Playing screen to control per-room volume and latency\n\n## Building from source\n\nRequires Android Studio and the Android NDK (for the native Snapcast libraries).\n\n```bash\ngit clone https://github.com/capullo-tech/quantumcast\ncd quantumcast\n./gradlew assembleProdDebug\n```\n\nAPK will be at `app/build/outputs/apk/prod/debug/app-prod-debug.apk`.\n\n## Credits\n\nQuantumcast is built on the shoulders of:\n\n- **[RadioCapullo](https://github.com/capullo-tech/RadioCapullo)** — the Snapcast Android integration, multiroom architecture, and stream control protocol that made this possible\n- **[lib-snapcast-android](https://github.com/capullo-tech/lib-snapcast-android)** — native Snapcast server/client libraries packaged for Android\n- **[Snapcast](https://github.com/badaix/snapcast)** by badaix — the synchronous multiroom audio system at the heart of this project\n- **[Media3 / ExoPlayer](https://github.com/androidx/media)** — audio decoding and network stream handling, with an [FFmpeg decoder extension](https://github.com/capullo-tech/lib-media3-ffmpeg-android) for codecs the device's MediaCodec lacks\n- **[radio-browser.info](https://www.radio-browser.info)** — the open community radio station database\n\n## License\n\nCopyright 2026 capullo-tech\n\nQuantumcast is free software, released under the [GNU General Public License v3.0](LICENSE). You may use, study, modify, and distribute it under the terms of that license.\n\nThis project incorporates [lib-snapcast-android](https://github.com/capullo-tech/lib-snapcast-android) which bundles Snapcast (GPL v3). The GPL v3 license covers the combined work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapullo-tech%2Fquantumcast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapullo-tech%2Fquantumcast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapullo-tech%2Fquantumcast/lists"}