A desktop application for searching YouTube videos and downloading them as MP3 files.
Built with Rust and the Iced GUI framework.
- 🔍 Search YouTube with natural language queries or paste URLs/playlists
- 📊 Smart ranking of results (official audio versions prioritized)
- 💾 Download videos as MP3 files
- 📱 One-click transfer to iPhone (AirDrop on macOS, Wi-Fi on Linux)
- 🎨 Clean, native desktop interface
- 📝 Customizable filenames before download
- 📋 View detailed download logs for troubleshooting
cargo install nightingaleThen run:
nightingalegit clone https://github.com/ehamiter/nightingale.git
cd nightingale
cargo build --release
./target/release/nightingale- Launch Nightingale
- Click the ⚙️ settings button
- Set your preferred download directory
- If yt-dlp is not installed, click "Install yt-dlp" (or install manually with
brew install yt-dlp)
- Search: Enter an artist/song name or paste a YouTube URL/playlist
- Preview: Results are ranked by relevance (official audio prioritized)
- Download: Click "Download MP3" and customize the filename
- Transfer to iPhone (optional):
- macOS: Click "Send via AirDrop" for instant wireless transfer
- Linux: Click "Share via Wi-Fi" and scan the QR code with your iPhone camera
- Troubleshoot: View logs if downloads fail
After downloading an MP3, a green share button appears for that track:
On macOS:
- Click "Send via AirDrop"
- The macOS share sheet opens automatically
- Select your iPhone from the AirDrop options
- Accept on your iPhone
On Linux:
- Click "Share via Wi-Fi"
- A QR code appears on screen
- Scan the QR code with your iPhone camera
- Tap the notification to download the file
Note: Files transferred this way go to your iPhone's Downloads folder. They won't automatically appear in the Music app. Use VLC or the Files app for playback, or manually import them to Music.
- yt-dlp: Required for downloading videos
- macOS:
brew install yt-dlpor use the built-in installer - Linux:
pip install yt-dlpor use the built-in installer
- macOS:
- ffmpeg: Required for audio conversion
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Debian/Ubuntu) orsudo dnf install ffmpeg(Fedora)
- macOS:
Create a double-clickable .app:
cargo build --release
./build_app.sh
open target/release/Nightingale.appInstall to Applications:
cp -r target/release/Nightingale.app /Applications/Install as a desktop application (appears in app launcher):
cargo build --release
./build_linux.shThe app will be available in your system's application menu.
To add your own icon:
./build_icon.sh path/to/your/icon.png
./build_app.sh # macOS
./build_linux.sh # LinuxYour icon should be a square PNG (512x512 or 1024x1024 recommended).
MIT License - see LICENSE for details
