Slim as a ribbon ย ยทย Warm as lamplight ย ยทย Endlessly yours
๐ Pre-built binaries ready for instant download:
|
Compact Desk Ribbon
Tucks neatly above your code, terminal, or browser without stealing focus |
Expanded Studio Panel
Full queue management, live lyrics, vinyl mechanics & theme selection |
Most music applications demand half your screen, nag you with notifications, and swallow hundreds of megabytes of RAM.
Ember is built on an entirely different philosophy: quiet presence.
- ๐ Floats seamlessly over your code editor, document, or game window.
- ๐ฏ๏ธ Warm organic palette designed specifically for late-night creative flow and tired eyes.
- โก Zero-latency playback that streams directly from the cloud without storing gigabytes of bloat.
- ๐ง Never steals keyboard focus โ control everything with gentle global hotkeys or native Windows media keys.
| ย ย ย ย ย ย Feature ย ย ย ย ย ย | The Vibe & Craft |
|---|---|
| ๐ฆ Standalone Windows Binary | Single portable Ember.exe with zero installation or Python prerequisites. Clean windowed launch with no console flicker. |
| ๐ Dedicated Playlists Tab | Create, view, queue, and manage custom playlists. Remove individual tracks or delete playlists with cascade cleanup. |
| ๐ Universal Link Importer | Paste YouTube or Spotify playlist links directly. Playback starts immediately with an optional one-click [Save Playlist] prompt. |
| ๐พ 1-Click Offline Exporter | Save streaming tracks to your local library (.m4a / .flac) complete with high-res artwork and embedded ID3/MP4 metadata. |
| ๐ Dynamic Waveform Visualizer | Interactive audio seekbar rendered with animated amplitude bars tuned to playback progression. |
| ๐ Smart Sleep Timer | Drift off with 15m, 30m, 45m, or 60m timers featuring a cosine-eased gentle volume fade-out to zero before pausing. |
| ๐ง Audio Device Switcher | Hot-swap playback between Headphones, USB DAC, Bluetooth earbuds, and Speakers directly from preferences. |
| โก Persistent LRU Cache | Local byte-stream cache (500MB cap) eliminating repeat network calls and enabling instant replay. |
| ๐ช Native Windows SMTC | Full Windows 10/11 lock screen controls, system volume overlays, and physical hardware media keys. |
| ๐ฎ Discord RPC & Scrobbling | Real-time Discord Rich Presence with elapsed timers plus ListenBrainz / Last.fm scrobble engine. |
| ๐ Search & Paste | Instant search across YouTube Music guest API with 350ms debouncing and link detection. |
| ๐ค Live Lyrics Tab | Sing along with synchronized and plain lyrics quietly fetched from LRCLIB. |
| ๐ Smart Shuffle & Repeat | Non-destructive upcoming queue shuffle plus 3-way cycleable repeat modes (off โ all โ one). |
| โก Variable Speed | Dial playback rate smoothly between 0.75x, 1.0x, 1.25x, and 1.5x with native pitch preservation. |
| ๐ช Desktop Glass Opacity | Dial window translucency between 60% and 100% to let your desktop wallpaper bleed gently through. |
| ๐๏ธ Hand-Crafted Instruments | Rotating vinyl disc with specular sheen, spring-damper equalizer bars, and circular volume dial. |
| ๐จ Dynamic Palette Switcher | Swap instantly between five hand-curated themes (Amber, Emerald, Amethyst, Solar, Rose). |
| โจ๏ธ Universal Hotkeys | Global key chords for every common action, fully customizable with conflict detection. |
Ember ships with 5 unified color stories inspired by natural stones and ambient warmth:
๐ฏ๏ธ Amber โ Deep espresso base, roasted coffee, and luminous golden amber light
๐ฟ Emerald โ Forest moss, midnight pine, and radiant emerald glow
๐ฎ Amethyst โ Velvet twilight, dark slate, and deep mystical violet luminescence
โ๏ธ Solar โ Sun-baked terracotta, warm earth, and bright solar radiance
๐ธ Rose โ Smoky plum, evening rouge, and delicate soft blush accents
Every widget, vinyl reflection, text label, and progress slider re-skins instantly at runtime without restarting the application.
Zero setup required โ grab the binary for your platform and enjoy:
- ๐ช Windows Desktop: Download
Ember.exe(orEmber-v1.0.0-windows-x64.zip) from GitHub Releases. Double-click to run silently on your desktop. - ๐ฑ Android Mobile: Download
Ember.apkfrom GitHub Releases. Tap to install on your Android device (Android 5.0+).
# 1. Clone the repository
git clone https://github.com/AIwolfie/Ember.git
cd Ember
# 2. Automated setup
install.bat
# 3. Launch
launch.bat(Prefer live diagnostic console logs while developing? Run launch_debug.bat instead.)
# 1. Navigate to the flutter project
cd ember_flutter
# 2. Fetch dependencies
flutter pub get
# 3. Launch on connected Android device or emulator
flutter runWant to compile the desktop .exe yourself? A 1-click build script is included:
build_exe.batThis automatically compiles ember.spec using PyInstaller and outputs the portable binary to dist/Ember.exe.
To package your own release APK:
cd ember_flutter
flutter pub get
flutter build apk --releaseThe optimized release APK will be generated at build/app/outputs/flutter-apk/app-release.apk. For per-ABI split APKs (~25MB each):
flutter build apk --split-per-abiControl your soundtrack from inside any application, IDE, or full-screen game:
| Shortcut | Action | Scope |
|---|---|---|
| Ctrl + Alt + Space | Play ย /ย Pause | Global |
| Ctrl + Alt + โ | Next Track | Global |
| Ctrl + Alt + โ | Previous Track (or restart current) | Global |
| Ctrl + Alt + E | Toggle Expanded Panel | Global |
| Ctrl + Alt + โ | Expand Ribbon to Panel | In-App |
| Ctrl + Alt + โ | Collapse Panel to Ribbon | In-App |
| Ctrl + Alt + F | Jump to & Focus Search Field | In-App |
๐ก Tip: All key combinations can be freely re-mapped in the
โPreferences dialog.
Ember/
โโโ ember/
โ โโโ app.py โ Application lifecycle, rotating logs, hotkey hooks
โ โโโ cache.py โ Persistent LRU audio byte-stream disk cache (500MB cap)
โ โโโ catalog.py โ YouTube Music guest API with exponential backoff
โ โโโ config.py โ Palette tokens, geometry constants, design tunables
โ โโโ discord_rpc.py โ Discord Rich Presence integration
โ โโโ exporter.py โ 1-click offline FLAC / M4A exporter & ID3 tagger
โ โโโ icons.py โ FontAwesome 6 vector icons with dynamic tinting
โ โโโ importer.py โ Universal YouTube & Spotify playlist importer
โ โโโ jobs.py โ Asynchronous QRunnable workers with isolated thread pools
โ โโโ lyrics.py โ LRCLIB lyrics resolution & timestamp parser
โ โโโ models.py โ Song dataclass & serialization contracts
โ โโโ panel.py โ Floating surface, ribbon, tabs, playlists & waveform
โ โโโ player.py โ PlaybackCore, queue manager & auto-recovery engine
โ โโโ scrobbler.py โ ListenBrainz & Last.fm scrobble engine
โ โโโ settings_dialog.py โ Preferences modal, hotkey binder & device switcher
โ โโโ smtc.py โ Native Windows System Media Transport Controls
โ โโโ storage.py โ SQLite engine for playlists, favorites & history
โ โโโ stream.py โ Direct audio stream extraction with yt-dlp
โ โโโ theme.py โ Dynamic Qt stylesheets compiled with string.Template
โ โโโ toast.py โ Non-intrusive floating desktop notification toast
โ โโโ tray.py โ System tray icon & single-instance lock guard
โ โโโ utils.py โ Formatters, clock helpers, and text elision
โโโ tests/ โ Automated pytest suite (89 tests passing)
โโโ build_exe.bat โ 1-click standalone Windows .exe compiler
โโโ ember.ico โ Official multi-resolution Ember application icon
โโโ ember.spec โ PyInstaller standalone release specification
โโโ install.bat โ Automated Windows environment installer
โโโ launch.bat โ Clean silent application launcher
โโโ launch_debug.bat โ Diagnostic console launcher
โโโ requirements.txt โ Pinned dependency specifications
โโโ CREDITS.md โ Full project attribution
โโโ LICENSE โ MIT License
Ember uses a seamless CI/CD pipeline allowing instant Over-The-Air (OTA) patching via Shorebird, meaning users never have to manually reinstall APKs to get your latest dart code!
Whenever you push to the main branch, the pipeline will perfectly choose the deployment strategy based on exactly one thing: the version in ember_flutter/pubspec.yaml.
1. Pushing Silent OTA Patches (No Version Bump) If you make a bug fix or UI change to the Flutter code and want to silently push it to all users immediately:
- DO NOT change the version in
pubspec.yaml! Leave it exactly as is.- Commit and push to
main.- Result: The CI pipeline will automatically run
shorebird patch. All users around the world will instantly download this patch in the background and the app will notify them to restart!
2. Publishing a New Base APK Release (Version Bump) If you add complex new native Android packages or major features and need to completely replace the APK:
- BUMP the
version:inpubspec.yaml(e.g., from1.0.1+2to1.0.2+3).- Commit and push to
main.- Result: The CI pipeline will build a brand new Base Release containing the Shorebird SDK, push it as a new GitHub Release tag, and users will see an "Update Available ๐" prompt inside their app asking them to download the new APK!
When you push to any branch other than main (like a PR), the secondary branch_build.yml Action runs. It securely compiles a standard preview APK and commits it to the root folder as Android_APK/Preview_Build.apk, allowing PR reviewers to easily download and test your code without compiling!
Ember features a comprehensive automated test suite covering models, themes, database integrity, playlists, and resilience:
py -3 -m pytest tests/ -v(All 89 tests passing across all subsystems.)
Ember is built with care, craft, and love for music:
- Mayank Malaviya (@AIwolfie ยท aiwolfie.online) โ Original creator, lead architect, and maintainer of Ember.
- Muhammad Taezeem Tariq Matta (@taezeem14) โ Contributor โ development improvements and project upgrades.
- Kenil Ribadiya (kenilribadiya.in) โ Contributor โ Mobile App Architect & Android Flutter Implementation.
For full details, see CREDITS.md.
Distributed under the MIT License
Crafted for late nights, cold tea, and warm code. Enjoy the sound. ๐ต

