Skip to content

A modern, cross-platform music downloader built with Avalonia UI that extracts audio from YouTube videos and searches, with intelligent metadata detection and album artwork embedding.

License

Notifications You must be signed in to change notification settings

CyberNilsen/Symphex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🎡 Symphex - Free YouTube Music Downloader | Cross-Platform MP3 Converter

Open-source YouTube music downloader - Extract high-quality MP3 audio from YouTube videos with automatic metadata detection, album artwork embedding, and cross-platform support for Windows, macOS, and Linux.

Symphex

GitHub release GitHub stars License Platform Website

🎯 Why Choose Symphex?

βœ… 100% Free & Open Source - No ads, no premium features, no hidden costs
βœ… Privacy First - No data collection, works completely offline
βœ… High Quality Audio - Download in best available quality (up to 320kbps)
βœ… Smart Metadata - Automatically detects artist, title, and album artwork
βœ… Cross-Platform - Native apps for Windows, macOS, and Linux
βœ… No Installation Hassles - Portable dependencies, works out of the box

✨ Features

🎡 Audio Extraction

  • Smart Audio Extraction: Download high-quality MP3 audio from YouTube URLs or search terms
  • Format: MP3
  • Batch Downloads: Queue multiple songs for bulk downloading
  • Search Integration: Find music by artist, song title, or keywords

🎨 Metadata & Artwork

  • Intelligent Metadata Detection: Automatically parses artist and song titles from video titles
  • Album Artwork Search: Finds and embeds authentic album artwork from iTunes and Deezer databases
  • ID3 Tag Support: Proper metadata embedding with FFmpeg for universal compatibility
  • Smart Fallbacks: Uses video thumbnails when album art isn't found

πŸ–₯️ User Experience

  • Modern Interface: Clean, intuitive UI built with Avalonia framework
  • Real-time Progress: Live download status with detailed logging
  • Organized Downloads: Automatic file organization in your Music folder
  • Portable Mode: All dependencies bundled, no system-wide installations required

πŸ”§ Technical Features

  • Cross-Platform: Works on Windows 10/11, macOS (Intel/Apple Silicon), and Linux
  • Automatic Dependencies: One-click download of yt-dlp and FFmpeg
  • Smart Naming: Clean, organized filenames (e.g., "Song Title - Artist Name.mp3")
  • Error Handling: Comprehensive error reporting and troubleshooting guides

πŸš€ Quick Start Guide

Installation

  1. Download the latest release for your platform from Releases
  2. Extract the archive to your preferred location
  3. Launch Symphex executable
  4. First Run: App will offer to download required dependencies (yt-dlp, FFmpeg)

Basic Usage

  1. Paste YouTube URL or enter search terms (e.g., "Bohemian Rhapsody Queen")
  2. Preview metadata - See detected artist, title, and album art
  3. Click Download - Files save to ~/Music/Symphex Downloads/
  4. Enjoy - Your music is ready with proper metadata and artwork!

πŸ“‹ System Requirements

Minimum Requirements

  • OS: Windows 10, macOS 10.15, or Linux (Ubuntu 18.04+)
  • RAM: 512MB available memory
  • Storage: 100MB for app + space for downloads
  • Internet: Required for downloading and metadata lookup

Automatic Dependencies (Handled by Symphex)

  • yt-dlp: Latest version downloaded automatically
  • FFmpeg: Static builds downloaded for your platform
  • Portable: All tools stored in app folder, no system pollution

Manual Installation (Advanced Users)

If you prefer system-wide installations:

Windows:

# Using Chocolatey
choco install yt-dlp ffmpeg

# Or download manually to Symphex/tools/ folder

macOS:

# Using Homebrew
brew install yt-dlp ffmpeg

Linux:

# Ubuntu/Debian
sudo apt install yt-dlp ffmpeg

# Fedora/CentOS
sudo dnf install yt-dlp ffmpeg

# Arch Linux
sudo pacman -S yt-dlp ffmpeg

🎯 Use Cases

For Music Lovers

  • Build your personal music library from YouTube
  • Get high-quality audio with proper metadata
  • Organize music with automatic album artwork
  • Create offline playlists from your favorite videos

For Content Creators

  • Extract audio for video editing projects
  • Download royalty-free music and audio
  • Archive audio content for offline editing
  • Convert video content to podcast format

For Developers

  • Reference implementation for Avalonia UI applications
  • Example of cross-platform .NET desktop development
  • Integration patterns for yt-dlp and FFmpeg
  • Modern MVVM architecture with CommunityToolkit

πŸ“ File Structure & Organization

Symphex/
β”œβ”€β”€ Symphex.exe (or app equivalent)    # Main application
β”œβ”€β”€ tools/                             # Portable dependencies
β”‚   β”œβ”€β”€ yt-dlp(.exe)                  # YouTube downloader
β”‚   └── ffmpeg(.exe)                  # Media processor
β”œβ”€β”€ logs/                             # Application logs
└── config/                           # User preferences

Downloads saved to:
~/Music/Symphex Downloads/            # Clean, organized music files
β”œβ”€β”€ Artist Name - Song Title.mp3
β”œβ”€β”€ Another Artist - Another Song.mp3
└── ...

πŸ”§ Platform-Specific Features

Windows

  • Native Integration: Right-click context menus (planned)
  • File Association: Set as default for YouTube links (planned)
  • Automatic Updates: Built-in updater functionality
  • System Tray: Minimize to tray for background downloads

macOS

  • Apple Silicon: Native ARM64 support for M1/M2 Macs
  • Finder Integration: Quick access to downloads folder
  • Notification Center: Download completion notifications
  • Homebrew: Optional system dependency management

Linux

  • Package Managers: Integration with apt, dnf, pacman
  • Desktop Files: Proper .desktop file installation
  • Themes: Respects system dark/light theme preferences
  • Wayland/X11: Compatible with both display servers

❓ Troubleshooting & FAQ

Common Issues

"yt-dlp not found" Error

  • Solution: Click "Get yt-dlp" button in the app
  • Alternative: Install manually using your package manager
  • Check: Ensure internet connection for automatic download

"FFmpeg not found" Error

  • Solution: Click "Get FFmpeg" button in the app
  • Alternative: Install system-wide via package manager
  • Verify: Check tools/ folder for ffmpeg executable

Downloads Fail or Time Out

  • Check URL validity - ensure the video exists and isn't private
  • Verify internet connection stability
  • Try search terms instead of direct URLs for better results
  • Age-restricted content may require additional authentication

No Album Artwork Found

  • Normal behavior for obscure or independent tracks
  • Symphex searches iTunes and Deezer databases
  • Video thumbnails used as intelligent fallbacks
  • Manual artwork can be added after download

Poor Audio Quality

  • Check source video quality - Symphex can't enhance beyond original
  • Verify yt-dlp is latest version
  • Some videos only available in lower quality formats

Getting Help

  • Console Output: Check detailed logs in the app's console
  • Copy Logs: Use "Copy Output" button when reporting issues
  • GitHub Issues: Report bugs with full error messages
  • Discussions: Ask questions in GitHub Discussions tab

πŸ—οΈ Building from Source

Prerequisites

  • .NET 8.0 SDK - Download from Microsoft
  • Git - For cloning the repository
  • IDE (Optional) - Visual Studio, VS Code, or JetBrains Rider

Build Steps

# Clone repository
git clone https://github.com/CyberNilsen/Symphex.git
cd Symphex

# Restore NuGet packages
dotnet restore

# Build the application
dotnet build --configuration Release

# Run locally
dotnet run

# Create platform-specific builds
dotnet publish -c Release -r win-x64 --self-contained
dotnet publish -c Release -r osx-x64 --self-contained  
dotnet publish -c Release -r linux-x64 --self-contained

Development Dependencies

  • Avalonia UI 11.x - Cross-platform UI framework
  • CommunityToolkit.Mvvm - MVVM helpers and source generators
  • CliWrap - Command-line interface wrapper
  • System.Text.Json - JSON serialization for metadata APIs

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🏷️ Keywords & Tags

Primary: YouTube downloader, MP3 converter, music downloader, free audio extractor, yt-dlp GUI, cross-platform music app

Secondary: FFmpeg frontend, open source downloader, portable music downloader, YouTube to MP3, album art downloader, metadata extraction, Avalonia UI, .NET desktop app

Long-tail: best free YouTube music downloader 2025, open source music downloader Windows Mac Linux, YouTube MP3 downloader with album art, portable music downloader no installation required

πŸ“œ License & Legal

MIT License

This project is licensed under the MIT License - see the LICENSE file for complete details.

Legal Notice & Disclaimer

Important: This tool is designed for personal use only. Users are solely responsible for:

  • Complying with YouTube's Terms of Service
  • Respecting copyright laws and intellectual property rights
  • Only downloading content they have legal rights to access
  • Understanding local laws regarding media downloading

Symphex developers assume no responsibility for misuse of this software.

Privacy & Data Collection

  • No Telemetry: Symphex collects no usage data or personal information
  • No Analytics: No tracking, no user behavior monitoring
  • Offline Capable: Works completely offline after dependency setup
  • Local Storage: All data stays on your device

πŸ™ Acknowledgments & Credits

Core Technologies

  • yt-dlp - Powerful, feature-rich YouTube downloader
  • FFmpeg - Complete multimedia processing framework
  • Avalonia UI - Cross-platform .NET UI framework
  • .NET - Microsoft's cross-platform development framework

APIs & Services

  • iTunes Search API - Album artwork and metadata lookup
  • Deezer API - Additional album artwork sources
  • YouTube - Video platform (please respect their ToS)

Community

  • Special thanks to all contributors and users who report issues
  • Open source community for inspiration and code examples
  • Beta testers who helped identify and fix bugs

πŸ”— Links & Resources


Made with ❀️ by the open source community | Star ⭐ if you find this useful!