A modern, lightweight desktop audio player and streaming suite built with .NET 10 & Avalonia UI.
Stream music seamlessly from YouTube Music with a modern Spotify-inspired dark emerald interface, dynamic playlist management, and native LibVLC audio.
- High-Fidelity Audio Streaming: Powered by native LibVLC and YoutubeExplode for low-latency, gapless playback.
- Modern Dark Emerald Interface: Crafted with Avalonia UI, scalable vector icons, fluent design, and responsive layouts.
- Playback Priority Queue: Right-click any track with "Play Next" and "Add to Queue" options that prioritize queued tracks before resuming ambient playlists.
- Slide-Out Queue Drawer: Collapsible real-time side drawer displaying Now Playing, Next in Queue (with individual remove and clear controls), and Next Up from Source.
- Fisher-Yates Smart Shuffle: True non-repeating randomized track ordering with active track preservation.
- 3-State Repeat Cycle: Dynamic cycling between Repeat Off, Repeat All (full playlist loop), and Repeat One (single track loop).
- 1-Click Volume Mute & Memory: Clickable speaker icon with instant volume mute, cached sound memory, and auto-restore.
- Instant Search & Discovery: Search songs, artists, and albums in real time with interactive top results and audio metadata analysis.
- Playlist & Library Management: Create, organize, and manage custom playlists and Liked Songs with full right-click context menu control.
- Smart Stream Caching: In-memory caching and predictive preloading of adjacent tracks for instant, interruption-free track switching.
- Google Account Integration: Seamless 1-click browser sign-in syncing account name and avatar picture securely.
- Responsive Player Controls: Microsecond-accurate seek slider, persistent volume controls, and deterministic play/pause state synchronization.
| Component | Technology | Description |
|---|---|---|
| Runtime | .NET 10 | High-performance C# runtime |
| GUI Framework | Avalonia UI | Cross-platform XAML GUI |
| Audio Engine | LibVLCSharp | Native LibVLC C binding for robust audio decoding |
| Stream Extraction | YoutubeExplode | YouTube stream resolution and metadata extraction |
| Image Loading | AsyncImageLoader.Avalonia | High-performance async thumbnail rendering |
You do not need .NET installed to run AuraStream. Download the latest self-contained standalone build from GitHub Releases:
-
System Prerequisite (LibVLC):
- Arch / CachyOS / Manjaro:
sudo pacman -S vlc - Ubuntu / Debian:
sudo apt install vlc libvlc-dev - Fedora:
sudo dnf install vlc vlc-devel
- Arch / CachyOS / Manjaro:
-
Download & Run:
# Extract the downloaded archive tar -xzf AuraStream-v1.2.0-linux-x64.tar.gz cd AuraStream-v1.2.0-linux-x64 # Launch AuraStream ./AuraStream
If you prefer compiling directly from source:
-
Prerequisites:
- Install .NET 10 SDK
- Install
libvlc(see above)
-
Clone & Run:
git clone https://github.com/cyberps96/AuraStream.git cd AuraStream dotnet build dotnet run
AuraStream/
├── Models/
│ ├── PlaylistModel.cs # Playlist data contracts
│ └── TrackItem.cs # Track metadata & playback state
├── Services/
│ ├── AudioEngine.cs # LibVLC audio playback & event engine
│ ├── AuthManager.cs # Google profile & session management
│ ├── BrowserAuthService.cs # Chromium CDP 1-click Google auth
│ ├── PlaybackCoordinator.cs # Priority queue, shuffle, & 3-state repeat engine
│ ├── PlaylistManager.cs # Persistent local playlist storage
│ ├── StorageService.cs # Config directory & legacy migration service
│ └── StreamCacheService.cs # YouTube audio stream resolver & cache
├── Views/
│ ├── CreatePlaylistDialog.* # Playlist creation dialog
│ └── LoginWindow.* # Google sign-in modal window
├── assets/
│ ├── icon.png # Official AuraStream high-res icon
│ └── preview.png # UI preview screenshot
├── App.axaml # Application styling & FluentTheme
├── CHANGELOG.md # Release history & roadmap tracking
├── MainWindow.axaml # Main desktop player view
├── Program.cs # Application entry point
└── sopfiy.csproj # Project dependencies & build config
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
This project is licensed under the MIT License - see the LICENSE file for details.
